The one-page-flat-file CMS
JavaScript Python HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
opgen
pages
static
README.md
generator.py
index.mustache

README.md

One-Page Generator

OPgen is a small command line tool that can generate one-page websites (flat file). Organize your pages in separate files and OPgen will collect their content and insert them in your template (index.mustache).

Example:
http://formvalidator.net/

Setup

  1. Clone this project where suiteable on your server.
  2. Run $ pip install pystache.
  3. That's it! Add your own pages to the pages directory and generate the website by calling $ python generator.py in your console. Use the flag -w if you want OPgen to automatically generate the website when you make an edit to your project.

CLI

Usage: python generator.py [<flags>]

Options:
  -h, --help           show this help message and exit
  --template=TEMPLATE  File to use as template [index.mustache]
  --file=FILE          Name of the generated file [index.html]
  --pages=PAGES        Directory where the pages are located [pages]
  -w, --watch          Start monitoring file changes and generate the one-page
                       html file on the fly

jQuery Events

Use the event pageChange or beforePageChange to detect when the visitor has navigated to a new page

$(window).on('pageChange', function(evt, page, args, section) {
    // new page is entered
});

The website will change to a "mobile" state when the window width is lower than 400px. Use the event viewModeChange to detect when this happens.

$(window).on('viewModeChange', function(evt, newMode) {
  // new mode will be either 'mobile' or 'desktop'
});

Set the js variable preventViewModeChange to false if you want to prevent the view-mode change entirely.