Skip to content

Latest commit

 

History

History
89 lines (69 loc) · 4.8 KB

cat_mdview.md

File metadata and controls

89 lines (69 loc) · 4.8 KB

cat_mdviewプログラム

設定ファイルに指定されたパス配下のMarkdownドキュメントを表示するWebUIです。

プロキシからアカウント名をHTTPヘッダーで渡されることを前提としていますので、認証処理はフロントのプロキシで実装してください。

エラー処理

エラー時は、プロセスが異常ステータスで終了します。

処理

コマンドラインは、以下の通りです。

cats_mdview [-d <url_path>] 設定ファイル名

自前ではdaemon化等のバックグラウンド実行の機能は提供しません。
systemd等のプロセス管理のシステムから起動してください。

-dオプションでURL pathを渡すと、HTTP通信は行なわなくなり、本来HTTPでアクセスしたときに作成するHTMLを標準出力に出力します。

設定ファイル書式

設定ファイルは、TOMLフォーマットで、以下がサンプルです。

socket_type = "tcp"
socket_path = "127.0.0.1:9000"
cache_control = "max-age=30, must-revalidate"

document_root = "/xxx/var/www_md"

tmpl_paths = [
  "/xxx/lib/tmpl/*.tmpl",
  "/xxx/lib/app_tmpl/mdview.tmpl",
]
main_tmpl = "mdview.tmpl"
index_name = "README.md"

markdown_ext = ["md", "markdown"]
markdown_config  = "/xxx/etc/markdown.conf"
theme_style = "radio"
location_navi = "dirs"

directory_view_mode = "auto"
directory_view_roots = [
  "/xxx/var/www",
  "/xxx/var/www_md",
  "/xxx/var/www_tmpl",
]
directory_view_hidden = [
  '^\.',
]
directory_view_path_hidden = [
  '^/(css|font|js|lib)/',
]

設定ファイルの各パラメータの意味は以下のとおりです。

ルート要素

パラメータ名 意味
socket_type tcp(TCPソケット)とunix(Unixドメインソケット)が指定できます。
socket_path tcpの場合はIPアドレスとポート番号、unixの場合はソケットファイルのファイルパスを指定します。
cache_control HTTPのCache-Controlヘッダーに設定する値です。空文字("")の場合はCache-Controlヘッダーを設定しません。
url_top_path プロキシ元のURLパスを指定します。省略時は/パスにプロキシしているとして処理します。
url_lib_path JavaScript、CSS、フォントファイルなどの外部ファイルディレクトリ(/css/font/js/lib)が置かれているパスを指定します。省略時は/パスに置かれているとして処理します。
document_root 表示するソースデータが置かれているトップディレクトリです。
index_name ディレクトリの場合に、代わりに使用するMarkdownファイル名です。省略可能で、省略時の値はREADME.mdです。
tmpl_paths 起動時に読み込みテンプレートファイルのリストです。
icon_path svg_iconテンプレート関数で生成するSVGアイコンのデータ置き場です。
main_tmpl アプリが始めに呼び出すのテンプレート名です。tmpl_pathsを使って読み込まれたテンプレート群を、このテンプレート名で呼び出して、HTMLを生成します。省略可能で、省略時の値はmdview.tmplです。
markdown_ext Markdownファイルの拡張子リストです。システムの指定より優先されます。省略可能で、省略時の値は["md", "markdown"]です。
markdown_config Markdownファイルの書式の指定です。詳細はmarkdown書式の説明を参照してください。
theme_style テーマの切り替え方法の指定です。radioを指定するとラジオボタンで選択します。osを指定するとOSの設定に従います。デフォルトはradioです。
location_navi ページ位置のナビ表示の指定です。dirsを指定するとURLパス階層のナビゲーションを表示します。noneを指定するとナビ表示を無効にします。
text_view_mode テキストファイルを表示方法をしていします。そのまま表示するrawと、Markdown同様にHTMLに加工するhtmlが選べます。省略時の値はhtmlです。

directory_view_modedirectory_view_rootsdirectory_view_hiddendirectory_view_path_hiddenについては、ディレクトリ・ビューの詳細を参照してください。

テンプレートファイルフォーマット

go言語のtext/tmplateのフォーマットです。 以下のテンプレート関数が追加されています。

テンプレート関数 処理内容
svg_icon アイコン名 指定されたアイコン名で、SVGアイコンのデータを生成します。