Mediawiki:具有多个名称的相同部分(部分别名/同义词)

时间:2014-01-13 07:08:52

标签: mediawiki

是否可以在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}}},从而生成我的章节标题..

这会使编译页面保持干净(只有两个代码示例,而不是每个别名复制每个别名,我当前的解决方案),但是如果我转换,我只能将参数传递给模板,而不是我链接到模板,我相信。这是真的吗?

我可能只使用"示例代码一"因为这开始打破了我的大脑,所以最终可以获得维基标记的可读性......

1 个答案:

答案 0 :(得分:1)

任何HTML锚点都可用作节链接。所以,如果你有<span id="foo">,你可以使用[[Bla#foo]]跳转到范围。每个ID你需要一个HTML元素,但我认为这仍然可行。