Thủ thuật với Mediawiki/CharInsert

Từ Thư viện Khoa học VLOS
Bước tới: chuyển hướng, tìm kiếm

CharInsert để làm gì?

Bạn muốn tạo thêm một số nút bấm như trên thanh toolbar của Mediawiki? Kiểu như:(*)


CharInsert - một công cụ mở rộng của Mediawiki viết bởi Brion Vibber, sẽ giúp bạn tạo ra những nút bấm như thế.

Cách làm sau đây được tôi áp dụng thành công cho Mediawiki 167, 182 và 152.

Đối với Mediawiki 167 và 182

Bước 1. Tới thư mục Your_wiki/Extensions và tạo một thư mục mới: CharInsert

Bước 2. Download file: CharInsert.php tại đây và đặt nó trong thư mục CharInsert vừa tạo ở bước trên.

Bước 3. Bổ sung đoạn code(**) sau vào trang Mediawiki:edittools:


<div id="editpage-specialchars" class="plainlinks" style="margin-top: 15px; border-width: 1px; border-style: solid; border-color: #aaaaaa; padding: 2px;">

<span id="edittools_main"><b>Kí tự toán học:</b>
<big>
<charinsert>
√ ≠ ≤ ≥ ≈ ± ° ∩ ∞ ø ≡ ∫ ∑ ∏ × ‰  ∂ ′ ″   – — …  × ÷ ← → · ↔ ↑ ↓ ¹ ² ³ ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ 
</charinsert>
</big>
</span>
<br>
<span id="edittools_greek"><b>Mẫu tự Hy Lạp:</b>
<big>
<charinsert>
π α β γ Γ Δ δ ε Φ φ Ψ ψ Ω ω λ μ ζ η Θ θ ι κ Λ ν Ξ ξ Π  ρ Σ σ ς τ υ Χ χ   
</charinsert>
</big>
</span>
<br>
<span id="edittools_symbols"><b>Phép chấm câu:</b>
<big>
<charinsert>
¿ ¡ « » † ‡ • ‹ › ‘ ’ “ ” § ¶ 
</charinsert>
</big>
</span>
<br>
<span id="edittools_symbols"><b>Kí tự thương mại:</b>
<big>
<charinsert>
™ © ® ¢ € ¥ £ ¤  
</charinsert>
</big>
</span>
<br>
<span id="edittools_wikimarkup">'''Wiki markup:'''
<charinsert>==+==</charinsert>  
<charinsert>'''+'''</charinsert>  
<charinsert>''+''</charinsert>  
<charinsert>[+] [[+]] {{+}} </charinsert>  
<charinsert>[[Thể_loại:+]]</charinsert>  
<charinsert>#redirect[[+]]</charinsert>  
<charinsert><tt>+</tt></charinsert>  
<charinsert><sup>+</sup></charinsert>  
<charinsert><sub>+</sub></charinsert>  
<charinsert><ref>+</ref></charinsert>  
<charinsert><references/></charinsert>  
<charinsert><includeonly>+</includeonly></charinsert>  
<charinsert><noinclude>+</noinclude></charinsert>  
<charinsert>[[Hình:+]]</charinsert>  
</span>
</div>


Bước 4. Bổ sung đoạn mã dưới đây vào cuối file your_wiki/LocalSettings.php, phía trên dòng chứa kí tự ?>:

require_once("$IP/extensions/CharInsert/CharInsert.php");

kết quả trông giống như thế này:

require_once("$IP/extensions/CharInsert/CharInsert.php");

?>

Bước 5. Làm sạch bộ nhớ và thử sửa đổi một trang bất kì. Bạn có thấy gì không?

Bạn thấy gì?

Bạn sẽ thấy một bảng giống như (*), xuất hiện ở phía dưới các cảnh báo (copyrightwarning) của trang soạn thảo: _________________________________________

  • Những sửa đổi của bạn không được vi phạm quyền tác giả của ai và phải dựa trên nguồn gốc kiểm chứng được. Nếu bạn chỉ muốn bàn luận, nêu ý kiến về một chi tiết trong bài, xin dùng trang thảo luận của bài; đừng viết ý kiến vào bài.
  • Xin dùng chỗ thử soạn thảo nếu bạn chỉ muốn thử nghiệm.
  • Xin đọc thêm hướng dẫn về soạn thảoviết bài mới.
  • Tất cả những đóng góp của bạn cho Thư viện Khoa học VLOS sẽ được phát hành dưới giấy phép GFDL (GNU Free Documentation Licence). Nếu bạn không muốn nội dung bạn nhập bị người khác sửa, đừng viết vào đây.
    KHÔNG LẤY TÀI LIỆU TỪ NGUỒN KHÁC MÀ CHƯA XIN PHÉP!


_________________________________________

Với vị trí như thế, sẽ không tiện lợi cho lắm khi bạn muốn nhấn nút chèn. Sẽ tiện lợi hơn, nếu nó nằm phía trên các cảnh báo:

_________________________________________

  • Những sửa đổi của bạn không được vi phạm quyền tác giả của ai và phải dựa trên nguồn gốc kiểm chứng được. Nếu bạn chỉ muốn bàn luận, nêu ý kiến về một chi tiết trong bài, xin dùng trang thảo luận của bài; đừng viết ý kiến vào bài.
  • Xin dùng chỗ thử soạn thảo nếu bạn chỉ muốn thử nghiệm.
  • Xin đọc thêm hướng dẫn về soạn thảoviết bài mới.
  • Tất cả những đóng góp của bạn cho Thư viện Khoa học VLOS sẽ được phát hành dưới giấy phép GFDL (GNU Free Documentation Licence). Nếu bạn không muốn nội dung bạn nhập bị người khác sửa, đừng viết vào đây.
    KHÔNG LẤY TÀI LIỆU TỪ NGUỒN KHÁC MÀ CHƯA XIN PHÉP!

______________________

Như vậy, bạn phải đổi chỗ chúng cho nhau. Nhưng làm thế nào? Có hai cách:

Hai cách

Cách 1

Hãy đặt đoạn code (**) trên vào trang Mediawiki:copyrightwarning (thay vì trang Mediawiki:edittools). Nhưng hình như, theo cách này, khi bạn dùng trình duyệt IE thì các khung viền trên của bảng chèn(*) sẽ bị "lúc ẩn, lúc hiện"!

Bạn không muốn điều đó xảy ra!

Cách 2

Vẫn để đoạn code(**) trên trong trang Mediawiki:edittools, nhưng bạn phải sửa lại file Your_wiki/Includes/EditPage.php. Tại file này, tìm đến đoạn sau:

</textarea>
		" );

		$wgOut->addWikiText( $copywarn );
		
		$wgOut->addHTML( "
{$metadata}
{$editsummary}
{$checkboxhtml}
{$safemodehtml}
");

		$wgOut->addHTML(
"<div class='editButtons'>
	{$buttons['save']}
	{$buttons['preview']}
	{$buttons['live']}
	{$buttons['diff']}
	<span class='editHelp'>{$cancel} | {$edithelp}</span>
</div><!-- editButtons -->
</div><!-- editOptions -->");

		$wgOut->addWikiText( wfMsgForContent( 'edittools' ) );

		$wgOut->addHTML( "

và sửa nó thành:

</textarea>
		" );

                //$wgOut->addWikiText( $copywarn ); 

		$wgOut->addWikiText( wfMsgForContent( 'edittools' ) );  

		$wgOut->addHTML( "
{$metadata}
{$editsummary}
{$checkboxhtml}
{$safemodehtml}
");

		$wgOut->addHTML(
"<div class='editButtons'>
	{$buttons['save']}
	{$buttons['preview']}
	{$buttons['live']}
	{$buttons['diff']}
	<span class='editHelp'>{$cancel} | {$edithelp}</span>
</div><!-- editButtons -->
</div><!-- editOptions -->");

                //$wgOut->addWikiText( wfMsgForContent( 'edittools' ) );

		$wgOut->addWikiText( $copywarn );

		$wgOut->addHTML( "

Cuối cùng, thực hiện lại Bước 5. ở trên.

Đối với Mediawiki 152

  • Bước 1, 2, 34 như với Mediawiki 167 và 182 ở trên.
  • Bước 5: Mở mã nguồn của file Your_wiki/Includes/EditPage.php và tìm đến đoạn:
		$wgOut->addHTML( <<<END
{$toolbar}
<form id="editform" name="editform" method="post" action="$action"
enctype="multipart/form-data">
{$commentsubject}
<textarea tabindex='1' accesskey="," name="wpTextbox1" rows='{$rows}'
cols='{$cols}'{$ew}>
END
. htmlspecialchars( $this->safeUnicodeOutput( $this->textbox1 ) ) .
"
</textarea>
{$metadata}
<br />{$editsummary}
{$checkboxhtml}
{$safemodehtml}
<input tabindex='5' id='wpSave' type='submit' value=\"{$save}\" name=\"wpSave\" accesskey=\"".wfMsg('accesskey-save')."\"".
" title=\"".wfMsg('tooltip-save')."\"/>
<input tabindex='6' id='wpPreview' type='submit' $liveOnclick value=\"{$prev}\" name=\"wpPreview\" accesskey=\"".wfMsg('accesskey-preview')."\"".
" title=\"".wfMsg('tooltip-preview')."\"/>
<input tabindex='7' id='wpDiff' type='submit' value=\"{$diff}\" name=\"wpDiff\" accesskey=\"".wfMsg('accesskey-diff')."\"".
" title=\"".wfMsg('tooltip-diff')."\"/>
<em>{$cancel}</em> | <em>{$edithelp}</em>{$templates}" );
		$wgOut->addWikiText( $copywarn );

rồi sửa đoạn này thành:

		$wgOut->addHTML( <<<END
{$toolbar}
<form id="editform" name="editform" method="post" action="$action"
enctype="multipart/form-data">
{$commentsubject}
<textarea tabindex='1' accesskey="," name="wpTextbox1" rows='{$rows}'
cols='{$cols}'{$ew}>
END
. htmlspecialchars( $this->safeUnicodeOutput( $this->textbox1 ) ) .
"
</textarea>
		");

/**********************     Mediawiki:Edittools    ************************/
		$wgOut->addWikiText( wfMsgForContent( 'edittools' ) );
/*************************************************************************/

		$wgOut->addHTML( "		
{$metadata}
<br />{$editsummary}
{$checkboxhtml}
{$safemodehtml}
		");					
	
		$wgOut->addHTML( "
<input tabindex='5' id='wpSave' type='submit' value=\"{$save}\" name=\"wpSave\" accesskey=\"".wfMsg('accesskey-save')."\"".
" title=\"".wfMsg('tooltip-save')."\"/>
<input tabindex='6' id='wpPreview' type='submit' $liveOnclick value=\"{$prev}\" name=\"wpPreview\" accesskey=\"".wfMsg('accesskey-preview')."\"".
" title=\"".wfMsg('tooltip-preview')."\"/>
<input tabindex='7' id='wpDiff' type='submit' value=\"{$diff}\" name=\"wpDiff\" accesskey=\"".wfMsg('accesskey-diff')."\"".
" title=\"".wfMsg('tooltip-diff')."\"/>
<em>{$cancel}</em> | <em>{$edithelp}</em>{$templates}
		");

/************************ Mediawiki:copyrightwarning  ************************/
		$wgOut->addWikiText( $copywarn );
/*************************************************************************/

  • Bước 6: Làm sạch bộ nhớ và thưởng thức thành quả của bạn!

Chúc may mắn!

Liên kết ngoài



<<< Thủ thuật với Mediawiki

Liên kết đến đây