{"id":43200265,"url":"https://github.com/exaroth/liveboat-github-runner","last_synced_at":"2026-02-01T06:03:41.474Z","repository":{"id":270384300,"uuid":"907846277","full_name":"exaroth/liveboat-github-runner","owner":"exaroth","description":"Setup your own personalized RSS feed site on Github Pages","archived":false,"fork":false,"pushed_at":"2026-01-26T07:14:50.000Z","size":14568,"stargazers_count":22,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-26T08:04:15.546Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Handlebars","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/exaroth.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-12-24T14:35:26.000Z","updated_at":"2026-01-26T07:14:54.000Z","dependencies_parsed_at":"2025-02-03T21:20:49.271Z","dependency_job_id":"1330f037-55ea-417c-b15d-3a02a6423b10","html_url":"https://github.com/exaroth/liveboat-github-runner","commit_stats":null,"previous_names":["exaroth/liveboat-github-runner"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/exaroth/liveboat-github-runner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exaroth%2Fliveboat-github-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exaroth%2Fliveboat-github-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exaroth%2Fliveboat-github-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exaroth%2Fliveboat-github-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exaroth","download_url":"https://codeload.github.com/exaroth/liveboat-github-runner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exaroth%2Fliveboat-github-runner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28970194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T05:48:53.985Z","status":"ssl_error","status_checked_at":"2026-02-01T05:47:55.855Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-02-01T06:03:41.382Z","updated_at":"2026-02-01T06:03:41.459Z","avatar_url":"https://github.com/exaroth.png","language":"Handlebars","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e\n\u003cimg align=\"center\" width=\"70\" height=\"70\" src=\"./assets/logo.png\"\u003e\u003cbr/\u003e\n\u003cbr/\u003e\nLiveboat Github Runner\n\u003c/h2\u003e\n\n### See it in [Action](https://konrad.website/liveboat-github-runner)\n\n\u003cbr/\u003e\nThis is template repository for \u003ca href=\"https://github.com/exaroth/liveboat\"\u003eLiveboat\u003c/a\u003e feed generator, use it to configure and deploy feed websites on Github Pages. Follow instructions below for more details.\n\n## Installation\n\nPrerequisites: \n- List of RSS urls you want to follow, see [Liveboat url file breakdown](#liveboat-url-file-breakdown) section below for more information about adding links to the page.\n- Github account\n\n__STEP 1__ Create new Github repository from `liveboat-github-runner` template\n\n- Click `Use this template` in the upper right corner\n- Select repository name and privacy settings\n\n\u003e [!NOTE]\n\u003e Repository can be private or public however note that hosting project pages from private repos is only available for Github Pro users.\n\n- After the repository has been created use `git clone` to download it\n\n__STEP 2__ Update configuration and urls file\n- `cd` into the cloned repository\n \n- First edit `./config/liveboat-config.toml` file, update `title` and most importantly `site_path` - this option needs to be set to `/\u003crepo_name\u003e/` where `repo_name` corresponds to repository name created in Step 1.\n\n- Next replace feeds url in `./config/urls` with those you want to follow - If you're existing Newsboat user simply copy contents of the `urls` file (typically stored at `~/.newsboat/urls`)\n\n\u003e [!NOTE]\n\u003e Order of the URLs does matter as it will reflect order of feeds in generated page.\n\n- Commit all the changes and `git push` them back to remote\n \n__STEP 3__ Update settings for the repository\n\n1. Go to `Settings-\u003eActions-\u003eGeneral` page within the repo created in Step 1. In `Workflow Permissions` section set `Read and write permissions` and click `Save`.\n![screenshot1](./assets/screen1.png)\n2. Still in Project Settings go to `Pages` tab and under `Build and deployment`, set `Source` to `Deploy from branch`, set `Branch name` to `master` and select `/docs` as the folder to deploy Pages from. Click `Save`.\n![screenshot2](./assets/screen2.png)\n\n__STEP 4__ Finally going back to terminal execute\n``` sh\ngit tag build \u0026\u0026 git push --tags\n```\nTo execute page rebuild job.\n\n\u003e [!TIP]\n\u003e Pushing any tag starting with `build` will execute page rebuild.\n\n__DONE__ Wait until Github Action finishes execution, then navigate to the repo Github Page `https:://\u003cusername\u003e.github.io/\u003crepo_name\u003e` and verify everything is as expected.\n\n## Changing page appearance\nDefault template allows basic level of color customization, if you want to change color theme edit `./templates/default/config.toml` file and update color values to those that suit your needs\n\n```\n[template_settings]\ntext-color = \"#c7cfcc\"\nhighlight-color = \"#73bed3\"\naccent-color = \"#3c5e8b\"\nbackground-color = \"#181818\"\ncustom-color = \"#f3a833\"\nautoreload = \"1\"\n```\n\nFor more advanced template modifications see [Template development guide](https://github.com/exaroth/liveboat/tree/develop/templates).\n\n\u003e [!IMPORTANT]\n\u003e When using modified version of default template do not replace contents of `./templates/default` as these might be overwritten during update, instead put it in separate directory and update `--template-path` value in `.github/workflows/workflow.yml` file.\n\n## Liveboat URL file breakdown\nThis section goes over basic Newsboat URL file syntax which Liveboat uses for parsing RSS links. For more detailed overview see [Newsboat documentation page](https://newsboat.org/releases/2.10.2/docs/newsboat.html)\n\n##### Basic example\nYou can simply add urls to Atom/RSS feeds, one per line, eg.\n```\nhttps://hnrss.org/best\nhttps://access.acast.com/rss/theeconomistmorningbriefing/default\n```\n##### Adding custom titles\nAbove example will work just fine however feed titles might not be exactly what you want, this can be alleviated by overwriting them, this is done by adding ` \"~\u003cTitle\u003e\"` for the line eg.\n```\nhttps://hnrss.org/best \"~HN\" \nhttps://access.acast.com/rss/theeconomistmorningbriefing/default \"~Daily Brief\"\n```\n\n##### Aggregating feeds\nYou can group related feeds using tags and query feeds, to tag particular feed simply append tag name to the line, and create new query feed with matching tags via `query:` syntax. Example:\n\n```\nhttps://hnrss.org/best \"~HN\" dev\nhttp://blog.golang.org/feed.atom \"~Golang Blog\" dev\n\n\"query:Dev News:tags # \\\"dev\\\"\"\n```\nThis will result in 3 feeds being displayed, `HN` `Golang Blog` and `Dev News` latter containing results from first 2 feeds. If you'd like to only see aggregated feed and not the other ones, add `!` to the lines of the feeds you want to hide, like so:\n\n```\nhttps://hnrss.org/best \"~HN\" ! dev\nhttp://blog.golang.org/feed.atom \"~Golang Blog\" ! dev\n\n\"query:Dev News:tags # \\\"dev\\\"\"\n```\n\nThis will result showing only `Dev News` feed on the page. \n\nYou can also add additional filtering options to query feeds, for example to show only articles from last 2 days:\n\n```\nhttps://hnrss.org/best \"~HN\" ! dev\nhttp://blog.golang.org/feed.atom \"~Golang Blog\" ! dev\n\n\"query:Dev News:tags # \\\"dev\\\" and age \u003c= 2\"\n```\nSee Newsboat documentation for list of all available filtering options.\n\n## Newsboat cache persistence\n\nBy default Newsboat cache file containing feed data is not being persisted in between feed rebuilds - this means that only articles retrieved during current Newsboat reload will be processed. To change that set `PERSIST_NEWSBOAT_CACHE` to `1` within `./config/page_options` file, this will cause Newsboat db cache to be saved after every update. Additionally set `NEWSBOAT_CACHE_RETENTION_DAYS` to number of days articles will be stored in db (ideally this should match `keep-articles-days` in `./config/newsboat-config` file).\n\n## Changing build time intervals\nBy default feed page will be rebuilt every hour, if you want to change it edit `.github/workflows/workflow.yml` and update schedule definition\n```\n  schedule:\n    - cron: \"0 * * * *\"\n\n```\n## Template updates\n\nIn order to manually update templates supplied with Liveboat execute `make update`, alternatively you can enable automatic updates by setting `ENABLE_AUTOMATIC_UPDATES` to `1` in `./config/page_options` file which will check for new version during every page rebuild.\n\n## License\nLiveboat is provided under MIT License, see `LICENSE` file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexaroth%2Fliveboat-github-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexaroth%2Fliveboat-github-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexaroth%2Fliveboat-github-runner/lists"}