{"id":23270609,"url":"https://github.com/arthurrump/markdigextensions","last_synced_at":"2025-08-21T03:31:56.940Z","repository":{"id":89087006,"uuid":"183814236","full_name":"arthurrump/MarkdigExtensions","owner":"arthurrump","description":"Some useful extensions to the Markdig Markdown processor","archived":false,"fork":false,"pushed_at":"2020-01-24T21:18:57.000Z","size":44,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-10T01:56:48.040Z","etag":null,"topics":["markdig","markdown"],"latest_commit_sha":null,"homepage":"","language":"F#","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/arthurrump.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-04-27T19:35:15.000Z","updated_at":"2024-07-08T11:50:20.000Z","dependencies_parsed_at":"2024-01-14T16:07:37.545Z","dependency_job_id":"c23bf1c7-ea68-4586-a346-20c27147d5f1","html_url":"https://github.com/arthurrump/MarkdigExtensions","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arthurrump%2FMarkdigExtensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arthurrump%2FMarkdigExtensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arthurrump%2FMarkdigExtensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arthurrump%2FMarkdigExtensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arthurrump","download_url":"https://codeload.github.com/arthurrump/MarkdigExtensions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230487774,"owners_count":18233862,"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":["markdig","markdown"],"created_at":"2024-12-19T18:53:06.503Z","updated_at":"2024-12-19T18:53:07.380Z","avatar_url":"https://github.com/arthurrump.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MarkdigExtensions\n\n[![Build Status](https://dev.azure.com/arthurrump/MarkdigExtensions/_apis/build/status/CI?branchName=master)](https://dev.azure.com/arthurrump/MarkdigExtensions/_build/latest?definitionId=15\u0026branchName=master)\n\nSome useful extensions to the [Markdig](https://github.com/lunet-io/markdig) Markdown processor.\n\n## MarkdigExtensions.UrlRewriter\n\n[![NuGet](https://img.shields.io/nuget/v/MarkdigExtensions.UrlRewriter.svg)](https://www.nuget.org/packages/MarkdigExtensions.UrlRewriter/)\n\nAllows you to rewrite URLs in link and image tags. It's reason for existence was the need to convert local image paths to a path on the webserver, but it's flexible enough to rewrite any link or image URL.\n\n### Example\n\n```csharp\nusing Markdig;\n\nvar pipeline = new MarkdownPipelineBuilder()\n    .UseUrlRewriter(link =\u003e link.Url.Replace(\"http://\", \"https://\"))\n    .Build();\n\nvar markdown = \"[Anchor](http://example.net), ![Image](http://example.com/img.png)\";\nvar html = Markdown.ToHtml(markdown, pipeline);\n```\n\nResult: `\u003cp\u003e\u003ca href=\"https://example.net\"\u003eAnchor\u003c/a\u003e, \u003cimg src=\"https://example.com/img.png\" alt=\"Image\" /\u003e\u003c/p\u003e`\n\n## MarkdigExtensions.ImageAsFigure\n\n[![NuGet](https://img.shields.io/nuget/v/MarkdigExtensions.ImageAsFigure.svg)](https://www.nuget.org/packages/MarkdigExtensions.ImageAsFigure/)\n\nWraps all images inside a `\u003cfigure\u003e` element with a `\u003cfigcaption\u003e` set to the title of the image. You can choose to only wrap images where a title is set by providing the `onlyWithTitle` argument set to `true`.\n\n### Example\n\n```csharp\nusing Markdig;\n\nvar pipeline = new MarkdownPipelineBuilder()\n    .UseImageAsFigure()\n    .Build();\n\nvar markdown = \"![Alt-text](https://example.com/img.png \\\"Image title text\\\")\";\nvar html = Markdown.ToHtml(markdown, pipeline);\n```\n\nThis will result in the following HTML:\n\n```html\n\u003cp\u003e\n    \u003cfigure\u003e\n    \t\u003cimg src=\"https://example.com/img.png\" alt=\"Alt-text\" title=\"Image title text\" /\u003e\n        \u003cfigcaption\u003eImage title text\u003c/figcaption\u003e\n    \u003c/figure\u003e\n\u003c/p\u003e\n```\n\nYou can choose to only surround an image where a title is provided with a `\u003cfigure\u003e` tag by using `.UseImageAsFigure(onlyWithTitle: true)`. Here's the output for `![Alt-text](https://example.com/img.png)` with both values:\n\n- `onlyWithTitle = false` (default)\n\n  ```html\n  \u003cfigure\u003e\n      \u003cimg src=\"https://example.com/img.png\" alt=\"Alt-text\" /\u003e\n  \u003c/figure\u003e\n  ```\n\n- `onlyWithTitle = true`\n\n  ```html\n  \u003cimg src=\"https://example.com/img.png\" alt=\"Alt-text\" /\u003e\n  ```\n\n## MarkdigExtensions.SyntaxHighlighting\n\n[![NuGet](https://img.shields.io/nuget/v/MarkdigExtensions.SyntaxHighlighting.svg)](https://www.nuget.org/packages/MarkdigExtensions.SyntaxHighlighting/)\n\nUses [ColorCode-Universal](https://github.com/WilliamABradley/ColorCode-Universal) to add syntax highlighting to fenced code blocks. Check out their [LanguageId.cs](https://github.com/WilliamABradley/ColorCode-Universal/blob/master/ColorCode.Core/Common/LanguageId.cs) file to get a list of all supported languages, code blocks with an unsupported language or no language specified will be rendered using the standard renderer.\n\n### Example\n\n```csharp\nusing Markdig;\n\nvar pipeline = new MarkdownPipelineBuilder()\n    .UseSyntaxHighlighting()\n    .Build();\n\nvar markdown = \"```f# \\nprintfn \\\"Hello, %s!\\\" \\\"world\\\" \\n``` \\n\";\nvar html = Markdown.ToHtml(markdown, pipeline);\n```\n\nInstead of a normal code block, this will render a code block with inline CSS to add the colorization:\n\n```html\n\u003cdiv style=\"color:#000000;background-color:#FFFFFF;\"\u003e\u003cpre\u003e\n\tprintfn \u003cspan style=\"color:#A31515;\"\u003e\u0026quot;Hello, %s!\u0026quot;\u003c/span\u003e \u003cspan style=\"color:#A31515;\"\u003e\u0026quot;world\u0026quot;\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n```\n\nYou can specify a custom color scheme by providing a `StyleDictionary`:\n\n```csharp\nusing Markdig;\nusing ColorCode.Styling;\n\nvar pipeline = new MarkdownPipelineBuilder()\n    .UseSyntaxHighlighting(StyleDictionary.DefaultDark)\n    .Build();\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurrump%2Fmarkdigextensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farthurrump%2Fmarkdigextensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurrump%2Fmarkdigextensions/lists"}