{"id":13601420,"url":"https://github.com/jhvst/vertigo","last_synced_at":"2026-01-12T12:29:18.583Z","repository":{"id":15985291,"uuid":"18728387","full_name":"jhvst/vertigo","owner":"jhvst","description":"Blog engine in Go (golang)","archived":false,"fork":false,"pushed_at":"2017-06-18T12:01:28.000Z","size":4882,"stargazers_count":263,"open_issues_count":2,"forks_count":24,"subscribers_count":20,"default_branch":"master","last_synced_at":"2024-11-07T04:40:00.103Z","etag":null,"topics":["blog","blog-engine","blogging","docker","go","heroku","json-api","side-project"],"latest_commit_sha":null,"homepage":"https://toldjuuso.github.io/vertigo","language":"Go","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/jhvst.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-13T12:11:35.000Z","updated_at":"2024-10-24T22:57:22.000Z","dependencies_parsed_at":"2022-08-25T12:40:25.164Z","dependency_job_id":null,"html_url":"https://github.com/jhvst/vertigo","commit_stats":null,"previous_names":["toldjuuso/vertigo","9uuso/vertigo"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/jhvst/vertigo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhvst%2Fvertigo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhvst%2Fvertigo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhvst%2Fvertigo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhvst%2Fvertigo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jhvst","download_url":"https://codeload.github.com/jhvst/vertigo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jhvst%2Fvertigo/sbom","scorecard":{"id":519341,"data":{"date":"2025-08-11","repo":{"name":"github.com/jhvst/vertigo","commit":"254fdf3929916c2b2c609f1a292a3d0b9560c414"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 1/29 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.3 not signed: https://api.github.com/repos/jhvst/vertigo/releases/2317958","Warn: release artifact v0.3 does not have provenance: https://api.github.com/repos/jhvst/vertigo/releases/2317958"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:3: pin your Docker image by updating golang to golang@sha256:9e56f0d0f043a68bb8c47c819e47dc29f6e8f5129b8885bed9d43f058f7f3ed6","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-20T02:34:48.392Z","repository_id":15985291,"created_at":"2025-08-20T02:34:48.392Z","updated_at":"2025-08-20T02:34:48.392Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338976,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"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":["blog","blog-engine","blogging","docker","go","heroku","json-api","side-project"],"created_at":"2024-08-01T18:01:02.478Z","updated_at":"2026-01-12T12:29:18.555Z","avatar_url":"https://github.com/jhvst.png","language":"Go","readme":"vertigo\n=======\n[![Codeship Status for toldjuuso/vertigo](https://img.shields.io/codeship/b2de9690-b16b-0132-08f1-3edef27c5b65/master.svg)](https://codeship.com/projects/69843) [![Deploy](https://img.shields.io/badge/heroku-deploy-green.svg)](https://heroku.com/deploy) [![GoDoc](https://godoc.org/github.com/toldjuuso/vertigo?status.svg)](https://godoc.org/github.com/toldjuuso/vertigo)\n\n![Vertigo](http://i.imgur.com/ZnAQR6I.gif)\n\nVertigo is blogging platform similar to [Ghost](https://ghost.org), [Medium](https://medium.com) and [Tumblr](https://www.tumblr.com). Vertigo is written in Go and has fully featured JSON API and it can be run using single binary on all major operating systems like Windows, Linux and OSX.\n\nThe frontend code is powered by Go's `template/html` package, which is similar to Mustache.js. The template files are in plain HTML and JavaScript (vanilla) only appears on few pages. JavaScript is stripped down as much as possible to provide a better user experience on different devices. Vertigo also ships without any CSS frameworks, so it is easy to start customizing the frontend with the tools of your choice.\n\nThanks to the JSON API, it is easy to add your preferred JavaScript MVC on top of Vertigo. This means that you can create users, submit posts and read data without writing a single line of Go code. For example, one could write a single page application on top of Vertigo just by using JavaScript. Whether you want to take that path or just edit the HTML template files found in `/templates/` is up to you.\n\n## Features\n\n- Installation wizard\n- JSON API\n- SQLite and PostgreSQL support\n- Fuzzy search\n- Multiple account support\n- Auto-saving of posts to LocalStorage\n- RSS feeds\n- Password recovery\n- Markdown support\n\n## Installation\n\nNote: By default the HTTP server starts on port 3000. This can changed by declaring `PORT` environment variable or by passing one with the binary execution command.\n\n### Downloading binaries\n\nSee [GitHub releases](https://github.com/toldjuuso/vertigo/releases).\n\n### Heroku\n\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)\n\nFor advanced usage, see [Advanced Heroku deployment](https://github.com/toldjuuso/vertigo/wiki/Advanced-Heroku-deployment)\n\n### Source\n\n1. [Install Go](https://golang.org/doc/install)\n2. `git clone https://github.com/toldjuuso/vertigo`\n3. `cd vertigo \u0026\u0026 go build`\n4. `PORT=\"80\" ./vertigo`\n\n### Docker\n1. [Install docker](https://docs.docker.com/installation/)\n2. `git clone https://github.com/toldjuuso/vertigo`\n3. `cd vertigo`\n4. `docker build -t \"vertigo\" .`\n5. `docker run -d -p 80:80 vertigo`\n\n### Environment variables\n* `PORT` - the HTTP server port\n* `SMTP_LOGIN` - address from which you want to send mail from. Example: postmaster@example.com\n* `SMTP_PASSWORD` - Password for the mailbox defined with SMTP_LOGIN\n* `SMTP_PORT` - SMTP port which to use to send email. Defaults to 587.\n* `SMTP_SERVER` - SMTP server hostname or IP address. Example: smtp.example.org\n* `DATABASE_URL` - database connection URL for PostgreSQL - if empty, SQLite will be used\n\n## Contribute\n\nContributions are welcome, but before creating a pull request, please run your code trough `go fmt` and [`golint`](https://github.com/golang/lint). If the changes introduce new features, please  add tests for them. Try to squash your commits into one big one instead many small, to avoid unnecessary CI runs.\n\n## Support\n\nIf you have any questions in mind, please file an issue.\n\n## License\n\nMIT\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhvst%2Fvertigo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjhvst%2Fvertigo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjhvst%2Fvertigo/lists"}