확장 기능:CodeMirror

This page is a translated version of the page Extension:CodeMirror and the translation is 15% complete.
미디어위키 확장 기능 매뉴얼
OOjs UI icon advanced-invert.svg
CodeMirror
출시 상태: 안정
Pride and codemirror.png
구현 사용자 인터페이스
설명 위키텍스트 편집기에서 구문 강조 기능 제공
만든이 Pavel Astakhov (pastakhov토론)
최신 버전 4.0.0
호환성 정책 Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.32+
PHP 5.3+
데이터베이스 변경 아니오
라이선스 GNU General Public License 2.0 or later
다운로드
  • $wgCodeMirrorEnableBracketMatching
  • $wgCodeMirrorAccessibilityColors
  • $wgCodeMirrorLineNumberingNamespaces
CodeMirror 확장 기능 번역 (translatewiki.net에서 가능한 경우)

사용법과 버전 매트릭스를 확인합니다.

Vagrant 역할 codemirror
이슈 미해결 작업 · 버그 보고

The CodeMirror extension provides syntax highlighting in MediaWiki's wikitext editor. It adds a button with the icon Codemirror-icon.png to the editing toolbar that allows for switching syntax highlighting on and off. It supports the 2010 WikiEditor toolbar as well as the VisualEditor toolbar.

By default it is switched off. When switching on, it will replace the standard textarea with the editor provided by CodeMirror library. When switching off, it will be the opposite effect.

The colors used in this extension have been optimised to provide higher contrast, accessibility and better readability.

Please note though, that the updated color scheme is currently only enabled by default for some wikis (see roadmap and configuration).

Bracket matching

This feature allows highlighting of the closest matching pair of surrounding brackets while navigating through wikitext code using the cursor. Bracket matching will be active in both editors when syntax highlighting is turned on, in any namespace using these editors.

Please note that bracket matching is only enabled by default in some wikis (see roadmap and configuration).

Line numbering

In the wikitext edit mode line numbers are automatically displayed in both editors.

Please note that this feature is only enabled for the template namespace on most wikis (see roadmap and configuration).

브라우저 지원

All browsers supported by MediaWiki are supported.

설치

  • Vagrant 를 사용하고 있는 경우에는, vagrant roles enable codemirror --provision로 설치해주세요
수동 설치
  • Install either the WikiEditor extension or the VisualEditor extension , as instructed on their pages; at least one of these is required for this extension to work.
  • 확장기능 폴더를 다운로드후, 다운로드 받은 폴더를 당신의 위키가 설치된 파일 주소의 extensions/ 폴더 안에 넣어 주세요.
  • 아래의 코드를 LocalSettings.php의 말미에 추가합니다:
    wfLoadExtension( 'CodeMirror' );
    
  • Configure as required.
  •   완료 – 위키의 ‘Special:Version’에 이동해서, 확장기능이 올바르게 설치된 것을 확인합니다.

설정하기

For color and style customization, see Meta help page. You can use your own styles for wikitext highlighting. Used styles available here. You should place your own styles to common.css.

Add the following code at the bottom of your LocalSettings.php .

# Enables use of CodeMirror by default but still allow users to disable it
$wgDefaultUserOptions['usecodemirror'] = 1;

To try out the new features mentioned above in your local installation, add the following lines as well. Please note though, that these features are meant to become default features. The settings might not have an effect any more then.

# Enable bracket matching in CodeMirror
$wgCodeMirrorEnableBracketMatching = true;

# Enable accessible colors in CodeMirror
$wgCodeMirrorAccessibilityColors = true;

# Enable line numbering in CodeMirror
# defaults to the template namespace `[ NS_TEMPLATE ]`
# `null` enables it for all namespace
# [] for disabling everywhere
$wgCodeMirrorLineNumberingNamespaces = null;

확장 기능 통합

If your MediaWiki extension adds a new tag and you want to make sure CodeMirror properly highlights the content within it, you can add CodeMirror support to your extension. Here are two examples: Cite extension and PhpTags extension.

JavaScript integration

The following front-end hooks are used in this extension:

Hook Parameters
Type Description
ext.CodeMirror.switch boolean Whether the CodeMirror editor is now shown
jQuery object The current "editor", which is either the normal ‎<textarea /> or the .CodeMirror element.

To do

  • highlighting definition lists ( ;foo :bar ) (phab:T170042)
  • auto-completion (phab:T95100)
  • code folding T166098
  • highlighting inside gallery tag (<gallery> foo | bar </gallery>)

같이 보기