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.
Watch and Read more about HAX here:
- Youtube channel - https://www.youtube.com/@haxtheweb
- HAXCellence https://oer.hax.psu.edu/bto108/sites/haxcellence/what-is-hax
- Discord Channel - https://bit.ly/hax-discord
- Unified issue queue - https://github.com/elmsln/issues/issues
- Using Merlin directly in any HAX spaces and type "Issue" to jump start a report!
This wrapper on 11ty provides conventions to simplify how you build and deploy HAXcms in a static form.
curl -fsSL https://raw.githubusercontent.com/haxtheweb/hax11ty/master/hax11tyme.sh -o hax11tyme.sh && sh hax11tyme.sh
- Clone the repo / use it as a template
npm install
npm start
to work locally and view changes
There are already github actions setup that will work out of the box after you change these two settings:
- Use this repo as a template to make your own
- Edit
src/settings.js
and ensure the line that hasvar gitOrg
is set to your organization (gitRepo as well if you change the repo name) - Then make sure you enable actions by clicking the Actions tab and telling it to run By changing these settings up front all changes to the repo should automatically build out your github pages site!
All files that you'll want to modify are found in the src/
directory
- Add pages into the
src/content/
directory,.md
with greymatter allows you to set title of the page and order src/files/
is where you can place files you manually want to include in your site, referenced within contentsrc/styles.css
has some default settings and styles which you can modifysrc/settings.js
- modify theme used, additional settings
Publishing with hax11ty is a snap and we have multiple methods of publishing we support. As long as you stick to just modifying the files mentioned
npm run build
will build it into thedist
directory- Or, if you use github actions, you should be able to just change files
npm run build:cdn
will publish your site as if it is leveraging our CDN network- This will default to cdn.webcomponents.psu.edu but can be set to point to other sources in
src/settings.js
npm run local-build
will build it into the dist
directory, tweaking paths to be more compatible with HAXcms local and shared hosting solutions
You can find all 11ty configuration and settings inside the app/
folder. Only modify these things if you have experience with 11ty as you'll be forking from the suported build workflows.