更新 2021.2.3 13:56閲覧 34223

セットアップ

紀永の設定変更は、includes/config.php をテキストエディタで編集します。 設定項目によっては、記事内のほか、テンプレートフォルダ内に作成した config.php に記述することで上書きすることもできます。 また、サイト名などは、includes/languages/ja.php から変更して下さい。主な解説は当該ファイルに記載されています。
<?php
#テンプレート名
#/templates にインストールしたフォルダ名を入力します。
#追加インストールで daddy、darkside、lightside、simpletron を指定できるようになります。
$template = 'default';

#Bootstrap 4 のサポート
#以下のクラス名を引き続き利用する際に有効にします。
#.badge-*, .float-left/right, .border-left/right, .ml/r-*, .pl/r-*, .text-left/right
$bootstrap4 = false;

#シェア
#記事のリンクを共有したい場合は、ソーシャルメディア名を入力します。
#さらに追加する場合は、includes/social.php を参照して下さい。
#※記事内に記述した場合、この設定を上書きすることができます。
$social_medias = ['facebook', 'twitter', 'hatena', 'line'];

#インデックス
#contents 直下に index.html がない場合、全カテゴリから新着順の表示となります。
#$index_type に 1 から 5 までの数値を指定すると、レイアウトを変更することができます。
$index_type = 1;
#上記の $index_type に 2 から 5 の何れかを指定した場合、各カテゴリごとの新着表示となり、
#その表示数を下記 $index_items に指定することができます。
$index_items = 5;

##########################

#言語コード
#lang 属性などとしてサイト全体に適用されます。
$lang = 'ja';

#文字コード
#charset 属性などとしてサイト全体や送信メールに適用されます。
#テキストエディタおよびファイルシステムに一致させる必要があります。
$encoding = 'UTF-8';

##########################

#自動改行
#テキストエディタの改行をそのまま表示します。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_auto_wrap = true;

#コメントを受け付ける
#記事の下にコメントを受け付ける入力フォームが表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_comment = true;

#お問い合わせを使用する
#インフォメーションにリンクが表示されます。
#言語ファイルにメールアドレスの入力が必須となります。
$use_contact = true;

#自動送信メールの送信元アドレスを noreply とする
#自動送信メールに対して返信を不可とする場合に true とします。
$use_noreply = false;

#サイト内検索を使用する
#ナビバーなどに検索窓が表示されます。
$use_search = true;

#シェアを使用する
#サイドボックスにシェアボタンが表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_social = true;

#引用リンクを使用する
#サイドボックスに引用リンクが表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_permalink = true;

#インフォメーションを使用する
#サイドボックスにインフォメーションが表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_info = false;

#新着記事を使用する
#サイドボックスに新着記事が表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_recents = true;

#前後の記事のリンクを使用する
#記事の下に前後の記事のリンクが表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_prevnext = true;

#良く読まれている記事を使用する
#サイドボックスに良く読まれている記事が表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_popular_articles = true;

#画像の遅滞読み込みを使用する
#一括掲載画像などの読み込みを表示位置に来るまで遅滞します。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_datasrc = true;

#サムネイルを使用する
#記事内の一括掲載画像をサムネイルで表示します。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_thumbnails = true;

#カテゴリでサムネイルを使用する
#カテゴリの画像をサムネイルで表示します。
#※カテゴリの index.html に記述した場合、この設定を上書きすることができます。
$use_categ_thumbnails = true;

#関連記事を使用する
#サイドボックスに関連記事が表示されます。
#※記事内に記述した場合、この設定を上書きすることができます。
$use_similars = true;

#カテゴリで記事要約を使用する
#カテゴリの各記事に要約を表示します。
#※カテゴリの index.html に記述した場合、この設定を上書きすることができます。
$use_summary = true;

#アプローチ機能を使用する
#各ユーザーのプロフィールにアプローチメニューを表示します。
$use_user_approach = true;

#実績表示を使用する
#各ユーザーのプロフィールに実績を表示します。
$use_user_achievements = true;

#Wikipedia の要約を使用する
#<dfn> タグで囲んだ単語が Wikipedia に存在する場合、要約をポップアップ表示します。
$use_wikipedia_popover = true;

#フォーラムを使用する
#本フォーラムは匿名と実名の中間に当たる「実メールアドレス」書き込みを特徴とします。
#ログインしていないゲストユーザーは、本フォーラムから自動送信されたメールを受信しなければ書き込めません。
$use_forum = true;
#ゲストにスレッドとトピックの作成を許可する
$allow_guest_creates = true;

#ベンチマークを使用する
#フッターに処理時間と消費メモリを表示します。
$use_benchmark = true;

##########################

#カテゴリ:ナビ
#$categ_nav_class = ' class="test text"'; のようにクラス属性などを入力します。
#※記事内に記述した場合、この設定を上書きすることができます。
$categ_nav_class = ' class="nav-item"';
$categ_nav_a_class = 'nav-link';
$categ_nav_active_class = ' active';

#記事:外枠
$article_wrapper_class = 'm-md-3';
#記事:ナビ
#本文下に表示されるナビゲーションのクラス指定
#※記事内に記述した場合、この設定を上書きすることができます。
$article_nav_wrapper_class = 'my-5';
$article_nav_next_href_class = 'float-md-end border-end border-5 pe-2';
$article_nav_prev_href_class = 'float-md-start border-start border-5 ps-2';
$article_nav_xaquo_class = 'd-none';
$article_nav_title_class = 'h6';
$article_nav_content_class = 'd-block mb-4 mx-3';
#記事内画像:外枠
$article_images_wrapper_class = 'text-center py-3 my-3';

#ページャー:外枠
$pager_wrapper = 'justify-content-center my-3';

#フォーラム:外枠
$forum_wrapper_class = '';


#サイドボックスの表示順
#0から6までの数字で0に近いほど上に表示されます。
#※記事などに記述した場合、この設定を上書きすることができます。
$sidebox_order = [
    0, #login
    3, #similar
    2, #social
    2, #permalink
    2, #recent
    2, #information
    3, #popular
    5, #comments
    1, #toc
    4, #address
    1, #category
    5 #forum
    ];
#サイドボックス外枠のクラス指定
#※記事などに記述した場合、この設定を上書きすることができます。
$sidebox_wrapper_class = [
    'card',
    'border-0', #toc
    'border mb-3' #in article toc
    ];
#サイドボックス題名のクラス指定
#※記事などに記述した場合、この設定を上書きすることができます。
$sidebox_title_class = [
    'h5 m-3', #sidebox 1
    'h5 m-3', #sidebox 2
    'h5 m-3', #login success
    'h5 m-3 bg-danger p-3 text-white', #login error
    'h5 m-3', #toc
    'h4 m-3', #in article toc
    ];
#サイドボックス内側のクラス指定
#※記事などに記述した場合、この設定を上書きすることができます。
$sidebox_content_class = [
    'd-block p-3', #新着記事、インフォメーション、良く読まれている記事など
    'list-group-item-text wrap', #コメント
    'd-block p-3 wrap', #住所
    'p-3 lead', #ログイン、シェア、引用リンク
    'd-block p-2' #目次
    ];

#新着記事の表示数
$number_of_recents = 5;

#良く読まれている記事の表示数
$number_of_popular_articles = 5;

#最近のコメントの表示数
$number_of_new_comments = 5;
#コメントの文字数およびクラス指定
$comment_length = 100;
$comment_wrapper_class = ['my-5', 'card card-body comment mb-3'];
$comment_class = '';
$comment_content_class = 'd-flex';
$comment_body_class = 'flex-grow-1';
$comment_user_class = 'd-flex justify-content-between mb-2';

#h1 タイトルと小見出しのクラス指定
$h1_title = ['h3 my-3', 'd-block p-3 wrap text-muted'];

#カテゴリおよび記事タイトルの入力文字数
$title_length = 200;

#トップページ
#$index_type = 1; のとき、1ページあたりに表示する記事の数およびクラス指定
$default_sections_per_page = 6;
$index_class = 'card-columns index';
$index_wrapper_class = 'card mb-3 shadow-sm';
$index_content_class = 'card-body';
$index_title_class = 'h4 card-title mb-3';
$index_categ_link_class = 'blockquote-footer text-end';
$index_footer_class = 'card-footer bg-transparent';

#カテゴリ
#1ページあたりに表示する記事の数およびクラス指定
$categ_sections_per_page = 6;
$categ_class = 'card-columns categ';
$categ_wrapper_class = 'card mb-3 shadow-sm';
$categ_content_class = 'card-body';
$categ_title_class = 'h4 card-title mb-3';
$categ_footer_class = 'card-footer bg-transparent';

#検索結果
#1ページあたりに表示する記事の数
$results_per_page = 6;
$results_wrapper_class = 'bg-light p-5 my-3';

#Atomフィード
#1ページあたりに表示する記事の数
$number_of_feeds = 10;

#一括掲載画像
#1ページあたりに表示する画像の数
$images_per_page = 10;

#コメント
#1ページあたりに表示するコメントの数
$comments_per_page = 10;

#カテゴリと検索結果の要約の文字数
$summary_length = 300;

#メタ要約とAtomフィードの要約の文字数
$description_length = 150;

#前後の記事のナビゲーションリンクの文字数
$prev_next_length = 100;

#ダウンロード
#1ページあたりのファイル数
$number_of_downloads = 10;

#ページャーのページ数
$number_of_pager = 5;

#関連記事の表示数
$number_of_similars = 5;

#アプローチ
#1ページあたりのユーザーの数
$users_per_page = 4;

#フォーラムのトップページとサイドボックスに表示するトピックの件数
$number_of_topics = 5;

#フォーラムのトップページと各スレッドにおける1ページあたりの表示件数
$forum_contents_per_page = 10;

#各トピックにおけるレス数の上限
$forum_limit = 100;

#ログインチケット及びフォーラムプロセスの制限時間(分単位)
$time_limit = 10;

#記事内の段落区切り
#*誤動作防止のためエスケープあり
$article_separator = '-\--';

#デリミタ
$delimiter = '-_-';

##########################

#以下はシステム用設定となります。
#変更した場合、動作に支障を来す恐れがあります。

if (__FILE__ === implode(get_included_files())) exit;
$n = PHP_EOL;
$now = time();
$server_port = getenv('SERVER_PORT');
$port = '80' === $server_port || '443' === $server_port ? '' : ':'. $server_port;
$request_uri = getenv('REQUEST_URI');
$server = getenv('SERVER_NAME');
$dir = r(dirname(getenv('SCRIPT_NAME')));
$script = $dir. ('/' !== $dir ? '/' : '');
$scheme = is_ssl() ? 'https://' : 'http://';
$url = $scheme. $server. $port. $script;
$current_url = explode('&', $scheme. $server. $port. $request_uri)[0];
$line_breaks = ["\r\n", "\n", "\r", '&#13;&#10;', '&#13;', '&#10;', '

'];
$remote_addr = filter_var(getenv('REMOTE_ADDR'), FILTER_VALIDATE_IP);
$user_agent = h(getenv('HTTP_USER_AGENT'));
$user_agent_lang = h(getenv('HTTP_ACCEPT_LANGUAGE'));
$token = bin2hex(openssl_random_pseudo_bytes(16));
$tpl_dir = 'templates/'. $template. '/';
$css = $url. $tpl_dir. 'css/';
$js = $url. $tpl_dir. 'js/';
$glob_imgs ='/*.{[jJ][pP][gG],[pP][nN][gG],[gG][iI][fF],[sS][vV][gG],[jJ][pP][eE][gG],[mM][pP]4,[oO][gG][gG],[wW][eE][bB][mM],[vV][tT][tT]}';
$tmpdir = ini_get('upload_tmp_dir') ?? sys_get_temp_dir();
$mime = 'MIME-Version: 1.0'. $n. 'X-Date: '. date('c'). $n. 'X-Host: '. gethostbyaddr($remote_addr). $n. 'X-IP: '. $remote_addr. $n. 'X-Mailer: kinaga'. $n. 'X-UA: '. $user_agent. $n;
$pngtext = 'comment';
$icon_image = '<svg class="align-top" width="1.5em" height="1.5em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M14.5 3h-13a.5.5 0 0 0-.5.5v9c0 .013 0 .027.002.04V12l2.646-2.354a.5.5 0 0 1 .63-.062l2.66 1.773 3.71-3.71a.5.5 0 0 1 .577-.094L15 9.499V3.5a.5.5 0 0 0-.5-.5zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13zm4.502 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/></svg>';
if (is_file($lang_file = __DIR__. '/languages/'. $lang. '.php')) include $lang_file;
$from = $site_name. ' <'. ($use_noreply || !$mail_address ? 'noreply@'. $server : $mail_address). '>';