Підсвітка синтаксису в Jekyll.

rouge logo
Перейшов на використання Rouge, що вже вбудовано в Jekyll 3. Плюси очевидні, незручності(мабуть екранування спецсимволів) почнуть вилазити в процесі. {% rаw %}…{% endrаw %} - екранує код(щось хотів тут написати, але вже забув).

  • Перевіряємо наявність встановлених Rouge та Kramdown
gem list --local
  • У файл config.yml додаємо наступне
markdown: kramdown
kramdown:
  input: GFM
  syntax_highlighter: rouge
  • Дивимось доступні на даний момент стилі та створюємо css-файл.
rougify help style
...
rougify style pastie > css/rouge.css
  • Підключаємо стиль у основний шаблон _layouts/default.html
<link rel="stylesheet" href="/assets/css/rouge.css">
  • Дивимося список підтримуваних мов та аліаси для них. Можна закинути у файл, щоб було під рукою.
rougify list > rougify.list

Використання наступне - необхідний обривок коду обгортаємо тегами {% highlight МОВА ПАРАМЕТРИ %}…{% endhighlight %}. Всі вищепоказані вставки у текстові файли уже показані за цим принципом. Приклад більшого тексту:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
$Title = "Welcome"
$Info = "Install choco and other software"

function Show-Menu {
    param (
        [string]$Title = 'Main Menu'
    )
    Clear-Host
    Write-Host "================ $Title ================"

    Write-Host "1: Install choco."
    Write-Host "2: Install software."
    Write-Host "3: Check software update."
    Write-Host "4: Update software."
    Write-Host "5: Uninstall software."
    Write-Host "6: List cinstalled software."
    Write-Host "7: Disable hibernation."
    Write-Host "8: Interface tweaks."
    Write-Host "Q: Quit."

    Write-Host "==========================================="
}

do
 {
    Show-Menu
    $selection = Read-Host "Please make a selection"
    switch ($selection)
    {
    '1' {
    Set-ExecutionPolicy Bypass -Scope Process -Force; `
    iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    pause
    exit
    } '2' {
    choco install doublecmd --nocolor --limitoutput --no-progress -y
    } '3' {
    choco outdated
    } '4' {
    choco update all
    } '5' {
    choco uninstall doublecmd --nocolor --limitoutput --no-progress -y
    } '6' {
    choco list -localonly
    } '7' {
    powercfg -h off
    } '8' {
    reg import first_run.reg
	cmd /c del /f /q %systemdrive%\users\%username%\desktop\"Microsoft Edge.lnk"
    }
    }
    pause
 }
 until ($selection -eq 'q')

Написано по даному тексту.