@6>
<@local(export_dir)>
<@>
<@> reStructuredText/Sphinx形式
<@>
<$logs = argv#0>
<$opt = argv#1>
<$export_dir = v.blogpub_dir . 'sphinx/'>
<@ifexec(! logs, begin.html)>
reStructuredText出力 / Sphinx連携
reStructuredTextで書かれた記事を <@export_dir> に .rst ファイルとして出力します。
<$break()>
<$end.html>
<@>#############################################################################
<@> 静的HTML出力 exporter
<@>#############################################################################
<$exporter = loadapp('adiary::Export_reStructuredText')>
<$ifbreak(!exporter)>
<$opt.export_dir = export_dir>
<$opt.title_line = '@' %x 60>
<$opt.project = 'index'>
<$opt.sphinx_init = "sphinx-quickstart -q -p <@opt.project> -a %a -v 1.0 -l <@Locale> --epub --ext-doctest --ext-todo --ext-mathjax --ext-ifconfig --ext-viewcode --ext-githubpages">
<$opt.init_check = 'conf.py'>
<@>////////////////////////////////////////////////////////////////////////////
<@> 初期化処理(必要なファイルをコピー)
<@>////////////////////////////////////////////////////////////////////////////
<$opt.init = begin>
<$ifreturn(! v.special_export)>
<@local(dir, t, files, session, option)>
<$s = v.blog>
<$session = argv#0>
<$option = argv#1>
<$files_dir = 'files/'>
<@> アルバムデータのコピー
<$dir = export_dir . files_dir>
<$session.msg("Album files copy to '<@dir>'")>
<$dir_copy(v.blogimg_dir(), dir)>
<$dir_delete("<@dir>.trashbox/")>
<$end>
<@>////////////////////////////////////////////////////////////////////////////
<@> index.rstの雛形
<@>////////////////////////////////////////////////////////////////////////////
<$opt.index_rst_skel = begin>
<@local(t, files)>
<$files = argv#0>
.. toctree::
<@if(opt.numbered, "\t:numbered:\n")> <@\>
<@if(opt.maxdepth ne '', "\t:maxdepth: " . int(opt.maxdepth) . "\n")> <@\>
<@"\n">
<@forexec(t, files, begin)><@"\t<@t.file>\n"><$end>
<$end>
<@>////////////////////////////////////////////////////////////////////////////
<@> index.htmlの雛形
<@>////////////////////////////////////////////////////////////////////////////
<$opt.index_skel = begin>
<@local(t, logs, builder, match)>
<$logs = argv#0>
<$builder = opt.builder>
reStructuredText export
reStructuredText export<@if(builder, " (<@builder>)")>
<$match = false>
<@ifexec( builder, begin.builders )>
<@ifexec( match(builder, "epub"), begin)><$match=1>
<$end>
<@ifexec( match(builder, "html"), begin)><$match=1>
index.html
<$end>
<@ifexec( match(builder, "latexpdf"), begin)><$match=1>
<$end>
<@ifexec(!match, begin)>
_build/<@builder>/
<$end>
<$end.builders>
.rst files
<@forexec(t, logs, begin)>
<@t.year>-<@t.mon>-<@t.day> |
<@t.file> |
<@t.title> |
<$end>
export date: <@Timestamp>
<$end>
<@>////////////////////////////////////////////////////////////////////////////
<$ajax_return = exporter.export( logs, opt )>