{"id":16101479,"url":"https://github.com/mendhak/eleventy-satisfactory","last_synced_at":"2025-03-16T08:32:29.277Z","repository":{"id":65286132,"uuid":"586498841","full_name":"mendhak/eleventy-satisfactory","owner":"mendhak","description":"Content-first eleventy blog template with basic layout and  various features","archived":false,"fork":false,"pushed_at":"2025-02-24T02:03:32.000Z","size":4329,"stargazers_count":23,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-27T05:55:57.562Z","etag":null,"topics":["eleventy","eleventy-sample","eleventy-template","eleventy-theme"],"latest_commit_sha":null,"homepage":"https://code.mendhak.com/eleventy-satisfactory/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mendhak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-08T11:16:04.000Z","updated_at":"2025-02-10T21:02:58.000Z","dependencies_parsed_at":"2025-01-19T22:27:26.876Z","dependency_job_id":"18d03448-8e17-478c-b34e-beb1356d67a0","html_url":"https://github.com/mendhak/eleventy-satisfactory","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":"lkhrs/eleventy-simple","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Feleventy-satisfactory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Feleventy-satisfactory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Feleventy-satisfactory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Feleventy-satisfactory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mendhak","download_url":"https://codeload.github.com/mendhak/eleventy-satisfactory/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243806070,"owners_count":20350775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["eleventy","eleventy-sample","eleventy-template","eleventy-theme"],"created_at":"2024-10-09T18:50:03.292Z","updated_at":"2025-03-16T08:32:28.618Z","avatar_url":"https://github.com/mendhak.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eleventy Satisfactory Blog Theme \n[![Build and Publish Github Pages](https://github.com/mendhak/eleventy-satisfactory/actions/workflows/staticsite.yml/badge.svg?branch=main)](https://github.com/mendhak/eleventy-satisfactory/actions/workflows/staticsite.yml) [![Playwright Tests](https://github.com/mendhak/eleventy-satisfactory/actions/workflows/playwright.yml/badge.svg)](https://github.com/mendhak/eleventy-satisfactory/actions/workflows/playwright.yml)\n\nAn Eleventy blog theme focused on content, and various convenience features. [Demo](https://code.mendhak.com/eleventy-satisfactory/). \n\n\n|![screenshot](./screenshots/01.png)|![screenshot](./screenshots/02.png)|\n|:--|:--|\n\nMakes use of SimpleCSS, with inspiration from Hylia and minimal-mistakes. I developed it for [my blog](https://code.mendhak.com).\n\n**Features**\n\n* My focus is mainly on content, and less on everything else (author, social, tags, etc).\n* Images using regular Markdown syntax are displayed with lightbox\n* Image gallery with captions\n* Link to a post's .md file is converted to final URL\n* Links and images paths automatically adjusted to match blog prefix\n* Main CSS is inline in the page\n* Automatic light and dark mode\n* Simplified post layout with date at bottom\n* Simplified home page layout\n* Adjust number of post listings\n* Post excerpts below post listings\n* Links, year, copyright, and photos in footer\n* Opengraph and JSON+LD metadata for posts including preview image\n* Code blocks rendered using Prism syntax highlighting\n* Notice boxes such as info, warning, success\n* Seamless gist integration as code blocks\n* Github repo cards generator\n* No tags listings, no site navigation, no social, no landing page, no analytics\n* Draft posts appear locally\n* UI testing (for this repo)\n* Github Actions for publishing\n* Extra wide images, videos and code blocks to make it extra-wide and stand out from the text\n* Full width images and videos\n* Robots.txt, .well-known folder\n* Favicon\n\n\n## How to use this blog theme\n\nGenerate a repo from this public template, or fork it.   \nDelete the `tests/` folder and `.github/workflows/playwright.yml`    \n\n### Configuration\n\n- [Set your values in the metadata.json file](https://code.mendhak.com/eleventy-satisfactory/edit-the-metadata/)\n- [Set the footer links and images](https://code.mendhak.com/eleventy-satisfactory/set-footer-links/)\n\n\n### Write a post\n\nThe posts go in the `posts` folder.  Drafts can go in the `drafts` folder and will only appear when running locally (`npm run start` or `docker compose up`) but not when building (`npm run build`). \n\n- [Set the date of a post](https://code.mendhak.com/eleventy-satisfactory/set-date-of-post/)\n- [Add an image](https://code.mendhak.com/eleventy-satisfactory/post-with-an-image/) \n- [Add an image gallery](https://code.mendhak.com/eleventy-satisfactory/post-with-a-gallery/)\n- [Link to another post or URL](https://code.mendhak.com/eleventy-satisfactory/posting-links/)\n- [Add a notice panel with info, warning, success, danger](https://code.mendhak.com/eleventy-satisfactory/post-notice/)\n- [Add a code block with syntax highlighting](https://code.mendhak.com/eleventy-satisfactory/post-with-code/)\n- [Add a Github Gist](https://code.mendhak.com/eleventy-satisfactory/post-with-github-gists/)\n- [Add a Github Repo Card](https://code.mendhak.com/eleventy-satisfactory/github-repo-card/)   \n- [Add videos and audio](https://code.mendhak.com/eleventy-satisfactory/post-with-iframes-videos-third-party/)\n- [Controlling extra-wide images, videos, code blocks](https://code.mendhak.com/eleventy-satisfactory/extra-wide-full-width-images-videos/)\n- [Set Opengraph preview image and metadata](https://code.mendhak.com/eleventy-satisfactory/opengraph-preview-data/)\n\n\nPublish it. I've included a [sample Github Action](.github/workflows/staticsite.yml), use or modify as you need.  \n\n\n## How to run the blog locally\n\n**Running it with Docker**\n\nThis will do the npm install and npm start together. \n\n```\ndocker compose up\n```\n\nThen browse to http://localhost:8080/\n\n\n**Running it with Node**\n\nRequires Node 20. First get all the dependencies. \n\n```\nnpm install\n```\n\nTo serve the site, and watch for changes: \n\n```\nnpm run start\n```\n\nThen browse to http://localhost:8080/\n\n\nTo just build the site once (normally used for Github Actions): \n\n```\nnpm install\nnpm run build\n```\n\n**Running Tests**\n\nMake sure Firefox is installed. `sudo apt install firefox`\n\nRun Playwright tests, this should automatically do an npm start first. \n\n```\nnpm test\n```\n\n## Updating\n\nOnce you've forked this repo, copying new features and updates from this repo to yours shouldn't be done wholesale. Instead, a diff tool like meld or Beyond Compare is recommended. \n\nFor commandline, here's a useful rsync command which copies most files and excludes some unnecessary ones.  At least it's a starting point:   \n\n```\ncd your-blog-repo  \nrsync -av --progress ../eleventy-satisfactory/ ./ \\\n--exclude '.git' \\\n--exclude 'tests'  \\\n--exclude '_site'  \\\n--exclude 'node_modules'  \\\n--exclude 'posts' --include 'posts/posts.json'  \\\n--exclude 'drafts' --include 'drafts.11tydata.js'  \\\n--exclude 'playwright*'  \\\n--exclude 'test*'  \\\n--exclude 'bottomlinks.json' \\\n--exclude 'screenshots'\n```\n\nAfter the rsync, it's still worth doing a git diff to see what's changed, or if there are any conflicts.  \n\n\n## Notes\n\n**TODO/Investigate**\n\n- Can the cssmin shortcode adjust the inline url() paths? That could allow putting the font lines into its own CSS file. \n- Can the Github CSS be included just once, instead of once per card? This could be done using WebC, have to wrap my head around it. \n- Should the gallery behave the same for gallery + markdown and gallery + shortcode? \n- There isn't a _clean_ way to give users the ability to [toggle light and dark mode](https://github.com/mendhak/eleventy-satisfactory/issues/2)\n\n\n**References**\n\n- [Eleventy](https://www.11ty.dev/docs/)\n- [Simple.css](https://github.com/kevquirk/simple.css/wiki)\n- [Favicon created by Uniconlabs](https://www.flaticon.com/free-icons/website)\n- [Article icon by Freepik](https://www.flaticon.com/free-icons/blog)\n- [Paired shortcode](https://www.markllobrera.com/posts/eleventy-paired-shortcodes-and-markdown-rendering/)\n- [Shortcode with image gallery](https://www.markllobrera.com/posts/eleventy-building-image-gallery-photoswipe/)\n- [Customizing markdown-it](https://publishing-project.rivendellweb.net/customizing-markdown-it/)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmendhak%2Feleventy-satisfactory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmendhak%2Feleventy-satisfactory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmendhak%2Feleventy-satisfactory/lists"}