{"id":16829649,"url":"https://github.com/rtfb/rtfblog","last_synced_at":"2025-07-21T09:04:25.563Z","repository":{"id":16178442,"uuid":"18924889","full_name":"rtfb/rtfblog","owner":"rtfb","description":"A blog app","archived":false,"fork":false,"pushed_at":"2025-04-26T16:32:13.000Z","size":1316,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-02T16:15:21.809Z","etag":null,"topics":["blog","go"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rtfb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2014-04-18T20:37:13.000Z","updated_at":"2025-04-26T16:32:16.000Z","dependencies_parsed_at":"2023-12-21T13:28:06.212Z","dependency_job_id":"979228a4-36d2-4061-a9ce-3957877a73aa","html_url":"https://github.com/rtfb/rtfblog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rtfb/rtfblog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtfb%2Frtfblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtfb%2Frtfblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtfb%2Frtfblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtfb%2Frtfblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rtfb","download_url":"https://codeload.github.com/rtfb/rtfblog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rtfb%2Frtfblog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266270405,"owners_count":23902733,"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":["blog","go"],"created_at":"2024-10-13T11:34:55.896Z","updated_at":"2025-07-21T09:04:25.543Z","avatar_url":"https://github.com/rtfb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rtfblog\n\n[![Build status][travis-image]][travis-url]\n[![Test coverage][coveralls-image]][coveralls-url]\n\n## What is this?\n\nRtfblog is a blog software that powers [my blog](http://blog.rtfb.lt), written\nin [Go](http://golang.org). Its primary purpose is to serve my own needs, but I\nwas writing it with making it available to others in mind.\n\nWhen I started it, this was my first sizeable piece of Go code (you can\ncertainly tell that if you look at early commits!), so I was a [baby\ngopher](http://www.babygopher.org/):\n\n[![baby-gopher][baby-gopher-image]](http://www.babygopher.org)\n\n## Can I use it?\n\nYes. But I can't promise it would be easy at this point. You should be able to\nbuild without problems, but installing and running will require reading some\ndeployment code. You will need a physical server or a VPS to run it. I have only\ntried running it on Linux, but in theory it should run everywhere where Go runs.\n\n## Building\n\nBuilding is done from within a docker container, as I don't want to have any npm\npresent on my dev box. So first, build the building container, then run it,\nwhich calls make in its entry point.\n\n* `make dbuild`\n* `make drun`\n\nAlternatively, you can shell into the container and call make manually:\n\n* `     host $ make dbuild`\n* `     host $ make dshell`\n* `container $ make all`\n\n## Installing\n\nYou will need [migrate][migrate-url] for DB migration. Read\n[Dockerfile](./Dockerfile) to get an overview of how to install it. Get it at:\n\n    go install -tags 'postgres,sqlite3' github.com/golang-migrate/migrate/v4/cmd/migrate@v4.15.2\n\n## Configuration\n\n### DB\n\nCurrently rtfblog supports [PostgreSQL](http://www.postgresql.org/) and\n[SQLite](https://www.sqlite.org/). It ships with an empty `default.db` SQLite\ndatabase for immediate use.\n\n[Here][postgres-config] is a useful quick start primer on how to configure\npostgres for the first time.\n\n### Config file\n\nThe server is meant to start and run without any configuration whatsoever.\nCurrently that is not fully achieved, since the server requires at least a DB\nconnection being configured. But it should at least start and serve the static\ncontent.\n\nThe [sample-server.conf](sample-server.conf) should suit your needs with few\nsimple modifications. The server is looking for config in these locations, in\nthis order:\n\n* `/etc/rtfblogrc`\n* `$HOME/.rtfblogrc`\n* `./.rtfblogrc`\n* `./server.conf`\n\nAll the files found will be read, in the order specified above, with options\nin more specific locations overriding the more generic ones. So if you happen to\nrun a few instances, you can have global stuff configured in one place, leaving\nlocal tweaks for each instance.\n\n## License\n\nBSD Simplified, see [LICENSE.md](LICENSE.md).\n\n[travis-image]: https://travis-ci.org/rtfb/rtfblog.svg?branch=master\n[travis-url]: https://travis-ci.org/rtfb/rtfblog\n[coveralls-image]: https://coveralls.io/repos/rtfb/rtfblog/badge.png\n[coveralls-url]: https://coveralls.io/r/rtfb/rtfblog\n[baby-gopher-image]: https://raw.github.com/drnic/babygopher-site/gh-pages/images/babygopher-badge.png\n[postgres-config]: http://stackoverflow.com/questions/1471571/how-to-configure-postgresql-for-the-first-time\n[migrate-url]: https://github.com/golang-migrate/migrate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtfb%2Frtfblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frtfb%2Frtfblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frtfb%2Frtfblog/lists"}