{"id":13612232,"url":"https://github.com/myles/jekyll-typogrify","last_synced_at":"2025-10-23T07:53:09.180Z","repository":{"id":30210891,"uuid":"33761866","full_name":"myles/jekyll-typogrify","owner":"myles","description":"A Jekyll plugin that improves the typography of your Liquid templates.","archived":false,"fork":false,"pushed_at":"2023-12-22T19:54:29.000Z","size":206,"stargazers_count":31,"open_issues_count":2,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-14T22:14:20.654Z","etag":null,"topics":["jekyll","ruby","typography"],"latest_commit_sha":null,"homepage":"https://jekyll-typogrify.mylesbraithwaite.org/","language":"Ruby","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/myles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2015-04-11T04:00:09.000Z","updated_at":"2024-01-30T12:37:18.000Z","dependencies_parsed_at":"2024-01-14T04:52:31.716Z","dependency_job_id":"8a94b136-c661-4f64-8b10-51ea0271eadd","html_url":"https://github.com/myles/jekyll-typogrify","commit_stats":{"total_commits":100,"total_committers":8,"mean_commits":12.5,"dds":"0.33999999999999997","last_synced_commit":"309a9124270b00247eab81e703ea3e462d681bd5"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myles%2Fjekyll-typogrify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myles%2Fjekyll-typogrify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myles%2Fjekyll-typogrify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/myles%2Fjekyll-typogrify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/myles","download_url":"https://codeload.github.com/myles/jekyll-typogrify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217112,"owners_count":21066633,"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":["jekyll","ruby","typography"],"created_at":"2024-08-01T20:00:25.293Z","updated_at":"2025-10-23T07:53:09.079Z","avatar_url":"https://github.com/myles.png","language":"Ruby","funding_links":[],"categories":["Text Filters"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/myles/jekyll-typogrify.svg?branch=develop)](https://travis-ci.org/myles/jekyll-typogrify)\n[![Build Status](https://ci.appveyor.com/api/projects/status/bw6g4akc9x8g1x33/branch/master?svg=true)](https://ci.appveyor.com/project/MylesBraithwaite/jekyll-typogrify/branch/develop)\n[![Gem Version](https://badge.fury.io/rb/jekyll-typogrify.svg)](http://badge.fury.io/rb/jekyll-typogrify)\n[![Code Climate](https://codeclimate.com/github/myles/jekyll-typogrify/badges/gpa.svg)](https://codeclimate.com/github/myles/jekyll-typogrify)\n[![Test Coverage](https://codeclimate.com/github/myles/jekyll-typogrify/badges/coverage.svg)](https://codeclimate.com/github/myles/jekyll-typogrify/coverage)\n\n# Jekyll::Typogrify\n\nImproves typography on your Jekyll site using [typogruby](http://avdgaag.github.io/typogruby/), [titlecase](https://github.com/samsouder/titlecase), and some other useful functions.\n\n| Before | After |\n| ------ | ----- |\n| ![Before](https://raw.githubusercontent.com/myles/jekyll-typogrify/master/screenshots/before.png) | ![After](https://raw.githubusercontent.com/myles/jekyll-typogrify/master/screenshots/after.png) |\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'jekyll-typogrify'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install jekyll-typogrify\n\nYou now need to enable the plugin in your Jekyll web site. Append it to the `gems` array in your `_config.yml` file:\n\n```yaml\ngems:\n- jekyll-typogrify\n```\n\n## Usage\n\n### Ampersand\n\nConverts an ampersand (ex. `\u0026`) converts a \u0026 surrounded by optional whitespace or a non-breaking space to the HTML entity and surrounds it in a span with a styled class.\n\n```html\n\u003ch1\u003e{{ \"Mr. \u0026 Mrs. Smith\" | amp }}\u003c/h1\u003e\n\n\u003ch1\u003eMr. \u003cspan class=\"amp\"\u003e\u0026amp;\u003c/span\u003e Mrs. Smith\u003c/h1\u003e\n```\n\n### Capitalisation\n\nSurrounds two or more consecutive capital letters, perhaps with interspersed digits and periods in a span with a styled class.\n\n```html\n\u003ch1\u003e{{ \"A.B.C. Corp.\" | caps }}\u003c/h1\u003e\n\n\u003ch1\u003e\u003cspan class=\"caps\"\u003eA.B.C.\u003c/span\u003e Corp.\u003c/h1\u003e\n```\n\n#### Custom Capitalisation\n\nTypogruby `cap` module doesn't support having hyphens so there is a custom\nmodule:\n\n```html\n\u003ch1\u003e{{ \"North American P-51 Mustang\" | jt_caps }}\u003c/h1\u003e\n\n\u003ch1\u003eNorth American \u003cspan class=\"caps\"\u003eP-51\u003c/span\u003e Mustang\u003c/h1\u003e\n```\n\n### Entities\n\nConverts special characters (excluding HTML tags) to HTML entities.\n\n```html\n\u003cp\u003e{{ \"© Myles Braithwaite\" | entities }}\u003c/p\u003e\n\n\u003cp\u003e\u0026copy; Myles Braithwaite\u003c/p\u003e\n```\n\n### Initial Quotes\n\nEncloses initial single or double quote, or their entities (optionally preceeded by a block element and perhaps an inline element) with a span that can be styled.\n\n```html\n\u003ch1\u003e{{ '\"Do not cry because it is over, simile because it happened.\"' | initial_quotes }}\u003c/h1\u003e\n\n\u003ch1\u003e\u003cspan class=\"dquo\"\u003e\"\u003c/span\u003eDo not cry because it is over, simile because it happened.\"\u003c/h1\u003e\n```\n\n### Smartypants\n\nApplies smartypants to a given piece of text.\n\n```html\n\u003cp\u003e{{ \"Today I'm going to the... coffeeshop.\" | smartypants }}\u003c/p\u003e\n\n\u003cp\u003eToday I\u0026#8217;m going to the\u0026#8230; coffeeshop.\u003c/p\u003e\n```\n\n### Widont\n\nReplaces space(s) before the last word (or tag before the last word) before an optional closing element (a, em, span, strong) before a closing tag (p, h[1-6], li, dt, dd) or the end of the string.\n\n```html\n\u003ch1\u003e{{ \"This is a rather long title.\" | widont }}\u003c/h1\u003e\n\n\u003ch1\u003eThis is a rather long\u0026nbsp;title.\u003c/h1\u003e\n```\n\n### Titlecase\n\nConvert a given piece of text to titlecase.\n\n```html\n\u003ch1\u003e{{ \"i love toronto\" | titlecase }}\u003c/h1\u003e\n\n\u003ch1\u003eI Love Toronto\u003c/h1\u003e\n```\n\n### Improve\n\nMain function to do all the typogruby functions from the method.\n\n```html\n\u003ch1\u003e{{ \"Improve This Title\" | improve }}\u003c/h1\u003e\n\n\u003ch1\u003eImprove This\u0026nbsp;Title\u003c/h1\u003e\n```\n\n### Letter Spacing\n\nLet's make sure click doesn't look like dick.\n\n```html\n\u003cp\u003e{{ \"There’s more to love with every click.\" | letter_spacing }}\u003c/p\u003e\n\n\u003cp\u003eThere’s more to love with every \u003cspan class=\"fix-letter-spacing\"\u003eclick\u003c/p\u003e.\u003c/p\u003e\n```\n\n### Em dash\n\nIdentify em dashes and surround them with a span.\n\n```html\n\u003cp\u003e{{ \"Upon discovering the errors—all 124 of them—the publisher immediately recalled the books.\" | jt_emdash }}\u003c/p\u003e\n\n\u003cp\u003eUpon discovering the errors\u003cspan class=\"emdash\"\u003e\u0026mdash;\u003c/span\u003eall 124 of them\u003cspan class=\"emdash\"\u003e\u0026mdash;\u003c/span\u003ethe publisher immediately recalled the books.\u003c/p\u003e\n```\n\n## Development\n\nAfter checking out the repo, run `make setup` to install dependencies. Then, run `make console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyles%2Fjekyll-typogrify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyles%2Fjekyll-typogrify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyles%2Fjekyll-typogrify/lists"}