<@6> <@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化して出力します。非公開記事は出力しません。

※トップページ用に「index」というkeyを持つ記事(コンテンツ)を用意してください。


<$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> <@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/'> <@>//////////////////////////////////////////////////////////////////////////// <@> JavaScript to theme/ <@>//////////////////////////////////////////////////////////////////////////// <$dir = export_dir . theme_dir> <$session.msg("Javascript files copy to '<@dir>'")> <$mkdir(dir)> <$files = begin_array> adiary.js lightbox.min.js highlight.pack.js <$end> <$forexec(t, search_files(v.script_dir), begin)> <$ifnext( substr(t,-3) ne '.js' )> <$ifnext( substr(t,0,7) ne 'jquery-' )> <$push(files, t)> <$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/")> <$end> <@>//////////////////////////////////////////////////////////////////////////// <@> index.htmlを生成する場合の雛形 <@>//////////////////////////////////////////////////////////////////////////// <$opt.index_skel = begin> <@local(t, logs)> <$logs = argv#0> static export logs

static export logs

<@forexec(t, logs, begin)> <$end>
<@t.year>-<@t.mon>-<@t.day> <@t.file> <@t.title>

export date: <@Timestamp>

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