pythonmarkdown的扩展,它为KBD HTML标记添加了标记语法。

kbdextension的Python项目详细描述


针对Python降价的KBD扩展

这个Python-Markdown扩展为HTML <kbd>标记添加了降价语法。<kbd>标记通常用于指示用户输入。此扩展为最多三个不同样式的<kbd>标记提供了降价语法。例如,用户界面使用指南的作者可能希望设置<kbd>标记的样式,以通过键盘键、按钮和菜单选项指示用户输入。KBD扩展使作者可以为每种类型的用户输入创建css,并使用markdown语法相应地设置指南的样式。在

有关详细信息,请参见Usage。在

安装

pip install kbdextension

使用

KBD扩展是一个内联处理器,用于为内联<kbd>标记添加降价语法。用双括号、双大括号或双括号括起来的文本将用HTML <kbd>标记包装。KBD扩展旨在与Python Markdown默认扩展一起使用。如果与其他第三方扩展配对时遇到冲突,可以单独启用或禁用KBD扩展标记指示符。默认情况下启用括号(但可以禁用)。默认情况下,大括号和圆括号处于禁用状态(但可以单独启用)。默认情况下,页面的默认css实现将应用于<kbd>标记。可以将KBD扩展配置为对每个KBD标记指示符使用自定义css。在

括号降价

^{pr2}$

默认情况下启用括号语法。这将生成以下HTML:

<p>Press the <kbd>Enter</kbd> key!</p>

自定义css类可以应用于由方括号markdown生成的<kbd>标记。在

markdown.markdown("Press the [[Enter]] key!",extensions=[KbdExtension(brackets_css="bracket_css")])

这将生成以下HTML:

<p>Press the <kbdclass="bracket_css">Enter</kbd> key!</p>

大括号降价

默认情况下,大括号标记处于禁用状态。可以通过在构造函数中将enable_braces设置为True来启用它。在

markdown.markdown("Click the {{Search}} button!",extensions=[KbdExtension(enable_braces=True)])

这将生成以下HTML:

<p>Click the <kbd>Search</kbd> button!</p>

与括号语法一样,自定义css类可以应用于由大括号markdown生成的<kbd>标记。在

markdown.markdown("Click the {{Search}} button!",extensions=[KbdExtension(enable_braces=True,braces_css="braces-css")],)

这将生成以下HTML:

<p>Click the <kbdclass="braces-css">Search</kbd> button!</p>

括号降价

默认情况下,括号标记被禁用。可以通过在构造函数中将enable_parens设置为True来启用它。在

markdown.markdown("Click the ((File)) menu!",extensions=[KbdExtension(enable_parens=True)])

这将生成以下HTML:

<p>Click the <kbd>File</kbd> menu!</p>

与括号语法一样,自定义css类可以应用于由括号markdown生成的<kbd>标记。在

markdown.markdown("Click the ((File)) menu!",extensions=[KbdExtension(enable_parens=True,parens_css="parens-css")],)

这将生成以下HTML:

<p>Click the <kbdclass="parens-css">File</kbd> menu!</p>

MkDocs配置

KBD扩展可以配置为与MkDocs一起使用。此扩展提供了自己的配置选项,如上面的usage notes所述。配置选项嵌套在mkdocs.yml配置文件的markdown_extensions:部分的键/值映射中。下面提供了此扩展的配置示例。有关在MkDocs中配置降价扩展的详细信息,请参阅MkDocs configuration documentation。在

默认配置

默认配置仅启用括号语法。在

markdown_extensions:-kbdextension

部分配置

此部分配置示例禁用方括号标记标记,并为其呈现的<kbd>标记使用自定义css类启用大括号markdown指示符。在

extra_css:-css/extra.cssmarkdown_extensions:-kbdextension:enable_brackets:falseenable_braces:truebraces_css:braces_kbd_css

完整配置

完整的配置支持方括号、大括号和圆括号的降价指示符,以及每个标记的自定义css。注意,括号在默认情况下是启用的,因此不必将enable_brackets配置设置为true。在

extra_css:-css/extra.cssmarkdown_extensions:-kbdextension:brackets_css:brackets_kbd_cssenable_braces:truebraces_css:braces_kbd_cssenable_parens:trueparens_css:parens_kbd_css

有关在MkDocs中配置自定义css的更多信息,请参阅MkDocs configuration documentation。在

MkDocs示例

下面的示例演示如何使用KBD扩展中可用的所有三个降价指示符。在

MkDocs Example

首先,我们为网站创建了自定义css。对于本例,extra.css文件定义了我们将需要的三个自定义KBD css类。extra.css文件保存在MkDocsdocs_dir目录的css子目录中。以下css用于此示例:

kbd.button-css{font-family:Menlo,Consolas,monospace;font-size:75%;padding:2px6px;color:#ffffff;background-color:#6699cc;border-radius:3px;-webkit-box-shadow:inset0001px#333333;box-shadow:inset0001px#333333;}kbd.menu-css{font-family:Menlo,Consolas,monospace;font-size:75%;padding:2px4px;color:#333333;background-color:#f2f2f2;border-radius:3px;-webkit-box-shadow:inset0001px#333333;box-shadow:inset0001px#333333;}kbd.keyboard-css{font-family:Menlo,Consolas,monospace;font-size:75%;padding:2px6px;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset0-1px0rgba(0,0,0,0.25);box-shadow:inset0-1px0rgba(0,0,0,0.25);}

接下来,我们为示例创建降价。在本例中,我们使用所有三个KBD语法指示符来呈现三个不同的<kbd>HTML标记。降价如下:

Click the {{Open...}} menu or press ((CTRL)) + ((O)) to open.
Click the [[SAVE]] button to save changes.

接下来,mkdocs.yml配置文件更新为包括extra_css:和完整的KBD扩展配置,如下所示:

extra_css:-css/extra.cssmarkdown_extensions:-kbdextension:brackets_css:button-cssenable_braces:truebraces_css:menu-cssenable_parens:trueparens_css:keyboard-css

KBD扩展与MkDocs和Python Markdown一起呈现以下HTML:

Click the <kbdclass="menu-css">Open...</kbd> menu or press <kbdclass="keyboard-css">CTRL</kbd> + <kbdclass="keyboard-css">O</kbd> to open.
Click the <kbdclass="button-css">SAVE</kbd> button to save changes.

许可证

这个软件是根据麻省理工学院的许可证提供的。有关详细信息,请参见LICENSE。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java GridBagLayout不填充区域   java Memozied Fibonacci未运行与常规Fibonacci解决方案   Java Web启动未启动问题   Java中异常和if-then的区别   java从命令提示符运行批处理文件获取错误   socket在Java中验证SSL证书的公共名称   如何在JAVA中检查字符串数组中的相等字   用java语言将音频文件转换成文本文件的语音识别   java为什么foo(1,2,3)没有传递给varargs方法foo(对象…)作为整数[]   java通过蓝牙将奇怪的数据从Arduino传输到Android   java ContainerRequestFilter获取空entitystream   java如何从安卓 studio中删除不兼容类型错误   基本Java错误   在Spring引导中使用REST API时发生java错误   javascript通过从SQL查询派生的URL打开页面