No.4231, No.4230, No.4229, No.4228, No.4227, No.4226, No.4225[7件]

🆕 Ver 4.2.1βの更新点(概要):
🌺既存ハッシュタグ簡単挿入機能で、ハッシュタグの後ではなく前に半角スペースを挿入できる(または一切挿入しない)設定機能を追加。
🌺「任意URLリンク」ボタンで、リンク先が丸括弧で囲まれる場合には、直後に半角スペースを自動挿入しない仕様に改善。
🌸カスタム絵文字のCSS装飾支援機能。ファイル名にハイフン・ドット・アンダーバーが含まれているとき、それらで分割した文字列を使ったclass名をさらに加える機能。
🌺データファイルを読むよりも前にパラメータの不正をチェックすることで、無駄なデータ読み込みを発生させないよう改善。
🌸攻撃目的のアクセスを簡易的に検出して拒否する(400 Bad Requestを返す)機能を追加。
詳しい使い方などは、上記の開発進捗状況報告ページの記事をご覧下さい。
🍘SNSでのアナウンス:
Mastodon(Pawoo)
Bluesky
Twitter:
(ツイート埋め込み処理中...)Twitterで見る
1年以上前(水 22:39:52) アップデート✨

何もページ全部を丸ごと埋め込まなくても、ページの一部分(本当に目次として機能する部分)だけを抜き出して埋め込めば良いのです。
例えば、サイトマップページ用スキンに <div id="kokodake">~</div> という空間を用意して、その内部に全記事リストが出力されるように作っておきます。(ヘッダとかフッタとか著作権表示とかはその外側に配置しておけば問題ありません。)
あとは、JavaScriptでその id="kokodake" の範囲だけを抜き出して埋め込めば済みます。
以下は、ChatGPTから返ってきたままのソースで動作確認はしていないのですが、以下のコードをお使いのスキンに貼り付ければ、その位置(正確には <div id="targetDiv"></div> の位置)に、サイトマップページモード内の <div id="kokodake">~</div> の範囲だけが埋め込まれます。
<div id="targetDiv"></div>
<script>
// 対象のURL
var targetUrl = 'https://お使いのドメイン/てがろぐ設置場所/tegalog.cgi?mode=sitemap';
var xhr = new XMLHttpRequest();
xhr.open('GET', targetUrl, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var parser = new DOMParser();
var doc = parser.parseFromString(xhr.responseText, 'text/html');
var targetElement = doc.getElementById('kokodake');
var targetDiv = document.getElementById('targetDiv');
targetDiv.innerHTML = targetElement.innerHTML;
}
};
xhr.send();
</script>
既にJavaScriptでの埋め込みをお試しになったとのことですから、別に上記のソースを使わなくても、そのときのソースを流用なさるのでも良いと思います。要は「ページ全体を丸ごと取得する」のではなく、「ページ内の指定要素だけを取得する」という方法に変えれば良いだけですから。
畳む 1年以上前(水 22:37:39) 回答/返信

お返事ありがとうございます。
勉強不足で恐縮ですが、コンテンツをtopで表示させたいので出来ないです。
にししさんの提案されるとおりサイトマップページモードを活用したら、一度topからサイトマップページモードへ飛ばないと各コンテンツを表示できないと思います。
JSでサイトマップページモードを埋め込んだのですが、埋め込んだ場所にPowered by てがろぐ Ver XXXの文字が表示され、その下にメールフォーム等のコンテンツが続いていたので、ちょっとそれはなぁとなりました。
手打ちでもどうにかできるので、難しいようでしたら本当に大丈夫です。 1年以上前(水 21:33:03)

🧇Re:4226◆目次専用のスキンを作る方法をお使い頂けば、お望みのことは今でも実現できそうに思いますが、例えばサイトマップページモードを活用してそこを目次にする……という方法ではダメなのですか? 確かに、別のスキンにする場合、先頭固定やフリースペースのように同一ページ内に配置することはできませんが、その代わり、
- どんな表示形式でも好きに作れますし、
- 全タイトル一覧にもできますし(=管理画面の設定→補助出力からサイトマップページモード用の「1ページあたりに表示される投稿数」を別に設定できますし、スキン側に個数を強制指定する方法もありますから、10000とか充分大きな値にすれば全部を一括出力できます)、
- 「タイトルと2行目の部分等任意の部分」だけを抜き出すこともできます。

お返事ありがとうございます。
カスタマイズ方法とフリースペースについてもありがとうございます
フリースペースのの認識がなかったのでなるほど!となりました。
視野が広がりました。ありがとうございます!
新着投稿リストの表示は現在一つの形式しか出来ませんよね…?(将来対応予定とありましたのでのんびりお待ちします)
てがろぐひとつで個人サイトを管理する形でして、特定のカテゴリを更新したらindexのページにある『更新履歴にある新着投稿リスト(数個だけの表示)』と『作品掲載している新着投稿リスト(すべて表示)』ができればなぁと思っておりまして。
とりあえず暫くは更新履歴のところを新着投稿リストを使い、固定ページにリンクを手打ちで対応していきます。
欲を言えばタイトルと2行目の部分等任意の部分を新着投稿リストで表示することが出来れば、自分のしたいことが出来るので対応されるときにはよろしくお願いします…!
畳む 1年以上前(火 20:01:21)

先頭固定機能だと掲載位置は先頭しかあり得ませんが、フリースペースなら上端でも下端でもサイドバーの形でもどこにでも表示できますので、掲載位置の自由度は(先頭固定よりも)高いです。その上、(スキンを直接編集しなくても)てがろぐ上から中身を更新できます。また、フリースペースの内部にはHTMLタグを何でも使えますから、掲載内容の自由度も高いです。
最近はサードパーティー製スキンをベースにしてお使いの方々も多そうですので、もしかすると(フリースペースが使われていないスキンをお使いだと)フリースペース機能の存在に気付きにくいかもしれませんが。
「何かをずっと表示しておきたい」という場合には、先頭固定機能以外にもフリースペース機能もありますので、それを使えないか検討してみて下さい。
例えば、「ある特定のカテゴリに限定されている状況でのみ、フリースペースを表示させたい」という場合には、IF文での出力条件分け記法を使ってフリースペースの表示場面を限定すると良いでしょう。フリースペースの入力欄は1つしかありませんが、専用の区切り文字を使うことで、複数のフリースペースを用意することもできます。詳しくは『フリースペースの書き方(複数のフリースペースを設ける方法)』で解説しています。
この「IF文」と「フリースペース」を併用すれば、
- カテゴリ info でのみ表示されるフリースペースⒶ
- カテゴリ diary でのみ表示されるフリースペースⒷ
- HOMEでのみ表示されるフリースペースⒸ
※IF文を使わなくても、単純にCSSで表示分けすることもできます。掲載分量が少ない場合には、(IF文を列挙してどうにかするよりも)CSSで表示分けする方がシンプルで楽かもしれません。 1年以上前(火 13:05:06) 情報