是否可以在mediawiki中提供同一部分的多個名稱開箱即用(非常優選),還是我需要編寫自己的掛接/擴展/插件(如果是這樣,提示如何做到如此讚賞)?Mediawiki:具有多個名稱的相同部分(部分別名/同義詞)
就我而言,我在單個編譯頁面上有示例代碼,我想通過每篇文章的名稱鏈接到多個單獨的文章。例如,我希望像下面這樣的工作。
頁:中斷代碼示例
===(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,我有一個「約」部分。
編輯: 如果它是不明確的,理想情況下,當用戶訪問
頁:中斷代碼示例#頁面名
他們看到的不是「一個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.
}
我可以得到transclusion的工作,但沒有鏈接。
頁:模板:中斷代碼示例
=={{#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}}}
中引用它,從而生成我的分區n標頭..
這將保持編譯頁面乾淨(只有兩個代碼示例,而不是每個別名複製5個每個別名,我的當前解決方案),但我只能將參數傳遞給模板,如果我transclude,而不是如果我鏈接到模板,我相信。這是真的?
我可能只是使用wiki標記可讀性「示例代碼一個」包羅萬象到底,因爲這是開始打破我的大腦......
我想我真的很想像'== [[{{Template:Name_of_Register | pagename = {{PAGENAME}} =='''來工作,因爲我想通過正確的名稱鏈接到子部分(不要混淆當他們看到PCICR而不是PCMSK0時),而不是包括文本(在transclusion中,我可以接受params並根據PAGENAME創建文本),但是它會生成一個名爲'pagename = {{PAGENAME}}'的鏈接。當我得到足夠的代表時,我會保持這個問題的開放和快速。 – orangenarwhals
只需忽略mediawiki自動生成的錨點名稱(您無法真正控制它)。在模板中生成所需的任何額外錨點。 – brightbyte