是否可以在mediawiki开箱即用(非常首选)为同一部分提供多个名称,或者我是否需要编写自己的hook / extension / plugin(如果有的话,提示如何做非常感谢)?
就我而言,我在单个编译页面上有示例代码,我希望通过每篇文章的名称链接到多个单独的文章。例如,我想要做以下工作。
页面:中断代码示例
===(EIMSK|EICRA)===
void interrupt01_init(void)
{
EICRA = 0X0F; // in binary, 1111. That is, the rising edge of INT1 and INT0 generate an interrupt request.
EIMSK = 0X03; // in binary, 0011. Enables INT0 and INT1 interrupts.
}
以下两个内容都链接到同一部分,但每个页面都有相应的名称:
页面:EICRA:
[[Interrupts Code Examples#{{PAGENAME}}]]
页面:EIMSK:
[[Interrupts Code Examples#{{PAGENAME}}]]
有关完整上下文,请参阅示例页面http://narwhaledu.com/AVRwiki/index.php?title=PCMSK0。
我可以使用像mediawiki: is there a way to automatically create redirect pages that redirect to the current page?这样的东西,但有可能为部分而不是页面编写它吗?此外,虽然可以接受,但我不希望允许的别名是页面上的所有部分;例如,在http://narwhaledu.com/AVRwiki/index.php?title=Interrupts_Code_Examples上,我有一个"关于"部分。
编辑: 如果不清楚,最好是用户访问的时间
页面:中断代码示例#PAGENAME
他们看到一个填写正确的章节标题,而不是" EIMSK或EICRA示例代码" (因为代码示例中可能有很多别名)
==={{{PAGENAME}}}===
void interrupt01_init(void)
{
EICRA = 0X0F; // in binary, 1111. That is, the rising edge of INT1 and INT0 generate an interrupt request.
EIMSK = 0X03; // in binary, 0011. Enables INT0 and INT1 interrupts.
}
我可以进行工作而不是链接。
页面:模板:中断代码示例
=={{#ifexist: {{{pagename}}} | [[{{{pagename}}}]] | External Interrupts Example Code One}}==
{{Template:ExampleCode~PCMSK0, PCMSK1, PCMSK2, PCICR, PCINT0_vect, PCINT1_vect}}
我理想的语法是
[[ Template:Interrupts Code Examples|pagename={{PAGENAME}} ]]
但显然这会生成一个指向不存在的页面pagename=Name_of_Register
的链接,而不是链接到Interrupts Code Examples
并传递参数{{PAGENAME}}
,以便我可以在Interrupts Code Examples
中引用它{{{pagename}}}
,从而生成我的章节标题..
这会使编译页面保持干净(只有两个代码示例,而不是每个别名复制每个别名,我当前的解决方案),但是如果我转换,我只能将参数传递给模板,而不是我链接到模板,我相信。这是真的吗?
我可能只使用"示例代码一"因为这开始打破了我的大脑,所以最终可以获得维基标记的可读性......
答案 0 :(得分:1)
任何HTML锚点都可用作节链接。所以,如果你有<span id="foo">
,你可以使用[[Bla#foo]]跳转到范围。每个ID你需要一个HTML元素,但我认为这仍然可行。