Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Kramdown/Maruku attribute lists in markdown files #1585

Closed
tammersaleh opened this issue Nov 17, 2015 · 9 comments
Closed

Support for Kramdown/Maruku attribute lists in markdown files #1585

tammersaleh opened this issue Nov 17, 2015 · 9 comments

Comments

@tammersaleh
Copy link

Attribute lists are a great way of being able to customize the HTML attributes (class and id), and thus the visual style of the rendered markdown.

Here are some examples:

A simple paragraph with an ID attribute.
{: #para-one}

> A blockquote with a title
{:title="The blockquote title"}
{: #myid}
This *is*{:.underline} some `code`{:#id}{:.class}.

A [link](test.html){:rel='something'} and some **tools**{:.tools}.

It's supported by both Kramdown and Maruku. Would it be possible to add them to Hugo's parser as well?

@bep
Copy link
Member

bep commented Nov 17, 2015

Hugo's parser is mainly Blackfriday (there are some alternatives, but that is the main).

So if you could create a similar issue at

https://github.com/russross/blackfriday

That would make it more likely that this will happen. Please post a reference back to this issue so we can track it.

@tammersaleh
Copy link
Author

Thanks @bep

@msimanga
Copy link

Hope this will help someone. I had similar challenge, I needed to add class="table" to all <table> tags for Bootstrap styling to take effect. Using Hugo v0.16 I used the replace function.

Before
{{ .Content }}

After
{{ replace .Content "<table>" "<table class='table'>" | markdownify }}

I have a very small site so performance isn't an issue with me.

@bep bep added the Stale label Feb 28, 2017
@bep
Copy link
Member

bep commented Feb 28, 2017

This issue has been automatically marked as stale because it has not been commented on for at least four months.

The resources of the Hugo team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, and you feel that it is still valuable, please open a proposal at https://discuss.gohugo.io/.

This issue will automatically be closed in four months if no further activity occurs. Thank you for all your contributions.

@bep
Copy link
Member

bep commented Mar 1, 2017

Note/Update: This issue is marked as stale, and I may have said something earlier about "opening a thread on the discussion forum". Please don't.

If this is a bug and you can still reproduce this error on the latest release or the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.

@inversion
Copy link

@msimanga 's solution almost worked for me, but I had to change markdownify to safeHTML, otherwise some HTML tags would be stripped (e.g. first paragraph's <p> tags). I'm new to Hugo but I'm guessing HTML was being run through markdownify twice.

{{ replace .Content "<table>" "<table class='table'>" | safeHTML }}

@bep bep closed this as completed Apr 9, 2017
@01AutoMonkey
Copy link
Contributor

This would be super useful, e.g. extending HTML lists with js to work a bit like workflowy and identifying which lists by adding a "workflowy" class, or to set the width/height of an image without having to resort to HTML, etc.

@pravin
Copy link

pravin commented Sep 14, 2019

{{ replace .Content "<table>" "<table class='table'>" | markdownify }}

Is it possible to use a regex in replace? I'm moving from nanoc to hugo and I really miss the flexibility of Kramdown.

bep added a commit that referenced this issue Dec 8, 2021
316cec249 Update future events template example (#1595)
3bde7d489 Install mage outside module (#1592)
762e27eff Clarify ignoreFiles regex matching
4d0032051 Add id attribute to h2 elements (#1590)
8262b077c Improve inline resource examples (#1587)
2eae7c7ec fix disqus example name (#1588)
a772f4804 Added install instructions for openSUSE Tumbleweed (#1459)
7ad1c301b Remove screen capture from Hosting on GitHub page (#1586)
a58541f49 add more details on about gh-pages and baseURL on hosting-on-github.md (#1346)
3bd0b46dc Update configuration page (#1585)
4cf1f013e Update OS functions
2c45a95c2 Remove getting-started/code-toggle/
40fdff598 Describe artificial language private use subtags (#1577)
91011d210 Remove google_news from list of internal templates (#1576)
36c7879e4 Update the .Unix function
731063488 Remove a showcase
818c371a0 Update index.md
3136d39d9 netlify: Hugo 0.89.4
092bc9278 Merge branch 'tempv0.89.4'
18e01f105 releaser: Add release notes to /docs for release of 0.89.4
79135281f Correct and sort list of target image formats (#1574)
af4170c7e netlify: Hugo 0.89.3
7f5444251 Merge branch 'tempv0.89.3'
a32e4a6c2 releaser: Add release notes to /docs for release of 0.89.3
6dd3dc3f9 Update configuration.md
5fbe741d7 Update index.md (#1570)
37a69496f netlify: Bump to Hugo 0.89.2
3b293f1f4 Merge branch 'tempv0.89.2'
64c934e7a releaser: Add release notes to /docs for release of 0.89.2
919c51c7d Update index.md
13dd463b1 netlify: Hugo 0.89.1
d8cda1474 releaser: Add release notes to /docs for release of 0.89.1
a2adf7742 releaser: Add release notes to /docs for release of 0.89.1
c3088c4fc Add code toggle to menus page (#1568)
2d0f38978 Remove blank lines from code-toggle output (#1564)
7cf058bfd Add localization examples (#1563)
cf8627c2e Fixing typos, fixing incomplete link (#1561)
c78cc014b Document the removePathAccents setting
70beddaf4 Make corrections to 0.89.0 release notes (#1560)
1917195f0 Update index.md
7fb8e070c Run hugo --gc
1772d45fb Release 0.89.0
d9006179b Merge branch 'tempv0.89.0'
8db86b61e releaser: Add release notes to /docs for release of 0.89.0
abf268571 docs: Regen CLI docs
fbbdb0ab1 Update the timeout default
9cbd1c15a Fix description of lang.FormatNumberCustom
6043b54cc Remove "render" keyword from Host on Render page
f8ea8e84f Clarify description of front matter url (#1557)
91a0c9954 Update Twitter shortcode oEmbed endpoint
79a7405b8 Merge commit 'aa5ac36a3eb68b86c803caec703869efefc8447e'
57667bae6 hugofs: Add includeFiles and excludeFiles to mount configuration
0c9ee0a04 Allow multiple plugins in the PostCSS options map
155799e6b docs: Create path.Clean documentation

git-subtree-dir: docs
git-subtree-split: 316cec2494dc5f908283289371d74f36a73d3d8d
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants