LoginSignup
0
1

More than 1 year has passed since last update.

Macにasciidoctorを導入する

Last updated at Posted at 2022-01-10

rbenvの導入

$ brew install rbenv

rubyの導入

$ rbenv install 3.0.3

rubyの切り替え(global)

$ rbenv global 3.0.3

asciidoctorの導入

$ gem install asciidoctor asciidoctor-pdf asciidoctor-rouge

adocファイルの用意

sample.adoc
:source-highlighter: rouge
:rouge-style: molokai

= Hello world

.hello.py
[source,python]
----
print("Hello World!")
----

htmlへ変換する

$ asciidoctor --backend html5 sample.adoc -o sample.html

htmlを開く

$ open sample.html

PDF化

$ asciidoctor-pdf -a scripts=cjk -a pdf-theme=default-with-fallback-font document.adoc -o sample.pdf

Marked2/Emacs連携

marked2連携用スクリプト作成

$ mkdir -p $HOME/bin
$ vi $HOME/bin/asciidoctor-marked2
$HOME/bin/asciidoctor-marked2
#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
# frozen_string_literal: true
EXT = ".adoc"
MARKED_ORIGIN = ENV["MARKED_ORIGIN"] || Dir.pwd
MARKED_PATH = ENV["MARKED_PATH"]
RBENV_PATH = "/usr/local/bin/rbenv"
RBENV = File.expand_path(RBENV_PATH)
ASCIIDOCTOR = "#{RBENV} exec asciidoctor"
BASENAME = File.basename(MARKED_PATH, EXT)

cmd = "#{ASCIIDOCTOR} -a skip-front-matter --safe-mode safe --base-dir #{MARKED_ORIGIN} --backend html5 -o - -"
system(cmd)

Marked2上でカスタムプロセッサーを指定する

Marked2を起動。

メニューの Marked 2 -> Preferences -> Advanced

Enable Custom Processorを有効にし、
Path部分に /Users/[username]/bin/asciidoctor-marked2 を指定する。

上記[username]部分は環境に合わせて変更すること。

advanced.png

CLIでmarked2を呼び出せるようにラッパースクリプトを用意する

ターミナルから呼び出す際はmarked2で呼び出せるようになる。

$HOME/bin/marked2
#!/bin/sh

if [ "$1" ]; then
  open -a "Marked 2" "$1";
else
  open -a "Marked 2";
fi

Emacs用Marked2の呼び出し設定

init.el
;; -*- coding: utf-8 -*-
;; adoc-mode.el

(unless (package-installed-p 'adoc-mode)
  (package-install 'adoc-mode))

(autoload 'adoc-mode "adoc-mode")

(add-to-list 'auto-mode-alist '("\\.adoc\\'" . adoc-mode))
(add-to-list 'auto-mode-alist '("\\.asciidoc\\'" . adoc-mode))

(when (eq system-type 'darwin)
  (defun adoc-preview-file ()
    "run Marked on the current file and revert the buffer"
    (interactive)
    (shell-command
     (format "open -a /Applications/Marked\\ 2.app %s"
             (shell-quote-argument (buffer-file-name))))))

(defun adoc-mode-init ()
  (local-set-key (kbd "C-c m") 'adoc-preview-file)
  (font-lock-mode -1))

(add-hook 'adoc-mode-hook 'adoc-mode-init)

Emacsで、adocファイルを修正している際、Ctrl-c mで、Marked2を使って
プレビューできるようになる。

hello_world.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1