Skip to content

atomicul/social-stack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Jan 15, 2025
7b392cd · Jan 15, 2025

History

9 Commits
Jan 14, 2025
Jan 14, 2025
Jan 14, 2025
Jan 14, 2025
Jan 15, 2025
Jan 14, 2025
Jan 13, 2025
Jan 15, 2025
Jan 14, 2025
Jan 14, 2025
Jan 14, 2025
Jan 14, 2025

Repository files navigation

Social Stack

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

Index

Configuring

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.

Building

GitHub Actions

You can have GitHub build the project for you, publish Docker images, and/or deploy the project to GitHub Pages.

Instructions below:

  1. Fork the repository
  2. Enable GitHub Actions
  3. Enable deployment to GitHub Pages from Actions (if needed)
  4. Make configuring changes as needed
  5. 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.

Docker

Instructions below:

  1. Make configuring changes as needed
  2. Build the Docker container: docker build -t <TAG> .
  3. Run the container: docker run -it -p '<PORT>:80' <TAG>

Build HTML in a Linux shell

Instructions below:

  1. Make configuring changes as needed
  2. Install JavaScript build dependencies: yarn (requires NodeJS and Yarn)
  3. Install yq the YAML parser
  4. Run the build script: bin/compile-html

This creates a new directory, build, containing the HTML, CSS, and asset files.