mirror of
https://github.com/aljazceru/twentyone-world.github.io.git
synced 2025-12-19 15:14:19 +01:00
feat: update navigation and footer (#17)
* refactor(layout): move back link to layout * feat: add concept.svg * feat(menu): cleanup * feat(footer): add sitemap
This commit is contained in:
@@ -1,143 +0,0 @@
|
||||
# Highlight.js
|
||||
|
||||
Highlight.js highlights syntax in code examples on blogs, forums and,
|
||||
in fact, on any web page. It's very easy to use because it works
|
||||
automatically: finds blocks of code, detects a language, highlights it.
|
||||
|
||||
Autodetection can be fine tuned when it fails by itself (see "Heuristics").
|
||||
|
||||
|
||||
## Basic usage
|
||||
|
||||
Link the library and a stylesheet from your page and hook highlighting to
|
||||
the page load event:
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="styles/default.css">
|
||||
<script src="highlight.pack.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
```
|
||||
|
||||
This will highlight all code on the page marked up as `<pre><code> .. </code></pre>`.
|
||||
If you use different markup or need to apply highlighting dynamically, read
|
||||
"Custom initialization" below.
|
||||
|
||||
- You can download your own customized version of "highlight.pack.js" or
|
||||
use the hosted one as described on the download page:
|
||||
<http://softwaremaniacs.org/soft/highlight/en/download/>
|
||||
|
||||
- Style themes are available in the download package or as hosted files.
|
||||
To create a custom style for your site see the class reference in the file
|
||||
[classref.txt][cr] from the downloaded package.
|
||||
|
||||
[cr]: http://github.com/isagalaev/highlight.js/blob/master/classref.txt
|
||||
|
||||
|
||||
## node.js
|
||||
|
||||
Highlight.js can be used under node.js. The package with all supported languages is
|
||||
installable from NPM:
|
||||
|
||||
npm install highlight.js
|
||||
|
||||
Alternatively, you can build it from the source with only languages you need:
|
||||
|
||||
python tools/build.py -tnode lang1 lang2 ..
|
||||
|
||||
Using the library:
|
||||
|
||||
```javascript
|
||||
var hljs = require('highlight.js');
|
||||
|
||||
// If you know the language
|
||||
hljs.highlight(lang, code).value;
|
||||
|
||||
// Automatic language detection
|
||||
hljs.highlightAuto(code).value;
|
||||
```
|
||||
|
||||
## Tab replacement
|
||||
|
||||
You can replace TAB ('\x09') characters used for indentation in your code
|
||||
with some fixed number of spaces or with a `<span>` to give them special
|
||||
styling:
|
||||
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
hljs.tabReplace = ' '; // 4 spaces
|
||||
// ... or
|
||||
hljs.tabReplace = '<span class="indent">\t</span>';
|
||||
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
```
|
||||
|
||||
## Custom initialization
|
||||
|
||||
If you use different markup for code blocks you can initialize them manually
|
||||
with `highlightBlock(code, tabReplace, useBR)` function. It takes a DOM element
|
||||
containing the code to highlight and optionally a string with which to replace
|
||||
TAB characters.
|
||||
|
||||
Initialization using, for example, jQuery might look like this:
|
||||
|
||||
```javascript
|
||||
$(document).ready(function() {
|
||||
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
|
||||
});
|
||||
```
|
||||
|
||||
You can use `highlightBlock` to highlight blocks dynamically inserted into
|
||||
the page. Just make sure you don't do it twice for already highlighted
|
||||
blocks.
|
||||
|
||||
If your code container relies on `<br>` tags instead of line breaks (i.e. if
|
||||
it's not `<pre>`) pass `true` into the third parameter of `highlightBlock`
|
||||
to make highlight.js use `<br>` in the output:
|
||||
|
||||
```javascript
|
||||
$('div.code').each(function(i, e) {hljs.highlightBlock(e, null, true)});
|
||||
```
|
||||
|
||||
|
||||
## Heuristics
|
||||
|
||||
Autodetection of a code's language is done using a simple heuristic:
|
||||
the program tries to highlight a fragment with all available languages and
|
||||
counts all syntactic structures that it finds along the way. The language
|
||||
with greatest count wins.
|
||||
|
||||
This means that in short fragments the probability of an error is high
|
||||
(and it really happens sometimes). In this cases you can set the fragment's
|
||||
language explicitly by assigning a class to the `<code>` element:
|
||||
|
||||
```html
|
||||
<pre><code class="html">...</code></pre>
|
||||
```
|
||||
|
||||
You can use class names recommended in HTML5: "language-html",
|
||||
"language-php". Classes also can be assigned to the `<pre>` element.
|
||||
|
||||
To disable highlighting of a fragment altogether use "no-highlight" class:
|
||||
|
||||
```html
|
||||
<pre><code class="no-highlight">...</code></pre>
|
||||
```
|
||||
|
||||
|
||||
## Export
|
||||
|
||||
File export.html contains a little program that allows you to paste in a code
|
||||
snippet and then copy and paste the resulting HTML code generated by the
|
||||
highlighter. This is useful in situations when you can't use the script itself
|
||||
on a site.
|
||||
|
||||
|
||||
## Meta
|
||||
|
||||
- Version: 7.1
|
||||
- URL: http://softwaremaniacs.org/soft/highlight/en/
|
||||
- Author: Ivan Sagalaev (<maniac@softwaremaniacs.org>)
|
||||
|
||||
For the license terms see LICENSE files.
|
||||
For the list of contributors see AUTHORS.en.txt file.
|
||||
@@ -1,149 +0,0 @@
|
||||
# Highlight.js
|
||||
|
||||
Highlight.js нужен для подсветки синтаксиса в примерах кода в блогах,
|
||||
форумах и вообще на любых веб-страницах. Пользоваться им очень просто,
|
||||
потому что работает он автоматически: сам находит блоки кода, сам
|
||||
определяет язык, сам подсвечивает.
|
||||
|
||||
Автоопределением языка можно управлять, когда оно не справляется само (см.
|
||||
дальше "Эвристика").
|
||||
|
||||
|
||||
## Простое использование
|
||||
|
||||
Подключите библиотеку и стиль на страницу и повесть вызов подсветки на
|
||||
загрузку страницы:
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="styles/default.css">
|
||||
<script src="highlight.pack.js"></script>
|
||||
<script>hljs.initHighlightingOnLoad();</script>
|
||||
```
|
||||
|
||||
Весь код на странице, обрамлённый в теги `<pre><code> .. </code></pre>`
|
||||
будет автоматически подсвечен. Если вы используете другие теги или хотите
|
||||
подсвечивать блоки кода динамически, читайте "Инициализацию вручную" ниже.
|
||||
|
||||
- Вы можете скачать собственную версию "highlight.pack.js" или сослаться
|
||||
на захостенный файл, как описано на странице загрузки:
|
||||
<http://softwaremaniacs.org/soft/highlight/download/>
|
||||
|
||||
- Стилевые темы можно найти в загруженном архиве или также использовать
|
||||
захостенные. Чтобы сделать собственный стиль для своего сайта, вам
|
||||
будет полезен справочник классов в файле [classref.txt][cr], который тоже
|
||||
есть в архиве.
|
||||
|
||||
[cr]: http://github.com/isagalaev/highlight.js/blob/master/classref.txt
|
||||
|
||||
|
||||
## node.js
|
||||
|
||||
Highlight.js можно использовать в node.js. Библиотеку со всеми возможными языками можно
|
||||
установить с NPM:
|
||||
|
||||
npm install highlight.js
|
||||
|
||||
Также её можно собрать из исходников с только теми языками, которые нужны:
|
||||
|
||||
python tools/build.py -tnode lang1 lang2 ..
|
||||
|
||||
Использование библиотеки:
|
||||
|
||||
```javascript
|
||||
var hljs = require('highlight.js');
|
||||
|
||||
// Если вы знаете язык
|
||||
hljs.highlight(lang, code).value;
|
||||
|
||||
// Автоопределение языка
|
||||
hljs.highlightAuto(code).value;
|
||||
```
|
||||
|
||||
|
||||
## Замена TABов
|
||||
|
||||
Также вы можете заменить символы TAB ('\x09'), используемые для отступов, на
|
||||
фиксированное количество пробелов или на отдельный `<span>`, чтобы задать ему
|
||||
какой-нибудь специальный стиль:
|
||||
|
||||
```html
|
||||
<script type="text/javascript">
|
||||
hljs.tabReplace = ' '; // 4 spaces
|
||||
// ... or
|
||||
hljs.tabReplace = '<span class="indent">\t</span>';
|
||||
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
```
|
||||
|
||||
|
||||
## Инициализация вручную
|
||||
|
||||
Если вы используете другие теги для блоков кода, вы можете инициализировать их
|
||||
явно с помощью функции `highlightBlock(code, tabReplace, useBR)`. Она принимает
|
||||
DOM-элемент с текстом расцвечиваемого кода и опционально - строчку для замены
|
||||
символов TAB.
|
||||
|
||||
Например с использованием jQuery код инициализации может выглядеть так:
|
||||
|
||||
```javascript
|
||||
$(document).ready(function() {
|
||||
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
|
||||
});
|
||||
```
|
||||
|
||||
`highlightBlock` можно также использовать, чтобы подсветить блоки кода,
|
||||
добавленные на страницу динамически. Только убедитесь, что вы не делаете этого
|
||||
повторно для уже раскрашенных блоков.
|
||||
|
||||
Если ваш блок кода использует `<br>` вместо переводов строки (т.е. если это не
|
||||
`<pre>`), передайте `true` третьим параметром в `highlightBlock`:
|
||||
|
||||
```javascript
|
||||
$('div.code').each(function(i, e) {hljs.highlightBlock(e, null, true)});
|
||||
```
|
||||
|
||||
|
||||
## Эвристика
|
||||
|
||||
Определение языка, на котором написан фрагмент, делается с помощью
|
||||
довольно простой эвристики: программа пытается расцветить фрагмент всеми
|
||||
языками подряд, и для каждого языка считает количество подошедших
|
||||
синтаксически конструкций и ключевых слов. Для какого языка нашлось больше,
|
||||
тот и выбирается.
|
||||
|
||||
Это означает, что в коротких фрагментах высока вероятность ошибки, что
|
||||
периодически и случается. Чтобы указать язык фрагмента явно, надо написать
|
||||
его название в виде класса к элементу `<code>`:
|
||||
|
||||
```html
|
||||
<pre><code class="html">...</code></pre>
|
||||
```
|
||||
|
||||
Можно использовать рекомендованные в HTML5 названия классов:
|
||||
"language-html", "language-php". Также можно назначать классы на элемент
|
||||
`<pre>`.
|
||||
|
||||
Чтобы запретить расцветку фрагмента вообще, используется класс "no-highlight":
|
||||
|
||||
```html
|
||||
<pre><code class="no-highlight">...</code></pre>
|
||||
```
|
||||
|
||||
|
||||
## Экспорт
|
||||
|
||||
В файле export.html находится небольшая программка, которая показывает и дает
|
||||
скопировать непосредственно HTML-код подсветки для любого заданного фрагмента кода.
|
||||
Это может понадобится например на сайте, на котором нельзя подключить сам скрипт
|
||||
highlight.js.
|
||||
|
||||
|
||||
## Координаты
|
||||
|
||||
- Версия: 7.1
|
||||
- URL: http://softwaremaniacs.org/soft/highlight/
|
||||
- Автор: Иван Сагалаев (<maniac@softwaremaniacs.org>)
|
||||
|
||||
Лицензионное соглашение читайте в файле LICENSE.
|
||||
Список соавторов читайте в файле AUTHORS.ru.txt
|
||||
Reference in New Issue
Block a user