Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    pub-serverpublic

    pub-server

    pub-server, or pub for short is an HTML generator+editor entirely written in javascript.

    The following use-cases are supported

    • Command-line tool for generating static websites
    • Web server for previewing generated HTML locally
    • Web server deployed on a PaaS like Heroku

    For users with node.js, pub-server provides a simple command-line utility which can render an HTML website from markdown in any directory. The generated output uses npm-installable themes and is fully customizable.

    The generator+editor can also run in-browser, allowing non-technical users to edit and instantly preview the generated HTML, without first installing pub-server themselves.

    To see this in action, check out the docs at http://jldec.github.io/pub-doc/. The editor appears when you click on the edit button at the top right. Feel free to play around - in this instance, your changes will not be recorded.

    Other examples include a presentation theme, a flexbox design, and a blog

    roadmap

    pub-server is usable today by anyone comfortable using GitHub and command line tools, to publish high-quality HTML content with custom designs.

    near-term backlog

    • Improved documentation (better doc published 2015-10-26)
    • Fix editor to work on mobile devices
    • Self-service GitHub Pages workflow with save and re-publish
    • Basic form processing api
    • Dropbox interface for images
    • Single-page website theme
    • More complete blog theme

    medium-term backlog

    • Single-file pub format with integrated pub-config
    • Photo-centric consumer publishing workflow
    • Private publishing
    • Atom editor plugin for designers
    • Windows support
    • npm v3 support
    • HTTPS hosting

    longer-term backlog

    • WYSIWYG editor based on Prosemirror
    • v2 architecture: React/Redux + Webpack
    • Modern designs for presentations with vector graphics and data-integration
    • Next-gen interactive designs, games, animations
    • Online editing of javascript, html, css/less

    installation

    using pub-server requires node.js or io.js.

    npm install -g pub-server

    OSX and Linux are working, Windows support is coming - PRs welcome.

    usage

    • pub (with no options) serves *.md in the current directory or looks for a pub-config.js. The default theme is useful for previewing GitHub README.md files like this one. The server will watch for changes and update http://localhost:3001/ whenever markdown files or CSS or other static files are saved.

    • pub -O generates .html and other static files (including generator + editor) to ./out.

    • pub -S <dir> serves static files from any directory. It will mimic the behavior of GitHub Pages, looking for index.html files in folders, and redirecting from /folder-name to /folder-name/

    • pub -h shows the usage info below:

    pub-server v1.9.21
    
    usage: pub [opts] [dir]
    opts:
      -h, --help               output usage information
      -p, --port <port>        server port [3001]
      -t, --theme <name>       theme module-name or dir, repeatable
      -o, --output-path <dir>  output dir [./out]
      -O, --output-only        output html, scripts, static files and exit
      -G, --html-only          output generated html files and exit
      -r, --root <prefix>      generate /prefix urls, "." means path relative
      -s, --static <dir>       static dir, repeatable, supports <dir>,<route>
      -S, --static-only <dir>  serve only static files from <dir>
      -C, --config             show config and exit
      -I, --ignore-config      ignore pub-config file
      -P, --pages              show pages and templates and exit
      -w, --watch-pkgs         also watch inside packages
      -W, --no-watch           disable watcher entirely
      -K, --no-sockets         no websockets
      -E, --no-editor          website only, no editor
      -m, --minify             minify scripts
      -d, --dbg                enable scriptmaps and client-side debug traces
      -D, --debug              node --debug (server and client-side)
      -B, --debug-brk          node --debug-brk (server and client-side)
    

    credits

    Major dependencies include:

    npm ls will list them all.

    install

    npm i pub-server

    Downloadsweekly downloads

    231

    version

    1.10.2

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar