{"id":13612348,"url":"https://github.com/mslinn/jekyll_href","last_synced_at":"2025-04-13T06:32:13.297Z","repository":{"id":56878604,"uuid":"468875132","full_name":"mslinn/jekyll_href","owner":"mslinn","description":"Jekyll plugin that generates an HTML 'a href' tag, possibly with target='_blank' and rel='nofollow'.  URLs can contain environment variable references. Also provides a convenient way to generate formatted and clickable URIs. Features optional automatically-generated soft hyphens. The href tags in a page can be summarized by the href_summary tag. ","archived":false,"fork":false,"pushed_at":"2025-03-06T16:30:34.000Z","size":721,"stargazers_count":4,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T23:48:28.715Z","etag":null,"topics":["jekyll","jekyll-plugin","jekyll-tag"],"latest_commit_sha":null,"homepage":"https://www.mslinn.com/jekyll_plugins/jekyll_href.html","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/mslinn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2022-03-11T19:26:28.000Z","updated_at":"2025-03-06T16:30:28.000Z","dependencies_parsed_at":"2023-10-11T23:23:20.535Z","dependency_job_id":"993077eb-111d-4ae4-b045-496b1e7e8d81","html_url":"https://github.com/mslinn/jekyll_href","commit_stats":{"total_commits":68,"total_committers":2,"mean_commits":34.0,"dds":"0.27941176470588236","last_synced_commit":"6aaff2fa000583acd54da7a3fe25b84221cff5e5"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mslinn%2Fjekyll_href","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mslinn%2Fjekyll_href/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mslinn%2Fjekyll_href/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mslinn%2Fjekyll_href/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mslinn","download_url":"https://codeload.github.com/mslinn/jekyll_href/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248674673,"owners_count":21143760,"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","jekyll-plugin","jekyll-tag"],"created_at":"2024-08-01T20:00:28.399Z","updated_at":"2025-04-13T06:32:13.264Z","avatar_url":"https://github.com/mslinn.png","language":"Ruby","funding_links":[],"categories":["Tags"],"sub_categories":[],"readme":"# `Jekyll_href` [![Gem Version](https://badge.fury.io/rb/jekyll_href.svg)](https://badge.fury.io/rb/jekyll_href)\n\n`Jekyll_href` is a flexible Jekyll plugin that is designed to minimize the work of creating and maintaining a Jekyll website.\n\n\n## Features\n\n1. It provides a new Liquid tag: `href` with default options such as generating `target=\"_blank\"` and `rel=\"nofollow\"`\n   that can be overridden.\n2. The `match` keyword causes the title of the linked Jekyll page to be used as the link text;\n  an error is displayed if the page does not exist.\n3. Provides a convenient syntax for generating links with monospaced text that display the URL being linked to.\n4. Can generate soft hyphens (\u0026amp;shy; and \u0026lt;wbr\u003e).\n5. If the url starts with `http`, or the `match` keyword is specified:\n\n    a. The url will open in a new tab or window.\n\n    b. The url will include `rel=\"nofollow\"` for SEO purposes.\n\n6. URLs can be composed from environment variable references.\n7. The href tags in a page can be summarized by the `href_summary` tag.\n\nCAUTION: if linked text contains a single or double quote,\nyou will see the error message: `Liquid Exception: Unmatched quote`.\nInstead, use one of the following:\n\n \u003cul style=\"column-count: 3; list-style-type: none; padding: 0; margin: 0 2em;\"\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;apos;\u003c/code\u003e (\u0026apos;)\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;quot;\u003c/code\u003e (\u0026quot;)\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;lsquo;\u003c/code\u003e (\u0026lsquo;)\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;rsquo;\u003c/code\u003e (\u0026rsquo;)\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;ldquo;\u003c/code\u003e (\u0026ldquo;)\u003c/li\u003e\n    \u003cli\u003e\u003ccode\u003e\u0026amp;rdquo;\u003c/code\u003e (\u0026rdquo;)\u003c/li\u003e\n  \u003c/ul\u003e\n\n\n## Installation\n\nAdd the following to your Jekyll website's `Gemfile`, within the `jekyll_plugins` group:\n\n```text\ngroup :jekyll_plugins do\n  gem 'jekyll_href'\nend\n```\n\nAnd then execute:\n\n```shell\n$ bundle\n```\n\n\n## Configuration\n\nIn `_config.yml`, if a section called `plugin-vars` exists,\nthen its name/value pairs are available for substitution.\nWhen referenced from a web page, the names must be enclosed within {{double curly braces}} in order for substitution to occur.\n\n```yaml\nplugin-vars:\n  django-github: 'https://github.com/django/django/blob/3.1.7'\n  django-oscar-github: 'https://github.com/django-oscar/django-oscar/blob/3.0.2'\n```\n\nUse it as shown below. The lines have been folded for legibility; whitespace formatting is optional:\n\n```text\n{% href\n  label=\"django.core.management.execute_from_command_line\"\n  url=\"{{django-github}}/django/core/management/__init__.py#L398-L401\"\n%}\n```\n\nThe following sections and settings can be set:\n`Pry_on_href_error` has priority over `die_on_href_error`.\n\n```yaml\nhref:\n  die_on_href_error: false # Default value is false\n  die_on_nomatch: true     # Default value is false\n  pry_on_href_error: true  # Default value is false\nhref_summary:\n  die_on_href_error: false # Default value is false\n  pry_on_href_error: true  # Default value is false\n```\n\n\n## Common Usages\n\n1. For local links (links within a Jekyll website), the best way to make them is with an incantation like this:\n   ```text\n   {% href match url='trust_winning.html' %}{% endraw %}\n   ```\n\n   The above uses the page title of \u003ccode\u003etrust_winning.html\u003c/code\u003e as the link text;\n   an error is displayed if the page does not exist.\n   It renders like this: {% href match url='trust_winning.html' %}.\n\n2. To display external links with a monospaced font, and use the URL as the link text, use an incantation like this:\n   ```text\n   {% href url='mslinn.com' %}{% endraw %}\n   ```\n   The above renders as: \u003ca href=\"https://mslinn.com\"\u003e\u003ccode\u003emslinn.com\u003c/code\u003e\u003c/a\u003e.\n\n\n## Suppprted Syntaxes\n\nSquare brackets in the [BNF notation](https://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form)\nbelow denote optional keyword parameters, and are not meant to be typed.\nAdditional usage examples follow.\n\n\n## Syntax 1: Mmost verbose\n\nThis is the most verbose syntax, but it provides most reliable results.\nIf `match` is specified, the title from the matching page is used as the link\ntext unless overridden by the value of the `label` parameter.\n\nOptions are:\n\n```html\n{% href [match | [follow] [blank|notarget] [summary_exclude]]\n  label=\"text to display\"\n  url=\"local_page.html\"\n%}\n```\n\n1. The url can be #relative, a page in the Jekyll website, or prefaced with a protocol, such as `https:`\n2. Embedded newlines within the label are legal.\n3. The `url` and `label` parameter values can be enclosed in single or double quotes.\n4. If `match` is provided, and `label` is not provided, then the title of the matched page is used as the label.\n\n\n## Syntax 2: Easiest to Type\n\nThis syntax uses positional parameters instead of labeled parameters.\nThis syntax can only be used if the url does not contain embedded spaces.\nYou can write the tag on one line, or several lines as shown.\n\n```html\n{% href [match | [follow] [blank|notarget] [page_title] [summary_exclude]]\n  url\n  text to display\n%}\n```\n\n1. Embedded newlines within the tag are legal.\n2. The url need not be enclosed in quotes.\n3. The `match` keyword causes the title of the linked page to be used as the link text unless the `label` option is provided.\n4. If `url` is not provided, then the text to display is assumed to be a URI,\n   as described in syntax 4, and is formatted into a clickable link.\n\n\n## Syntax 3: `url` Option\n\nThis syntax is recommended when the URL contains a problematic character,\nsuch as a colon (`:`) or space, and you are too lazy to type out label=.\nContrast with the explicit `label` parameter syntax, described next.\n\n```html\n{% href [match | [follow] [blank|notarget]] [page_title] [summary_exclude]\n  url=\"http://link.com with space.html\"\n  some text\n%}\n```\n\n1. Each of the above examples contain an embedded newline, which is legal.\n2. The url must be enclosed by either single or double quotes.\n\n\n## Syntax 4 Explicit `label` Option\n\nThis syntax is recommended when the linked text contains an option keyword, such as `summary` or `label`.\nIt can be combined with an explicit url, described above.\n\n```html\n{% href [match | [follow] [blank|notarget] [page_title] [summary_exclude]] [shy|wbr]\n  www.domain.com\n%}\n```\n\n1. Embedded newlines within the tag are legal.\n\n2. The URI provided, for example `www.domain.com`,\n   is used to form the URL by prepending `https://`,\n   in this case the result would be `https://www.domain.com`.\n   The displayed URI is enclosed in `\u003ccode\u003e\u003c/code\u003e`,\n   so the resulting text is `\u003ccode\u003ewww.domain.com\u003c/code\u003e`.\n\n\n## Environment Variable Expansion\n\nURLs can contain environment variable references.\nFor example, if `$domain`, `$uri` and `$USER` are environment variables:\n\n```html\nUsing keyword options:\n{% href http://$domain.html some text %}\n\nUsing the url option and positional link text:\n{% href url=\"$uri\" some text %}\n\nUsing positional parameters for the URL and the link text:\n{% href https://mslinn.html \u003ccode\u003eUSER=$USER\u003c/code\u003e %}\n```\n\n\n## Optional Parameters\n\n### `blank`\n\nThe `target='_blank'` attribute is not normally generated for relative links.\nTo enforce the generation of this attribute, preface the link with the word `blank`.\nThe `blank` and `notarget` parameters are mutually exclusive.\nIf both are specified, `blank` prevails.\n\n\n### `class`\n\nThis option allows CSS classes to be added to the HTML generated by the `href` tag.\nIt has no effect on the `href_summary` tag output.\n\nFor example:\n\n```html\n{% href class='bg_yellow' https://mslinn.com click here %}\n```\n\nExpands to:\n\n```html\n\u003ca href=\"https://mslinn.com\" class=\"bg_yellow\" rel=\"nofollow\" target=\"_blank\"\u003eclick here\u003c/a\u003e\n```\n\n\n### `follow`\n\nTo suppress the `nofollow` attribute, preface the link with the word `follow`.\n\n\n### `label='whatever you want'`\n\nIf the text to be linked contains an optional keyword argument,\nfor example `summary`, that word will be removed from the displayed link text,\nunless the link text is provided via the `label` option.\nBoth of the following produce the same output:\n\n```html\n{% href https://mslinn.com label=\"This is a summary\" %}\n{% href label=\"This is a summary\" https://mslinn.com %}\n```\n\n\n### `match`\n\n`match` will attempt to match the url fragment (specified as a regex) to a URL in any collection.\nIf multiple documents have matching URLs an error is thrown.\nThe `match` option looks through the pages collection for a URL with containing the provided substring.\n`Match` implies `follow` and `notarget`.\n\n```text\n{% href match url=\"page6.html\" %}\n```\n\n\n### `notarget`\n\nTo suppress the `target` attribute, preface the link with the word `notarget`.\nThe `blank` and `notarget` parameters are mutually exclusive.\nIf both are specified, `blank` prevails.\n\n\n### `page_title`\n\nFor local pages, use the linked page title as the link text.\nThis value overrides any provided link text.\n\n\n### `shy`\n\nThe `shy` keyword option is only applicable for syntax 3 (implicit URL).\nThis option causes displayed urls to have an\n[`\u0026amp;shy;`](https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens)\ninserted after each slash (/).\nIf both `shy` and `wbr` are specified, `wbr` prevails.\n\nFor example:\n\n```html\n{% href shy mslinn.com/path/to/page.html %}\n```\n\nExpands to:\n\n```html\n\u003ca href=\"https://mslinn.com/path/to/page.html\" rel=\"nofollow\" target=\"_blank\"\u003emslinn.com/\u0026shy;path/\u0026shy;to/\u0026shy;page.html\u003c/a\u003e\n```\n\n\n### `style`\n\nThis option allows CSS styling to be added to the HTML generated by the `href` tag.\nIt has no effect on the `href_summary` tag output.\n\nFor example:\n\n```html\n{% href style='color: red; font-weight: bold;' https://mslinn.com click here %}\n```\n\nExpands to:\n\n```html\n\u003ca href=\"https://mslinn.com\" rel=\"nofollow\" style=\"color: ref; font-weight: bold\" target=\"_blank\"\u003eclick here\u003c/a\u003e\n```\n\n\n### `summary`\n\nThe `summary` name/value option provides an override for the linked text in the **References** section\ngenerated by the `{% href_summary %}` tag.\nIf the value is the empty string, or no value is provided, the `href` tag is not included in the page summary.\n\n\n### `summary_exclude`\n\nThe `summary_exclude` keyword option prevents this `href` tag from appearing in the summary\n produced by the [`href_summary` tag](#href_summary).\nYou probably want all of your menu items (whose links are generated by the `href` tag) to have this keyword option.\n\n`mailto:` links are always excluded, so there is no need to use this keyword option for those types of links.\n\n\n### `wbr`\n\nThe `wbr` keyword option is only applicable for syntax 3 (implicit URL).\nIt add [line break opportunites](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr).\nThis option causes displayed urls to have an `\u0026lt;wbr\u0026gt;` inserted after each slash (/).\nIf both `shy` and `wbr` are specified, `wbr` prevails.\n\nFor example:\n\n```html\n{% href wbr mslinn.com/path/to/page.html %}\n```\n\nExpands to:\n\n```html\n\u003ca href=\"https://mslinn.com/path/to/page.html\" rel=\"nofollow\" target=\"_blank\"\u003emslinn.com/\u003cwbr\u003epath/\u003cwbr\u003eto/\u003cwbr\u003epage.html\u003c/a\u003e\n```\n\n\n## Usage Examples\n\n1. Generates `nofollow` and `target` attributes:\n\n   ```html\n   {% href https://mslinn.com The Awesome %}\n   ```\n\n2. Does not generate `nofollow` or `target` attributes.\n\n   ```html\n   {% href follow notarget https://mslinn.com The Awesome %}\n   ```\n\n3. Does not generate `nofollow` attribute.\n\n   ```html\n   {% href follow https://mslinn.com The Awesome %}\n   ```\n\n4. Does not generate `target` attribute.\n\n   ```html\n   {% href notarget https://mslinn.com The Awesome %}\n   ```\n\n5. Matches page with URL containing abc.\n\n   ```html\n   {% href match abc The Awesome %}\n   ```\n\n6. Matches page with URL containing abc.\n\n   ```html\n   {% href match abc.html#tag The Awesome %}\n   ```\n\n7. Substitute name/value pair for the `django-github` variable defined above:\n\n   ```html\n   {% href {{django-github}}/django/core/management/__init__.py#L398-L401\n     \u003ccode\u003edjango.core.management.execute_from_command_line\u003c/code\u003e %}\n   ```\n\n   Substitutions are only made to the URL, not to the linked text.\n\n8. Dollar signs\n\n   If the URL has a dollar sign in it, jekyll_href will attempt to replace an environment variable with its value.\n   That will likely fail silently. To work around the problem, replace dollar signs in URLs with \u0026amp;dollar;.\n\n   For example, given this URL:\n   https://ammonite.io/#import$ivy\n   rewrite as:\n   https://ammonite.io/#import\u0026amp;dollar;ivy.\n\n   Here is a complete invocation:\n\n   ```text\n   {% href url=\"https://ammonite.io/#import\u0026dollar;ivy\"\n           label=\"\u003ccode\u003eimport \u0026dollar;ivy\u003c/code\u003e\" %}\n   ```\n\n## References Generation\n\nThe `href` usages on each page can be summarized at the bottom of the pages in a **References** section.\nLinks are presented in the summary in the order they appear in the page.\n\nThe summary is produced by the `href_summary` tag.\nUsage is:\n\n```html\n{% href_summary [options] %}\n```\n\n`Href` tag options are used to generate the summary links,\njust as they were in the text above the **References** summary section.\nThe only exception is the `summary` option, which overrides the linked text.\n\nIf more than one `href` tag specifies a URL,\nthe first one that appears in the page sets the value of the linked text.\n\nIf a URL appears in more than one `href` with different `follow` values, a warning is logged.\n\n\n### Included `href` Tags\n\nThe following `href` tags are included in the summary:\n\n- Those with links that start with `http` are always included.\n- Those with [relative links](https://www.w3.org/TR/WD-html40-970917/htmlweb.html#h-5.1.2),\n  and have the `include_local` keyword option.\n\n### Excluded `href` Tags\n\nThe following `href` tags are excluded from the summary:\n\n- Those with links that start with `mailto:`.\n- Those having the `summary_exclude` keyword option.\n\n\n### Example\n\nGiven these `href` and `href_summary` usages in a web page:\n\n```html\n{% href https://rubygems.org RubyGems.org %}\n{% href summary=\"Mothership\" https://jekyllrb.com/ Jekyll %}\n{% href summary=\"Mike Slinn\" mslinn.com %}\n{% href https://mslinn.com Mike Slinn %}\n{% href summary=\"Front page of this website\" / Front page %}\n\n{% href_summary attribution include_local %}\n```\n\nThe generated HTML looks like the following:\n\n```html\n\u003ch2 id=\"reference\"\u003eReferences\u003c/h2\u003e\n\u003col\u003e\n  \u003cli\u003e\u003ca href='https://rubygems.org' rel='nofollow' target='_blank'\u003eRubyGems.org\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href='https://jekyllrb.com/' rel='nofollow' target='_blank'\u003eMothership\u003c/a\u003e\u003c/li\u003e\n  \u003cli\u003e\u003ca href='https://mslinn.com/' rel='nofollow' target='_blank'\u003e\u003ccode\u003emslinn.com\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch2 id=\"local_reference\"\u003eLocal References\u003c/h2\u003e\n\u003col\u003e\n  \u003cli\u003e\u003ca href='/'\u003eFront page of this website\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\n\u003cdiv id=\"jps_attribute_735866\" class=\"jps_attribute\"\u003e\n  \u003cdiv\u003e\n    \u003ca href=\"https://www.mslinn.com/jekyll/3000-jekyll-plugins.html#href\" target=\"_blank\" rel=\"nofollow\"\u003e\n      Generated by the jekyll_href v1.2.2 Jekyll plugin, written by Mike Slinn 2023-04-13.\n    \u003c/a\u003e\n  \u003c/div\u003e\n\u003c/div\u003e\n```\n\nYou can read about the `attribution` option [here](https://www.mslinn.com/jekyll/10200-jekyll-plugin-support.html#attribution).\n\n\n## Additional Information\n\nMore information is available on my website about\n[my Jekyll plugins](https://www.mslinn.com/blog/2020/10/03/jekyll-plugins.html).\n\n\n## Generated HTML\n\n### Without Keywords\n\n```html\n{% href https://mslinn.com The Awesome %}\n```\n\nExpands to this:\n\n```html\n\u003ca href='https://mslinn.com' target='_blank' rel='nofollow'\u003eThe Awesome\u003c/a\u003e\n```\n\nWhich renders as this: \u003ca href='https://mslinn.com' target='_blank' rel='nofollow'\u003eThe Awesome\u003c/a\u003e\n\n### With `follow`\n\n```html\n{% href follow https://mslinn.com The Awesome %}\n```\n\nExpands to this:\n\n```html\n\u003ca href='https://mslinn.com' target='_blank'\u003eThe Awesome\u003c/a\u003e\n```\n\n\n### With `notarget`\n\n```html\n {% href notarget https://mslinn.com The Awesome %}\n```\n\nExpands to this:\n\n```html\n\u003ca href='https://mslinn.com' rel='nofollow'\u003eThe Awesome\u003c/a\u003e\n```\n\n\n### With `follow notarget`\n\n```html\n{% href follow notarget https://mslinn.com The Awesome %}\n```\n\nExpands to this:\n\n```html\n\u003ca href='https://mslinn.com'\u003eThe Awesome\u003c/a\u003e\n```\n\n### With `match`\n\nLooks for a post with a matching URL.\n\n```html\n{% href match setting-up-django-oscar.html tutorial site %}\n```\n\nMight expand to this:\n\n```html\n\u003ca href='/blog/2021/02/11/setting-up-django-oscar.html'\u003etutorial site\u003c/a\u003e\n```\n\n### URI\n\n```html\n{% href mslinn.com %}\n```\n\nExpands to this:\n\n```html\n\u003ca href='https://mslinn.com' target='_blank' rel='nofollow'\u003e\u003ccode\u003emslinn.com\u003c/code\u003e\u003c/a\u003e\n```\n\nWhich renders as: [`mslinn.com`](https://mslinn.com)\n\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies.\nYou can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nInstall development dependencies like this:\n\n```shell\n$ BUNDLE_WITH=\"development\" bundle\n```\n\nTo install this gem onto your local machine, run:\n\n```shell\n$ bundle exec rake install\n```\n\n## Test\n\nA test website is provided in the `demo` directory.\n\n1. Set breakpoints.\n2. Initiate a debug session from the command line:\n\n   ```shell\n   $ bin/attach demo\n   ```\n\n3. Once the `Fast Debugger` signon appears, launch the test configuration called `Attach rdebug-ide`.\n4. View the generated website at [`http://localhost:4444`](http://localhost:4444)\n\n\n## Release\n\nTo release a new version,\n\n1. Update the version number in `version.rb`.\n2. Commit all changes to git; if you don't the next step might fail with an unexplainable error message.\n3. Run the following:\n\n    ```shell\n    $ bundle exec rake release\n    ```\n\n    The above creates a git tag for the version, commits the created tag,\n    and pushes the new `.gem` file to [RubyGems.org](https://rubygems.org).\n\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/mslinn/jekyll_href.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmslinn%2Fjekyll_href","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmslinn%2Fjekyll_href","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmslinn%2Fjekyll_href/lists"}