<@7> <@local(export_dir)> <@> <@> HTML形式 <@> <$logs = argv#0> <$opt = argv#1> <$export_dir = v.blogpub_dir . 'static/'> <@ifexec(! logs, begin.logs)> <@ifexec(v.static_export, begin, begin)>

静的出力

記事を <@export_dir>HTML化して出力します。非公開記事は出力しません。

※コンテンツkey「index」が存在すれば、その記事が最初に表示されます。


<$else> <@ifexec(Auth.isadmin, begin.isadmin)>

静的出力

記事をHTML化して出力する機能です。

.conf.cgi に <v.static_export = 1> を設定すると使用できます。

<$end.isadmin> <$end> <$break()> <$end.logs> <@>############################################################################# <@> 静的HTML出力 exporter <@>############################################################################# <$exporter = loadapp('adiary::Export_static_html')> <$ifbreak(!exporter)> <$opt.export_dir = export_dir> < <@>///////////////////////////////////////////////////////////////////////////// <@> 初期化処理(必要なファイルをコピー) <@>///////////////////////////////////////////////////////////////////////////// <$opt.init = begin.init> <@local(dir, s, t, files, dirs, session, option, theme_dir, files_dir)> <$s = v.blog> <$session = argv#0> <$option = argv#1> <$theme_dir = v.static_theme_dir || 'theme/'> <$files_dir = v.static_files_dir || 'files/'> <$DevelopJS = false> <@>///////////////////////////////////////////////////////////////////////////// <@> JavaScript to theme/ <@>///////////////////////////////////////////////////////////////////////////// <$dir = export_dir . theme_dir> <$session.msg("JavaScript files copy to '<@dir>'")> <$mkdir(dir)> <$files = begin_array> adiary.min.js jquery-ui.min.js highlight.pack.js <$end> <$forexec(t, files, begin)> <$session.msg("\tcopy to '<@dir><@t>'")> <$file_copy("<@v.script_dir><@t>", "<@dir><@t>")> <$end> <@>///////////////////////////////////////////////////////////////////////////// <@> テーマ to Themeのコピー <@>///////////////////////////////////////////////////////////////////////////// <$dir = export_dir . theme_dir> <$session.msg("Theme files copy to '<@dir>'")> <$session.msg("\tmkdir <@dir><@v.template>")> <$mkdir("<@dir><@v.template>")> <@> base.cssのコピー <$file_copy("<@v.theme_dir>base.css", "<@dir>base.css")> <@> テンプレート内ファイルのコピー <$files = search_files("<@v.theme_dir><@v.template>/")> <$forexec(t, files, begin)> <$session.msg("\tcopy to '<@dir><@v.template>/<@t>'")> <$file_copy("<@v.theme_dir><@v.template>/<@t>", "<@dir><@v.template>/<@t>")> <$end> <@> テーマディレクトリのコピー <$session.msg("\tcopy to '<@dir><@v.template>/<@v.theme>/*'")> <$dir_copy("<@v.theme_dir><@v.theme>", "<@dir><@v.theme>")> <$dir_copy("<@v.theme_dir>_img", "<@dir>_img")> <@> テーマカスタムCSS <@ifexec(option.custom_css && s.theme_custom, begin)> <$session.msg("\tcopy to 'custom.css'")> <$file_copy( s.theme_custom, "<@dir>custom.css")> <$end> <@> dynamic.css <@ifexec(file_readable("<@v.blogpub_dir>dynamic.css"), begin)> <$session.msg("\tcopy to '<@dir>dynamic.css'")> <$file_copy("<@v.blogpub_dir>dynamic.css", "<@dir>dynamic.css")> <$end> <@>///////////////////////////////////////////////////////////////////////////// <@> pub-dist/ to pub-dist/ <@>///////////////////////////////////////////////////////////////////////////// <$dir = export_dir . v.pubdist_dir> <$session.msg("Public files copy to '<@dir>'")> <$mkdir(dir)> <$files = begin_array> rss-icon.png <$end> <$forexec(t, files, begin)> <$session.msg("\tcopy to '<@dir><@t>'")> <$file_copy("<@v.pubdist_dir><@t>", "<@dir><@t>")> <$end> <$dirs = begin_array> highlight-js/ jquery-ui/ lightbox/ ui-icon/ <$end> <$forexec(t, dirs, begin)> <$session.msg("\tcopy to '<@dir><@t>'")> <$dir_copy("<@v.pubdist_dir><@t>", "<@dir><@t>")> <$end> <@>///////////////////////////////////////////////////////////////////////////// <@> jsプラグインのコピー <@>///////////////////////////////////////////////////////////////////////////// <$dir = export_dir . theme_dir> <$session.msg("Plugin's js files copy to '<@dir>'")> <$dir_copy(v.blogpub_dir() . 'js/', dir)> <@>///////////////////////////////////////////////////////////////////////////// <@> アルバムデータのコピー <@>///////////////////////////////////////////////////////////////////////////// <$dir = export_dir . files_dir> <$session.msg("Album files copy to '<@dir>'")> <$dir_copy(v.blogimg_dir(), dir)> <$dir_delete("<@dir>.trashbox/")> <@>///////////////////////////////////////////////////////////////////////////// <@> .htaccessの生成 <@>///////////////////////////////////////////////////////////////////////////// <$ifexec(option.htaccess, begin)> <$t = "<@export_dir>.htaccess"> <$session.msg("Generate '<@t>'")> <$fwrite_lines(t, begin_string)> RewriteEngine off <$end_string> <$end> <@>///////////////////////////////////////////////////////////////////////////// <$end.init> <@>///////////////////////////////////////////////////////////////////////////// <@> index.htmlを生成する場合の雛形 <@>///////////////////////////////////////////////////////////////////////////// <$opt.artlist_skel = begin> <@local(t, logs, h)> <$logs = argv#0> <$h = argv#1> <$v.subtitle = if(!h.year, 'すべて', if(h.mon, "<@opt.year>年<@h.mon>月", "<@h.year>年")) . "の記事">

<@v.subtitle>

<@forexec(t, logs, begin)> <$end>
日付 タイトル タグ
<@v.format_ymd(t.yyyymmdd)> <@t.title> <@replace(t.tags, ',', ', ')>

Total <@##logs+1> articles.

<$end> <@>///////////////////////////////////////////////////////////////////////////// <$ajax_return = exporter.export( logs, opt )>