elmsln/haxcms

Headless CMS for managing and publishing hybrid static, web component driven sites.

0.12.3 2019-10-03 14:31 UTC

This package is auto-updated.

Last update: 2024-10-18 21:14:06 UTC


README

Deploy #HAXTheWeb

HAX

The authoring experience of HAX and the ability to make fast, static file backed websites rapidly. Get all the details you want on HAXTheWeb.org! HAX seeks to be the smallest possible back-end CMS to make HAX work and be able to build websites with it. Leveraging JSON Outline Schema, HAX is able to author multiple pages, which it then writes onto the file system. This way a slim server layer is just for basic authentication, knowing how to save files, and placing them in version control.

Features

  • All the UX of HAX brought to a small CMS
  • Incredibly simple, readable file structure of flat HTML files and lightning fast, high scale micro-sites
  • cdn friendly configuration
  • 0 config, 100% offline capable, PWA generation
  • clean, simple theme layer abstracted from content
  • No database (simple .json files help manage relationships, all pages html+webcomponents)
  • Files you can reach out and touch, fork, and theme with ease!
  • Support for multiple sites
  • automatic git repo creation and management (never touch commandline again, but dive in if you really needed)
  • Built in gh-pages publishing
  • Support for PHP and Express based backends

Hosted solutions

Reclaim Hosting / Cloud

HAXiam

  • HAX can also be installed in a "HAXiam" configuration where institutional users automatically get their own HAX spaces to work in by logging in.
  • Contact via issue queue if interested in this solution and collaborating to improve it's deployment methodology

Requirements (PHP)

  • Supports PHP 7.4+
  • Requires zip, gd, and xml modules be installed
  • Apache 2.4

Requirements (node, still in development)

cd system/backend/nodejs
yarn run dev

Quick Install

$ curl -fsSL https://raw.githubusercontent.com/haxtheweb/haxcms/master/scripts/haxcmsme.sh -o haxcmsme.sh && sh haxcmsme.sh

Installation Guides

Containers

  • Clone this repo: git clone https://github.com/haxtheweb/haxcms.git
  • Install a server container (recommended). Here are some options (We support 'em all!):
  • Open a terminal window, go to the directory where you downloaded your container app and type ddev start (for ddev) or fin init (for docksal) or lando start && lando magic (for lando) or vagrant up (for vagrant).
  • Go to the link any of them give you in a browser.
  • Username/password is admin/admin to get building out static sites locally that you can push up anywhere!
  • Click the icon in the top-right and you're off and running!

MAMP

Scope

Generate .html files which have only "content" in them. Meaning the contents of the page in question. A simple method of adding new pages and managing the organization of those pages into a simple hierarchy (outline). Support for multiple mini web sites so that you can write a lot about different topics. HAXcms is only intended to be a micro-site generator and play nicely with the rest of the HAX ecosystem without needing a monster CMS in order to utilize it.

Usage

Go to yoursite.com and login with the username and password you entered in the _config/config.php by clicking on the login icon

Windows

Cygwin command line is lightly tested, but slower than true Bash environment.

Windows Install

To properly configure git endlines for Windows, run this configuration

$ git config --global core.autocrlf true

Fedora (31/32) Troubleshooting

Newer versions of Fedora use cgroupsv2 which is currently not supported by Docker. To avoid a cgroup error before running HAX locally (e.g. before using "ddev start" or "fin init") run the following commands.

sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

License

Apache 2.0