bfncs / linopress

⚛️ Static site generator with GUI based on React components and JSON Schema

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linopress

Linopress is a static site generator based on React components and JSON Schema with a local GUI to make editing easy.

⚠ Use only with a truckload of salt, this is just an exploration of the concepts and utterly rough around the edges.

Start a new project

To get started quickly, copy the files in /example to a new directory and install dependencies using npm install.

Edit

To start editing start up editing mode with npm start. This will fire up the frontend at localhost:3000 in your browser. You can now start using the editing interface at localhost:3000/editor.

All content changes will be persisted to your filesystem in content/. If you want to edit react components or add new ones, do this in your project folder in src/components/ and change the JSON schema for the editor in src/api/schema.json if needed.

Build

Run npm run build to build a statically deployable rendering of your website into build/.

TODO

  • Make ports configurable
  • Editor can revert changes (using a temporary file that has to be explicitly commited)
  • I18N of content
  • Frontend uses websockets to listen for change messages instead of polling
  • Drop jdorn/json-editor in favor of mozilla-services/react-jsonschema-form once #52 is resolved

About

⚛️ Static site generator with GUI based on React components and JSON Schema

License:GNU Affero General Public License v3.0


Languages

Language:JavaScript 98.3%Language:HTML 1.4%Language:CSS 0.3%