neovim/my_snippets/html.lua

116 lines
3.1 KiB
Lua
Raw Permalink Normal View History

-- My HTML snippets
-- Below, the duplicate of brackets, for instance in the CSS code, is for
-- escaping delimiters.
-- Set the local variables (shortcuts)
local ls = require("luasnip")
local s = ls.snippet
local i = ls.insert_node
local fmt = require("luasnip.extras.fmt").fmt
return {
-- A main snippet setting the outer structure, with the style tag.
-- Should be completed with the nested article item below.
s(
{
trig = "mcim",
name = "Main article structure for MC portal",
dscr = "Insert an HTML structure to add bibliographic description on the clinical medicine portal."
},
fmt(
[[
<article class="mc-{1}-main">
{2}
<style>
.mc-{1}-title {{
color: #cf0063;
font-size: xx-large;
}}
.mc-{1}-item > ul > li {{
padding: 0 !important;
}}
.mc-{1}-item li:not([class])::before,
.mc-{1}-item li::before {{
content: none;
}}
</style>
</article>
]],
{
i(1, "Class identifier"),
i(0)
},
{
repeat_duplicates = true
}
)
),
-- Snippet that inserts an article with bibliographic metatada, to be nested
-- in the upper main structure.
s(
{
trig = "mcii",
name = "Item article structure for MC portal",
dscr = "Insert an HTML structure to add an item bibliographic description on the clinical medicine portal."
},
fmt(
[[
<article class="mc-{1}-item">
<ul>
<li>Dorland W. Dorlands illustrated medical dictionary. 4th ed.</li>
<li>Philadelphia: Elsevier, 2020.</li>
<li>Cote : W 13 ed 4</li>
<li>
<a lang="fr"
dir="ltr"
type="html/text"
href="https://slsp-unige.primo.exlibrisgroup.com/articleermalink/41SLSP_UGE/l0hvjc/alma991008098789705502"
hreflang="français"
rel="nofollow"
target="_blank">
Le document dans le catalogue Swisscovery
</a>.
</li>
</ul>
<span placeholder="coins metadata"></span>
</article>{2}
]],
{
i(1, "Class identifier"),
i(0)
},
{
repeat_duplicates = true
}
)
),
-- Snippet that insert a list item with a link to an ebook online.
s(
{
trig = "eli",
name = "List item for an ebook link",
dscr = "Insert a link for an ebook nested in a list item. Designed for the medicine portal HTML structure."
},
fmt(
[[
<li>
<a dir="ltr"
type="html/text"
href="{1}"
lang="{2}"
hreflang="{3}"
ref="nofollow"
target="_blank">
Livre électronique en ligne
</a>.
</li>
]],
{
i(1, "Ebook URL"),
i(2, "Language code (2 chars)"),
i(3, "Language name")
}
)
)
}