Indeed, this is not possible with core PmWiki markup.

In the past, the HTML standards required links to be inline elements which could not contain block-level elements like paragraphs or headings.

So in PmWiki markup, you can have 2 links, one in the heading, the other in the text like this:

!!!!! [[my link|Title]]
[[my link|Some text]]


Or you can have a specially formatted and styled link text like this:

[[my link| %h5% Title %% Some text]]

then you style .h5 in your pub/css/local.css, for example:

.h5 {
  display: block;
  font-weight: bold;
  font-size: 105%;
}

This will work well in <ul> lists for menus and navigation. I'd go with this solution id I needed the feature.


Finally, and as usual, you can define your own markup rule to do this. For example:

  Markup('blocklink', 'directives',
    '/^\\(:blocklink(end|)(?: (.*?))?:\\)/',
    'FmtBlockLink');
  function FmtBlockLink($m) {
    if($m[1]) return "<:block></a>";
    return "<:block>".Keep("<a ".PQA($m[2]).">");
  }

Then in a wiki page, you type:

(:blocklink href="https://www.pmwiki.org"; class=myclass:)
!!!!! Title
Some text
(:blocklinkend:)


Petko


On 15/10/2021 14:09, ABClf wrote:
Something I don't know how to do with pmwiki markup, if doable,
is having an html output like that :

<a href="my link" class="myclass">
      <h5>Title</h5>
      <p>Some text</p>
  </a>

(in order to have the full block working as a link, for easy click in
bootstrap-like list, and benefit of link's style).

In other words, have some html code embedded in <a> and </a> (not the
sole text link).
I believe I can not use regular [[linkadress|linktext]] markup for doing that.

Thank you,
Gilles.

_______________________________________________
pmwiki-users mailing list
pmwiki-users@pmichaud.com
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to