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
EOFThis 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.