設定ファイルに指定されたパス配下の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"
mime_ext_table = "xxx/etc/mime_extension_table.conf"
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 です。 |
mime_ext_table | 拡張子とMIMEタイプ対応表のファイル名です。指定された内容を設定に追加します。主にシステム設定の情報が不足してる場合や、間違っている場合に利用します、詳細はMIMEタイプ対応表の説明を参照してください。 |
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_mode、directory_view_roots、directory_view_hidden、directory_view_path_hiddenについては、ディレクトリ・ビューの詳細を参照してください。
go言語のtext/tmplateのフォーマットです。 以下のテンプレート関数が追加されています。
テンプレート関数 | 処理内容 |
---|---|
svg_icon アイコン名 |
指定されたアイコン名で、SVGアイコンのデータを生成します。 |