Blazingly fast open-source social links index page
- ⚡ Builds into a static HTML page
- 🚫 Very few dependencies for building; relies heavily on core GNU/Linux utils
- ☁️ Can be built, dockerized, and deployed to GitHub Pages with CI/CD Actions, just fork the repo and modify the configs
- ⚙️ Easily configurable; a single YAML file holds all build options
Tweak build-options.yml
to customize your page; this example configuration is
available here.
Assets must be stored in src/assets
, and they should be referenced either with
an absolute path, i.e., /<ASSET>
, or with a relative path, i.e., ./<ASSET>
, both
of which refer to the file src/assets/<ASSET>
.
The meta-description
property is the one you would set with a <meta>
tag in
the head section of the HTML document. For better context of the properties, check
out these files: src/*.html.template
.
You should feel free to modify the templates, but be aware that some properties
are expected to be part of an attribute string (such as profile-picture
), others
are meant to be text inside of an HTML element (such as owner-name
), and some
replacements are meant to be substituted as-is (links
is replaced that way).
Because of this reason, not all properties are sanitized the same way. For a better
understanding of how the build system works, check out bin/compile-html
.
Themes can be changed in tailwind.config.js
. Refer to
the daisyUI documentation
for details. The example assets are colored specifically for
the 'aqua' theme.
You can have GitHub build the project for you, publish Docker images, and/or deploy the project to GitHub Pages.
Instructions below:
- Fork the repository
- Enable GitHub Actions
- Enable deployment to GitHub Pages from Actions (if needed)
- Make configuring changes as needed
- Push the changes to main. The commit message must include a semver string. You must also update the CHANGELOG. For example, run:
VERSION='v69.0.0' MESSAGE="Configure Social Stack" \
bash << 'EOF'
echo "# $VERSION" $'\n' "* $MESSAGE" >> CHANGELOG.md && \
git add . && \
git commit -m "$MESSAGE $VERSION" && \
git push
EOF
This will trigger the workflows in .github/workflows
, and GitHub will release
and deploy the project for you.
Instructions below:
- Make configuring changes as needed
- Build the Docker container:
docker build -t <TAG> .
- Run the container:
docker run -it -p '<PORT>:80' <TAG>
Instructions below:
- Make configuring changes as needed
- Install JavaScript build dependencies:
yarn
(requires NodeJS and Yarn) - Install yq the YAML parser
- Run the build script:
bin/compile-html
This creates a new directory, build
, containing the HTML, CSS, and asset files.