{"id":17918190,"url":"https://github.com/archseer/dove","last_synced_at":"2025-04-03T07:46:20.657Z","repository":{"id":8965707,"uuid":"10706665","full_name":"archseer/dove","owner":"archseer","description":"Write single page HTML documents with ease","archived":false,"fork":false,"pushed_at":"2013-06-15T13:46:30.000Z","size":132,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-11T06:54:49.499Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"AugustRush/ARSegmentPager","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archseer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-15T13:30:59.000Z","updated_at":"2013-11-14T13:42:44.000Z","dependencies_parsed_at":"2022-08-29T10:30:38.669Z","dependency_job_id":null,"html_url":"https://github.com/archseer/dove","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archseer%2Fdove","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archseer%2Fdove/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archseer%2Fdove/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archseer%2Fdove/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archseer","download_url":"https://codeload.github.com/archseer/dove/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246961925,"owners_count":20861177,"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":[],"created_at":"2024-10-28T20:10:16.277Z","updated_at":"2025-04-03T07:46:20.637Z","avatar_url":"https://github.com/archseer.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dove\n\nWrite single page HTML documents with ease.\n\nI sometimes want to quickly draft documents in something other than LaTeX. I've realized\nthat in the 21^st century HTML pages can easily serve that same purpose DOC, ODT and PDF\nfiles serve. Dove enables you to write your text in Markdown, then generate beautiful web\ndocuments.\n\nExample output can be seen [here](http://archseer.github.io/dove/).\n\n## Note\n\nI was really lazy and didn't want to bother converting Markdown into HTML, then inserting\nit into a HTML layout and bothering with syntax highlighting, so I've searched for alternatives.\nI've used Jekyll before, but for writing one-page documents I don't really need a full-blown\nstatic website solution. I then I had found [rocco](https://github.com/rtomayko/rocco)\nwhich is a code documentation generator, and I've used a bit of the code from it\nto write Dove, a (web) document generator.\n\n## About\n\nDove takes a Markdown file, converts it using [Redcarpet](https://github.com/vmg/redcarpet), syntax highlights\nany code snippets inside using [Rouge](https://github.com/jayferd/rouge), then\nit takes a layout file (I use [Slim](http://slim-lang.com/)) and uses [Tilt](https://github.com/rtomayko/tilt)\nto render it, and insert the document into the template. It also detects and\nextracts any YAML frontmatter and inserts it into the layout as variables!\n\n## Usage\n\nDove is meant to be used using it's binary file:\n\n```\ndove document.md\n```\n\nGlob patterns can also be used just as easily:\n\n```\ndove *.md README *.txt\n```\n\nBut one can also require Dove inside a script, and make a new instance of it,\npassing in the filename and options, then use the `render` method.\n\n```ruby\ndove = Dove.new('document.md', template_file: 'doc_layout.slim')\ndove.render\n```\n\nNote: The default layout requires `author` and `title` YAML frontmatter.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchseer%2Fdove","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchseer%2Fdove","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchseer%2Fdove/lists"}