Highlight-js, bileşen tabanlı bir sözdizimi vurgulama kitaplığı olan Highlightjs'nin eşzamansız bir Fandom bağlantı noktasıdır. Orijinal belgeler readthedocs.io adresindedir.
Installation
Betiği içe aktarma
Highlight-js'yi kullanmak için, onu betiğinize içe aktarmanız gerekir. mw.hook kullanarak dev.highlight olayını dinleyebilirsiniz.
// sınıf koşullarından kaçınmak için kancayı içe aktarmadan önce kaydedin
mw.hook('dev.highlight').add(function(hljs) {
// hljs, window.dev.highlight için bir kısayoldur
});
importArticle({ type: 'script', article: 'u:dev:MediaWiki:Highlight-js.js' });
Betik bir window.dev.highlight (kanca içinde dahili takma ad hljs) oluşturur.
Dilleri yükleme
Kitaplık nesnesi, dilleri yüklemek için aşağıdaki yöntemlere sahiptir:
hljs.loadLanguages•hljs.loadLanguage(işlev)- Dil adı/diğer ad(lar) dizesini/dizisini kabul eder.
- Dil bileşenlerini yükler ve kullanılacak Ertelenmiş bir olay döndürür.
- Çözümlendiğinde bağımsız değişken olarak
window.dev.highlightdeğerini iletir.
hljs.loadAllLanguages- Kitaplıktaki tüm dil bileşenlerini yükler.
- Bağımsız değişken olarak hljs ile çözülen bir Ertelenmiş olay döndürür.
hljs.listLanguages(işlev)- Yüklenmiş bir dizi dil bileşeni adı döndürür.
hljs.registerLanguage(işlev)- Yeni dil bileşenlerini kaydetmek/yapılandırmak için kullanılan dahili yöntem.
hljs.loadedLanguage(işlev)- Dil adını/diğer adı belirten bir dizeyi kabul eder.
- Yapılandırmasının yüklenip yüklenmediğini gösteren bir boole döndürür.
Kütüphane verileri ve doğrulama
Kitaplık doğrulaması ve veri alımı için aşağıdaki nesne yöntemleri/üyeleri kullanılır:
hljs.registry(nesne)- Kitaplık doğrulaması için diller, takma adlar ve stiller kaydı.
- Aşağıdaki anahtarları içerir:
-
languages- kütüphanede bulunan dil kodlarıaliases- dil takma adları için yeniden adlandırılmamış nesnesistyles- başlıklara nesne eşleme stili adları
hljs.canonicalName(işlev)- Bir dil adı/takma adı için bir dize kabul eder.
- Geçerliyse kurallı dil adını veya
undefineddöndürür.
hljs.getLanguage(işlev)- Dil adını/diğer adı belirten bir dizeyi kabul eder.
- Dil bileşeni yapılandırması için nesneyi döndürür.
hljs.validLanguage(işlev)- Dil adını/diğer adı belirten bir dizeyi kabul eder.
- Geçerli olup olmadığını gösteren bir boole döndürür.
Vurgulama işlevleri
Dil bileşenleri yüklendiğinde vurgulamak için aşağıdaki yöntemler kullanılır.
hljs.highlight(işlev)- Ana işlev - vurgulanacak bir dil adı ve dize değeri kabul eder.
- Bağımsız değişkenler:
(name, value, ?ignore_illegals, ?continuation) - Aşağıdaki anahtarlarla bir nesne oluşturur.
-
value- vurgulanmış metinlanguage- dil adı, yeniden adlandırılmamışrelevance- vurgulanan kimliklerin sayısı
- You need to have
hljs.loadLanguage(name)first!
hljs.highlightBlock(işlev)- DOM ögeleri için ana işlev - bir DOM düğümünü kabul eder.
- Bağımsız değişkenler:
(block)- kodun bloğu - Bir sınıf adı veya
nohighlightolarak dil adını bekler. - Bloğu vurgular ve blok değişkenine bazı nesne anahtarları ekler.
- Önce dili yüklemeniz gerekiyor!
hljs.highlightAuto(işlev)- En yüksek alaka düzeyine sahip dili hesaplar.
- Metni ve isteğe bağlı bir dil alt kümesini kabul eder.
- Bağımsız değişkenler:
(block) - O dil için
hljs.highlightnesnesini döndürür. - Önce tüm dilleri yüklemeniz gerekiyor!
hljs.initHighlightingOnLoad(işlev)- Madde içeriğindeki tüm düz kod bloklarını otomatik olarak vurgular.
- Ayrıca yeni maddeler veya içerik yüklendiğinde kodu vurgular.
- Not: Bu yöntem
hljs.highlightAutokullanmaz.
hljs.initHighlighting(işlev)- Madde içeriğindeki tüm düz kod bloklarını bir kez vurgular.
- Bağımsız değişkenler:
($content)- JQuery olarak içerik (genelliklemw.util.$content) hljs.useTheme(işlev)- Bir stil adını kabul eder ve o anda kullanılan stil olarak ayarlar.
Dil desteği
Aşağıdaki diller desteklenir:
- plaintext
- shell
- clojure-repl
- csp
- dockerfile
- brainfuck
- diff
- json
- handlebars
- erlang-repl
- tex
- prolog
- apache
- go
- r
- julia-repl
- htmlbars
- vbscript
- gradle
- makefile
- xquery
- cmake
- actionscript
- basic
- yaml
- lisp
- ocaml
- bash
- nginx
- markdown
- scala
- django
- dart
- css
- purebasic
- lua
- python
- xml
- haskell
- moonscript
- applescript
- matlab
- java
- objectivec
- rust
- processing
- php
- erlang
- coffeescript
- asciidoc
- clojure
- swift
- ruby
- less
- perl
- typescript
- scheme
- javascript
- fortran
- arduino
- cs
- excel
- kotlin
- d
- cpp
- ada
- scss
- julia
- powershell
- vim
- sql
- mathematica
Temalar
Aşağıdaki temalar desteklenir:
- dark
- androidstudio
- codepen-embed
- vs
- darcula
- monokai
- github-gist
- tomorrow
- dracula
- monokai-sublime
- tomorrow-night-bright
- tomorrow-night-eighties
- googlecode
- tomorrow-night
- tomorrow-night-blue
- default
- solarized-light
- solarized-dark
- github
- atom-one-dark
- atom-one-dark-light
- vs2015
- gruvbox-dark
- naysayer
- atom-one-dark-reasonable
- ef-dream
- kanagawa
- nord
- tokyo-night
- catppuccin-latte
- catppuccin-frappe
- catppuccin-macchiato
- catppuccin-mocha