elmsln / haxcms
Headless CMS for managing and publishing hybrid static, web component driven sites.
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 125
Watchers: 22
Forks: 51
Open Issues: 7
Requires
- php: ^7.1
- gumlet/php-image-resize: ^1.9
- guzzlehttp/guzzle: ^6.3
- icamys/php-sitemap-generator: ^1.0
- symfony/filesystem: ^4.2
- twig/twig: ^2.0
README
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
- https://reclaimhosting.com/ - 1 click install via cPanel (low cost, quick and easy to setup)
- https://reclaim.cloud/ - 1 click install for a high scale / dedicated resources
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
, andxml
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
- There are full installation instructions available at https://haxtheweb.org/installation which details many different install routines.
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) orfin init
(for docksal) orlando start && lando magic
(for lando) orvagrant 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
- Download MAMP
- Download this repo https://github.com/haxtheweb/haxcms/archive/master.zip
- Place HAXcms files in the htdocs folder of MAMP.
- Turn MAMP on and click "My website"
- Copy the password it gives you, click to access HAX and then HAX YOUR WEB!
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