カテゴリ「質問/要望」・「回答/返信」のどちらかに属する投稿[854件](6ページ目)
🍕Re:4578◆これは、No.4579さんがご説明下さった通りです。.htaccessファイルに DirectoryIndex tegalog.cgi とだけ書いた場合は、index.html とか index.htm とか index.php とかが同階層にあっても(ファイル名を省略したアクセスでは) tegalog.cgi だけしか表示されません。この場合、その階層から tegalog.cgi を削除しても、(ファイル名を省略したアクセスでは)403 Forbidden エラーになるかファイル一覧が出るかするだけで、(たとえその階層にindex.htmlが存在していても)index.htmlが表示に使われることはありません。
一般的なサーバでは「 index.html があればそれを表示し、なくても index.htm があればそれを表示し、それもなくても index.cgi があればそれを表示し……」みたいな感じになっていますが、それは、
DirectoryIndex index.html index.htm index.cgi index.php
……という感じのデフォルト設定になっているためです。(順序はこうではないかも。他にもindex.shtmlとかもっと多数含まれているかもしれません。)
なのでもし、てがろぐ設置ディレクトリの .htaccess ファイルに、
DirectoryIndex tegalog.cgi index.html
……と2つのファイル名を列挙しておいた場合は、(ファイル名を省略したアクセス時には)「 tegalog.cgi があればそれを表示し、ない場合には、index.html があればそれを表示する」というような動作になります。
ファイルが探される順番は、DirectoryIndex に並べた順番です。左側から順番にファイルを探して、最初に見つかったファイルが表示されるわけです。どれも見つからなかったら、403 Forbidden エラー(またはファイル一覧)が表示されます。
したがって、てがろぐ設置ディレクトリの .htaccess ファイルに、以下の順序で書いた場合は、
DirectoryIndex index.html tegalog.cgi
ファイル名を省略したアクセス時には、もし index.html ファイルがあれば(たとえ同時に tegalog.cgiも存在していても)index.htmlの方が表示されます。
🍕Re:4579◆サポートをどうもありがとうございます!(╹◡╹)ノ
by nishishi. ⌚2024年7月18日(木) 18:53:08〔1年以上前〕 回答/返信 <1115文字> 編集
🍧Re:4573◆てがろぐユーザ層とおたく層は100%一致していると思って良いですかね?(笑)
🍧Re:4575◆直接その値を得る方法はありませんが、日付限定で表示している状況で [[INFO:TARGETPOSTS]] を出力すると、お望みの数値が得られます。例えばこの動作試験場で ?date=2024/07/14 のパラメータで表示させると、サイドバーの下部付近にある『▼現在の表示条件での投稿総数:』の部分に「 3 」と出力されます(※単位の「件」は直接スキンにそう書いてあるだけです)。
なので、「pos1の日付を更新履歴に出力する」ように既にできているのなら、それと同じ方法で、「その日付を date= パラメータに置き換えてアクセスしたページ」から、 [[INFO:TARGETPOSTS]] 部分の数値を抜き出してご使用になれば良いのではないかと思います。
<span id="todayposts">[[INFO:TARGETPOSTS]]</span> みたいに書いておけばJavaScriptで抜き出しやすいでしょう。それ専用のスキンを作っておく方が動作が軽くて良いかもしれませんね。
by nishishi. ⌚2024年7月16日(火) 19:39:46〔1年以上前〕 質問/要望 <532文字> 編集
🍑Re:4566◆おっと。ご指摘をどうもありがとうございます。確かに、内側スキン(skin-onelog.html)の中でINCLUDE記法を使って挿入するファイルの中にIF文を書いてもIF文だとは認識されないですね。これは不具合でした。内側スキンでは、INCLUDE文を処理するよりも前の段階でIF文の解釈を済ませてしまっていたので、INCLUDEで合成されるファイルの中に書いたIF文が処理されないまま(文字としてそのまま)出力されてしまっていたのでした。
こちらのローカルにあるソースでは修正しましたので、次のバージョンでは解決しています。公開までしばらくお待ち下さい。
🍑Re:4567◆なるほど! 事情の解説をどうもありがとうございます。とても参考になりました。なんとなく「CGIを自力で設置しようと考える人なら、HTML+CSSくらいは読めるし書ける」というような前提で居た感じがあったんですけども(笑)、たしかに最近は(ありがたいことに)HTML+CSSがそんなに分からない状態でも、てがろぐを使おう、と考えて下さる方々も多々いらっしゃるようですね。もし、そういう方々の個人サイト開設の入口になれているならとても嬉しいです。(╹◡╹) (いや、入口になっているかどうかは分かりませんけども。WordPress等のCMSで既にサイト自体はあった可能性もありますしね。^^;)
さて、カテゴリ別の先頭固定機能は、あれば使い処はありそうですから、将来的には実装したいと思います。ただ、実装に掛かる分量が結構多そうなので、直近での実装ができるとは限りませんので、気長にお待ち頂ければ幸いです。
by nishishi. ⌚2024年7月11日(木) 00:26:21〔1年以上前〕 回答/返信 <743文字> 編集
🍕Re:4561◆ご要望をどうもありがとうございます。ちなみにですが、カテゴリ向けの注意書き用途なら、フリースペースを複数個用意しておいて、状況に応じて表示/非表示を切り替える方法を使って、『特定のカテゴリ(またはハッシュタグ)限定で表示される場合にだけ、n番のフリースペースを表示する』みたいな方法でも実現できると思いますが(しかもその方がHTMLを自由に書けるメリットもありますが)、それでもなお「カテゴリ別の先頭固定機能」の方が望ましいですか? もしそうなら、参考までに理由も教えて頂けると、今後の開発の参考になって助かりますのでよろしければ教えて下さい。
🍕Re:4562◆カテゴリ管理の概要文の入力欄がtextareaになったら……という点ですが、お望みの仕様は以下Ⓐ・Ⓑのどちらでしょうか?
- Ⓐ 入力欄が左右だけでなく上下にも広げられれば充分。
- Ⓑ 入力した改行も維持した状態で保存して欲しい。
by nishishi. ⌚2024年7月9日(火) 10:03:36〔1年以上前〕 回答/返信 <605文字> 編集
🍨Re:4548◆はい。可能ですよ。画像の掲載記法を単に横に続けて書けば良いだけです。


ただ、キャプション付きで表示する場合は figure要素を使って出力されますので、何のCSSも適用されていない状態だと横には並びません。標準添付の各スキンなら横並びになるよう .embeddedpictbox に装飾を適用してありますが、1から自作するスキンの場合には自力で対処して頂く必要があります。(figure要素をinlineにするよう装飾すれば良いです。)


by nishishi. ⌚2024年7月3日(水) 21:17:22〔1年以上前〕 回答/返信 <272文字> 編集
🥟Re:4543◆今のところ、実装上の都合で「SITUATION:CLASS」にログイン有無のキーワードを加えられないのですが、何か良さげな実装方法を思いついた場合には考えます。ただ、おっしゃる通り、ログインしていなければ特に何も操作はできませんので、CSSが適用されなかった場合まで考慮する必要はないのではないかとは思います。
さて、スキンディレクトリ名の話ですが。なるほど、その場合は、
[[INCLUDE:head1.html]]
<link type="text/css" rel="stylesheet" href="スキン固有ファイル名.css">
[[INCLUDE:head2.html]]
……のように、ヘッダ用の共通ファイルを2つに分けて頂いて、CSSを読み込む行だけは各スキンに直接書いて頂くのが最も簡単な気がします。
なお、共通ファイルを2つに分けるのが嫌な場合は、先のJavaScriptでスキンディレクトリ名を変数 skinDirName に得ておいて、
document.write('<link type="text/css" rel="stylesheet" href="[[PATH:SKINDIR]]' + skinDirName + '.css">');
……のようなJavaScriptを使ってCSSファイルを読み込むという方法もあります。
もし、「今時 document.write はないのでは……」と思われる場合には、以下のようなモダンな書き方もできます。
let skincss = document.createElement('link');
skincss.rel = 'stylesheet';
skincss.type = 'text/css';
skincss.href = '[[PATH:SKINDIR]]' + skinDirName + '.css';
document.head.appendChild(skincss);
これで、スキンディレクトリ名のCSSファイルを読み込めます。
※JavaScriptでCSSを動的に読み込む場合は、てがろぐ側でのリンク自動調整機能が働きませんので、読み込むCSSファイルパスにはスキンディレクトリ([[PATH:SKINDIR]])も自力で加える必要があります。
畳む
by nishishi. ⌚2024年7月2日(火) 22:35:11〔1年以上前〕 回答/返信 <1056文字> 編集
🧇Re:4541◆残念ながら、ログイン状況を示すキーワードはありません。ただ、この2条件が成立している状況なら、JavaScriptを使うことで判別は可能です。要は、CSSの中に .Login-Required という定義が存在するかどうかを調べれば良いので、以下のようなJavaScriptで調べられます。
for(let sheet of document.styleSheets) {
for(let rule of sheet.cssRules) {
if(rule.selectorText === '.Login-Required') {
// 非ログイン状態だと分かる
}
}
}
このJavaScriptを、QUICKPOSTの記述位置よりも後に書くか、もしくはページ読み込み完了後に実行されるように書けば、ログインされているかどうかを判別できます。
また、[[PATH:SKINDIR]]で得られる文字列から、スキンディレクトリ名だけを抜き出すには、以下のJavaScriptでできます。
function getLastPart(path) {
if(path.endsWith('/')) {
path = path.slice(0, -1);
}
const parts = path.split('/');
return parts[parts.length - 1];
}
let path = "[[PATH:SKINDIR]]";
let skinDirName = getLastPart(path));
このJavaScriptを使うと、変数 skinDirName には、スキンディレクトリ名だけが入ります。(もうちょっとスマートな方法があるかもしれませんが。^^;)
例えば、[[PATH:SKINDIR]]が/path/to/directory/なら、変数skinDirName にはdirectoryだけが入ります。
by nishishi. ⌚2024年7月2日(火) 20:15:41〔1年以上前〕 回答/返信 <952文字> 編集
🥟Re:4532◆ダークモードのご要望もちらほら頂くのでなんとかしたい気はあるのですけども、元々そこまで大きく配色を可変にすることを前提にしないまま製作してきたために、書き換えないといけないCSS量が多いので先送りになっております。とりあえず現時点では、ユーザスタイルシートをご活用頂くか、いい感じにダークモードで表示してくれるアドオンをお使い頂ければ幸いです。関連情報として、No.4488,4489,4490,4493 あたりもご参照下さい。
by nishishi. ⌚2024年6月29日(土) 17:00:52〔1年以上前〕 回答/返信 <322文字> 編集
by nishishi. ⌚2024年6月16日(日) 21:13:10〔1年以上前〕 回答/返信 <74文字> 編集
🍧Re:4516◆そういえば、パーセントエンコーディングされた文字列の存在を考慮していなかったようです。IF文として成立する条件の文字列の中に % 記号が含まれていませんでした。^^; ソースを確認したところ、英数字・空白文字・3記号(-_|)しかIF文の中に書けない仕様になっていましたので、これは不具合ですね。次のバージョンで修正しますので、もうしばらくお待ち願います。(今の時点では、パーセントエンコーディングで記述された名称は何でもIF文には使えません。^^;;;)ご報告をありがとうございます。(╹◡╹)ノ
※今のバージョンで今すぐ対処なさりたい場合は、IF文ではなく、CSSを使って表示/非表示を切り替えて下さい。
by nishishi. ⌚2024年6月12日(水) 08:53:05〔1年以上前〕 回答/返信 <328文字> 編集
🍨Re:4510◆全体としてどんなHTMLになっていて、そこにどんなCSSをお書きになっているかが問題ですので、現物を見せて頂かないと何とも言い難いかなと思います。実際に公開されているURLをお書き頂くか、ここでOPENにできない場合はメールでお知らせ下さい。
なお、それも避けたい場合には自力で調査頂くほかないですが、とりあえず、「ブラウザがHTMLをどう解釈していて、そこにどんなCSSが適用されているのか」は、ブラウザの開発者ツール(※[F12]キーを押すか、[Ctrl]+[i]キーを押すなどすると出てきます)を使うとよく分かります。
by nishishi. ⌚2024年6月11日(火) 13:04:30〔1年以上前〕 回答/返信 <300文字> 編集
🍵Re:4508◆カテゴリに属する投稿の総数に応じて、リンクの表示/非表示を切り替える、という意味ですかね?
そうだとすると、JavaScriptを使えば実現できます。以下の①~④のソースを書いてみて下さい。
①まず、外側スキンに <span class="counter">[[INFO:TARGETPOSTS]]</span> と書いておきます。この [[INFO:TARGETPOSTS]] の記述は、もしかしたら既に書いてあるかもしれません。標準添付の各スキンだと書いてあります。書いてある場合はそれを流用しても良いです(※余計な単位を含めないようご注意下さい)し、新たに追記しても良いです。何にしても、該当件数の数値だけが「counter」というclassの要素に含まれるようにします。
②次に、今の表示を逆順で表示するリンクを、例えば
<span class="revlink"><a href="[[REVERSE:URL]]">今の表示を[[REVERSE:NAME]]で見る</a></span> のように書いておきます。リンクの書き方はどうでも良いので好きなようにして下さい。要は、表示/非表示を切り替えたい内容を「revlink」というclass名の付いた要素で囲めば良いだけです。
③さらに、JavaScriptを書きます。
<script>
document.addEventListener('DOMContentLoaded', function() {
// counterクラスの要素を取得して表示件数を得る
var counterElmnt = document.querySelector('.counter');
var counterValue = parseInt(counterElmnt.textContent);
// revlinkクラスの要素を取得
var revlinkElmnt = document.querySelector('.revlink');
// counterの値に応じてrevlinkの表示・非表示を切り替え
if (counterValue >= 30) {
revlinkElmnt.style.display = 'inline';
} else {
revlinkElmnt.style.display = 'none';
}
});
</script>
④最後に、これら全部を [[IF(selected-cat): ~ :IF]] で囲みます。(①はこの範囲外にあっても構いませんが。)
上記のようにすると、
- カテゴリ限定表示時にだけ、(=④)
- いま見えている総投稿数が30件以上のときに限って、(=③)
- 逆順に表示するリンクが見える。(=②)
なお、①の数値は、そのまま何らかの表示に使っても良いですし、使い道がない場合はCSSで非表示にしておけば良いです。 .counter { display:none; } みたいな感じで。もし既に counter というclass名を別の用途で使っている場合は、上記のソースでは別の適当なclass名に置き換えて使って下さい。(※お使いのスキン内で、既に counter というclass名を使っている場合に、上記のソースのままを書くと、総表示件数を正しく取得できない可能性があります。)
by nishishi. ⌚2024年6月10日(月) 12:48:03〔1年以上前〕 回答/返信 <1519文字> 編集
🧀Re:4504◆現状のバージョンでどうにかするとしたら、もし時系列順で表示するのが小説だけなのであれば、時系列順 の表記登録を 小説 にすれば、「人間失格(小説)」となって、さほど違和感はないのではないでしょうか? 連載小説 とすれば、「人間失格(連載小説)」となって、複数投稿に分割されていることがむしろ分かりやすいかも知れませんし。もしくは 連載順 とか 話数順 とか。「連載順」なら掲載するのが小説だけではない場合でも、あまり違和感なく済むかもしれませんね。
ちなみに、『見出しの表示をもう少しだけ柔軟に変更できると利便性が増してありがたい』という点は、「見出し」関連でどんな機能があれば便利でしょうか? 参考までに例を挙げて頂ければ、今後の開発の参考にさせて頂きます。
by nishishi. ⌚2024年6月8日(土) 17:16:17〔1年以上前〕 回答/返信 <383文字> 編集
🥟Re:4501◆ご活用をありがとうございます! お役に立っているようで嬉しいです。(╹◡╹)ノ
🥟Re:4502◆その表示を省略する機能は今のところないのですが、「時系列順」という表記内容は、管理画面の[設定]→[ページの表示]→【システムメッセージ・表示用語】→「表示順序を示す用語」項目で設定した名称が使われます。なので、ここから当たり障りのない名称に変更しておく方法はあります。例えば 時系列順 ではなく ^_^ と指定しておくと (^_^) と出力されます。┌(:3」└)┐
by nishishi. ⌚2024年6月8日(土) 10:27:39〔1年以上前〕 回答/返信 <354文字> 編集
カテゴリ別URLの末尾に &mode=rss を加えるだけです。
例:
- カテゴリ「メモ」のRSS ➡ https://~/tegalog.cgi?cat=memo&mode=rss
- カテゴリ「情報」のRSS ➡ https://~/tegalog.cgi?cat=info&mode=rss
- カテゴリ「日記」のRSS ➡ https://~/tegalog.cgi?cat=diary&mode=rss
※使い方・設定方法ページの「条件を限定したRSSフィードの出力」項目もご覧下さい。
by nishishi. ⌚2024年6月5日(水) 08:39:13〔1年以上前〕 回答/返信 <396文字> 編集
🥟Re:4490◆具体策をどうもありがとうございます。管理画面は元々カラーテーマのようにカスタマイズすることを一切考えずに作ってたこともあって、なかなか装飾の調整は面倒だろうな、という気はしています。(^_^;) 最初から配色カスタマイズを前提にして製作していたら、もうちょっと違ったとは思うんですけどもね。当初はそこまで思い至っていなかったのでした。
🥟Re:4491◆画像を長押ししたときにメニューが開くのはブラウザ側の機能なので、てがろぐ側(Web側)でどうにかするのは難しそうな気がします。画像はリンクにしない状態で掲載しておいて(ポインターイベントを無効化しておいて)、「リンク先の画像をLighboxで開くテキストリンク」を設ける方法を使うくらいでしょうかね……? ➡『画像を直接埋め込まずに、画像へのテキストリンクとして掲載しつつ、リンク先の画像はLightboxで見せたい場合の書き方』
◆なお、Lighboxでは、拡大された画像を <img class="lb-image" ~> のようなHTMLで表示していますので、このclassだけをターゲットにしてポインターイベントを無効化すればお望みの動作(Lighboxによって拡大された画像を長押ししてもブラウザ側のメニューが出なくなる動作)になるかもしれません。
つまり、.lb-image { pointer-events: none; } ということですが。
◆もしくは、Lighbox以外の画像拡大スクリプトをお使いになる手もあるかもしれません。(設定で任意のスクリプトに切り替えられます。➡『Lightbox以外の画像拡大スクリプトを読み込んで使う方法』)
🥟Re:4493◆何でもダークモードにしてくれるアドオンもあるんですねえ。任意のWebの明暗を反転させるのは、言葉では簡単そうですけどもなかなか(見やすさを確保した上でそうするのは)大変そうな気がしますので、その辺も自動でうまくしてくれるのなら、かなり手間が省けますね。
🥟Re:4495◆そうですね。そのスキンに付随する設定項目がすべて本番確定されてしまうバグでしたので、(ギャラリーモードとサイトマップページモードに関しては)管理画面の補助出力で「1ページあたりに表示される投稿数」・「日付境界バーを挿入するかどうか」・「該当件数とページ番号を表示するかどうか」の設定も可能でしたから、これらも上書きされてしまう動作になっていました。今回のバージョンで、それらも一括解消されています。(要は、設定が上書き保存されてしまわないように修正しましたので。) てがろぐのご活用をどうもありがとうございます!(╹◡╹)ノ
by nishishi. ⌚2024年6月3日(月) 22:14:42〔1年以上前〕 回答/返信 <1182文字> 編集
🍕Re:4488◆特定のWebに自分の好きなCSSを追加できる「ユーザースタイルシート」という機能をブラウザに加えるアドオンがいくつか出ています。そういうのをお使いになれば、何でも好きなCSSを管理画面に加えられますのでご活用下さい。あくまでも「自分の使っているブラウザだけ」でしか適用されませんが(=他の閲覧者には一切影響しませんが)、自分だけが使う管理画面の装飾を調整したいだけならそれで事足りるのではないかと思います。ユーザースタイルシート機能を加えてくれるアドオンについては、Geminiに尋ねてみた結果もご参照頂くと良いかもしれません。
by nishishi. ⌚2024年6月1日(土) 12:48:16〔1年以上前〕 回答/返信 <325文字> 編集
🥞Re:4478◆結果報告をどうもありがとうございます。&で繋ぐと消えてしまう理由が分かりませんが、とりあえずうまく動作するようになったのなら良かったです。^^
🥞Re:4479◆もしかして、ローカルにあるスキンをアップロードできる欄だと誤解された、とかですかね……? この欄は、サーバ上に存在するスキンのうち、「tegalog.cgiのあるディレクトリの直接のサブディレクトリ」以外にあるスキンを適用するためにある欄なので、ローカルのフォルダ名を入れても機能しません。ちょっとこの欄は確かによくよく考えると紛らわしいので、もうちょっと何かUIを考え直したいと思います。
🥞Re:4480◆リスト機能を使うと(リストページを見ると)、リストの上部に今でもTwitter Birdが見えるんですよね。リストの画像を自前でアップロードしていない場合は。そこも残り続けて欲しいです。
🥞Re:4481◆機能としては存在しないんですが、要は imagelink というclass名の付いたa要素すべてに target="_blank" の属性を加えれば良いので、外側スキンのHTMLソースの下端に以下のようなJavaScriptを書けばお望みの動作になると思います。
<script>
const links = document.querySelectorAll('a.imagelink');
links.forEach(link => {
link.setAttribute('target', '_blank');
});
</script>
このソースをそのまま使う場合は、ページの末尾付近に加えて下さい。(もしhead要素内とかに書きたい場合は、「HTMLの読み込みが終わってから実行」されるような工夫を加える必要があります。)
by nishishi. ⌚2024年5月27日(月) 23:02:57〔1年以上前〕 回答/返信 <827文字> 編集
🍨Re:4476◆おおぅ、そんな現象になりましたか。『任意のディレクトリにあるスキンを手動指定』欄を使った結果ですかね?
以下の手順で操作してみて下さい。
- サーバ(=問題のてがろぐの設置ディレクトリ)から tegalog.ini ファイルをダウンロードします。
- その tegalog.ini ファイルをテキストエディタで開きます。
- skindirectory=で始まる行を探します。(※たぶん383行目付近にあります。似た名称の行が複数あるので注意して下さい。)
- その行を丸ごと消します。(1行を丸ごと消して大丈夫です。)
- 上書き保存します。
- その tegalog.ini をサーバにアップロード(上書きアップロード)します。
※参考までに、どんな操作をしてその現象になったのか、もし覚えているようでしたら教えて頂けるとありがたいです。
by nishishi. ⌚2024年5月25日(土) 09:14:05〔1年以上前〕 回答/返信 <482文字> 編集
🍨Re:4471◆隠された範囲をSmooth展開するのは、現状のてがろぐの仕様で可能でしょうかね……?(どなたか実現なさっている方がいらっしゃったら教えて下さい!)なんとなく難しそうな気がします。デフォルト設定では、隠された範囲(のspan要素)は表示時に display:inline; のスタイルが付加されますしね(その値は設定で変更可能ですが)。
◆現状のような「JavaScriptで表示/非表示を切り替える」方法で隠す手段以外に、現在で(たぶん)主流な <details><summary>見せる部分</summary>折りたたむ部分</details> のようにHTMLだけで実現できる折り畳み機能で出力される記法も追加した方が良いかな……という気はなんとなくしています。今のところそのような要望は来ていないので、まだ「なんとなく思っているだけ」の状態ですけども。そちらの方がCSS(やJavaScript)で装飾しやすいだろうな、という気はします。
◆SNSシェアボタンで「特定のスキンを適用したURL」がシェアされるようにするには、[[PERMAURL]]系の記法の直後に(空白を挟まずに)&skin=skin-nameのような感じでパラメータを加えれば良いだけです。具体的にどのように書けば良いかは、お使いの「シェアボタン」の仕様次第ですので、(具体的な記述も知りたい場合は)まず現状の記述がどうなっているのかをお知らせ頂く必要があります。
🍨Re:4472◆てがろぐをご活用下さってありがとうございます。(╹◡╹)ノ
少なくとも(私が直接使っている範囲では)5千件や1万件程度の投稿総数では特に体感できるほどの変化は出ていません。
なお、今ご覧になっているこの動作試験場では、現状で4,350件近くの投稿数がありますので、実際に「5千件近くの投稿がある状態の動作」をご体感頂けています。(╹◡╹)
下記のⒶとⒷは私(だけ)が書いているページ(てがろぐ)で、Ⓒはここです。それぞれの大まかな総投稿数とデータサイズを調べてみました。
- Ⓐ 今日のひとことログ :総投稿数 12,200件超 データファイル 6.27MB
- Ⓑ てがろぐリリースノート :総投稿数 43件 データファイル 0.61MB
- Ⓒ 動作試験場(ここ) :総投稿数 4,300件超 データファイル 2.94MB
実際に生成ページにアクセスしてみると、投稿総数が1万2千件を超えているⒶよりも、わずか43件しかないⒷの方が、むしろ表示までにかかる動作は比較的もっさりしている気がしませんか? これは、Ⓑでは文字装飾記法が山ほど使われているために(てがろぐ内部で)独自記法をHTMLに展開する処理がたくさん発生するためだろうな……という気がしています。まあ、Ⓑはさすがに『1投稿に2万文字近くある』ような長文投稿ばかりなので、かなり極端な例ですが。(笑)
なお、管理画面の応答速度は、ⒶⒷⒸどれも同じ感じです。(ミリ秒単位で計測したら何らかの差はあるかもしれませんが、体感できるほどの差はありません。)
ただ、CGIなので、動作の重たさは『アクセスがどれくらい集中するか』の方が影響すると思います。
Botからの大量アクセスを受けると、あっという間に重たくなるケースはありました。
てがろぐは、ページを生成する際に(毎回)データファイルを全部読み込みますので、毎秒数十件みたいな極めて高い頻度でのアクセスが続いてしまうと、サーバ自体がかなり重たくなりますね。(その辺は、サーバ側の性能にも影響するとは思いますが。)
なので、アクセス数が多いサイトの場合は特にWAF(Web Application Firewall)を併用して、悪質なBotは(CGIに届く前にサーバ側で)排除される環境にしておく方が望ましいです。
というわけで、てがろぐは(データベースを使っていないシステムなので、極端にデータサイズが大きくなればそれに比例して重たくなるだろうと予想はしているのですけども)、1万2千件程度の投稿数なら特に気にならない、とは言えそうです。10万件だとどうなるのかはまだ分かりませんが。^^;(上記で述べたとおり、投稿の内容次第でもあります。)
投稿総数が莫大になる予想があるのであれば、その「即メモ」と「ライフログ」は、1つのてがろぐで運営するのではなく、最初から複数個のてがろぐに分散させておくと、なお安心かもしれません。
(とはいえ、1つのてがろぐで運営していた内容を、後から複数のてがろぐに分割するのは、テキストエディタでデータファイルを直接分離すれば簡単ですが。どの投稿をどこに分けるのかを判断しやすくするために、カテゴリ等を使って事前に分類されていると望ましいですね。)
by nishishi. ⌚2024年5月24日(金) 21:18:20〔1年以上前〕 情報,回答/返信 <2026文字> 編集
プリンを食べられるのはいつだ!?
🍮Re:4468◆詳しい情報をどうもありがとうございます。てがろぐ側で外部サービスの埋め込み機能を用意するには、その外部サービスの仕様が「埋め込み用のHTMLソースを『URLに含まれている情報だけ』から生成できる」という仕様である必要があるのですが、残念ながらSoundCloudはそのような仕様になっていないようなので(その解釈が正しければ)残念ながら埋め込み機能の実装は無理なように思います。例えば、 https://soundcloud.com/skrillex/skrillex-peekaboo-flow... の曲を埋め込むためには、https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/1595701743… というようなURLを生成してiframeに指定しないといけないようですが、この「1595701743」という情報はSoundCloudのURLからは得られないので、てがろぐ側では埋め込み用のソースを生成できないのです。畳む(Blueskyの投稿を埋め込めない理由と同じです。)
将来的に、HTMLを何でも書けるオプションを用意したときには、SoundCloud側が提供しているシェア用のHTMLをそのまま貼ることで埋め込めるようにはなります。
🍮Re:4469◆ご報告をどうもありがとうございます。(╹◡╹)ノ
by nishishi. ⌚2024年5月20日(月) 22:42:57〔1年以上前〕 回答/返信 <795文字> 編集
とはいえ、珈琲ゼリーは美味しかったです😋
🍮Re:4462◆早々のバージョンアップをどうもありがとうございます!
🍮Re:4463◆TegUpのご試用もありがとうございます。さすがにそろそろVer.1として配布しても良さそうだな、と思っています。
🍮Re:4464◆soundcloudはドイツの会社のサービスですかね? Webページへの埋め込み方法の解説ページがあるようなら教えて下さい。
🍮Re:4465◆新バージョンのご活用をどうもありがとうございます。TegUpの報告もありがとうございます。新機能がお役に立っていると分かるととても嬉しいです。(╹◡╹)ノ
🍮Re:4466◆そうでした。おっしゃるとおり .decorationF は出力されません。最後の段落は忘れて下さい。┌(:3」└)┐ なんとなく、文字装飾機能では .decorationX というようなclassを出力しているハズだという思い込みがあって、隠される範囲全体も .decorationH で囲んでいるだろうと思っていたのでした。で、解説を書くためにサンプルソースを見たときに、(実際には .decorationH は出力されていないわけですが)先の解説で出力されていた .decorationF を「隠したい範囲を囲んでいるclassだ」と勘違いしたようです。(^_^;)
今のところ、隠す装飾だけで両ボタンを同じ位置にする方法はなさそうですね。なんかよほどアクロバットなことをしたらできるかもしれませんが……。
それよりも、『隠す範囲全体を <span class="decorationH"> ~ </span> で囲む』仕様を追加した方が良いような気がしてきました。たぶんそうすると、他の装飾用途にも活用しやすくなりそうな気がしたりしなかったり。(その仕様を加えても、既存の装飾に悪影響はなさそうだと思うのですけども。どうかな……。)
🍮イーロンがどうとう twitter.com を x.com へリダイレクトするようにしてしまいました。ツイートの埋め込みは(今のところ)どちらのドメインでも可能ですが、もし今後に(さすがにそうはしないと思いますが) x.com だけでしか埋め込まれないように改悪されたとしても、てがろぐ側で変換するようにしますので、(たとえそうなっても)自前のデータファイルを書き換えたりしなくて大丈夫です。(埋め込み機能自体を廃止されたらどうにもなりませんが……。)
by nishishi. ⌚2024年5月19日(日) 00:41:37〔1年以上前〕 回答/返信 <1153文字> 編集
🥮Re:4459◆たぶん、自由装飾記法を使ってボタンの掲載位置を調整すれば、お望みの表示は今のバージョンでもできそうな気がします。
まず、隠したい範囲を [H:隠したい範囲] だけでなく、自由装飾記法を使って、[F:btnfirst:[H:隠したい範囲]] のように書いておきます。
次に、以下の2つのCSSを加えます。
.deco-btnfirst {
display: block;
position: relative;
padding-top: 1.5em; /* ※後述 */
}
.deco-btnfirst .readmorebutton {
position: absolute;
top: 0;
left: 0;
}
すると、「続きを読む」ボタンも、「畳む」ボタンも、どちらも同じ位置(先頭)に見えるようになります。
「※」部分の 1.5em は、お好みで調整して下さい。0にすると隠している範囲に続く1行に重なってしまいますので、1以上の値にする必要があります。
(ボタンの大きさも揃える方が望ましいと思いますが、そこはお使いのスキン次第なので、スキン側のCSSを調整して下さい。)
その場合は、隠したい範囲はいつも通り [H:隠したい範囲] と書くだけで済みます。
by nishishi. ⌚2024年5月17日(金) 08:55:19〔1年以上前〕 回答/返信 <790文字> 編集
🥞Re:4584◆ss1.xrea.com ドメインを使った、お使いのてがろぐのURL(例えば、https://ss1.xrea.com/ ID.SERVER.xrea.com /tegalog/tegalog.cgi 等)にアクセスした状態で、そこに見えているQUICKPOSTから投稿しても、同様のエラーが出ますか?
もしそうなら、お使いの環境では「閲覧者に向けてはhttpsの方を公開しておいて、自分だけはhttpの方を使う」という方法しかなさそうに思います。
---
> FAQの「fumycts.plを書き換える」で解決できるケースでしょうか?
> おすすめではないと書かれている点について、よければ詳しく教えていただけませんか?
お使いの状況では、fumycts.plを書き換える方法で解決してはいけません。(書き換えると、エラーは出なくなりますが。)
これは、フィッシング攻撃や、CSRF(クロスサイト・リクエスト・フォージェリ)攻撃を防ぐ機能の1つだからです。他所のWebサイトに攻撃用のページを作成しておいて、そこに何らかの方法であなた(=てがろぐにログインする権利を持った人物)を誘導した上で、その攻撃用ページから何らかの情報(ログイン情報なり投稿データなり設定変更情報なり)をてがろぐに向けて送信することで、パスワードを盗んだり変更したり、意図しない投稿をさせたり、意図しない設定変更をさせたりする……、というのを防ぐ機能です。
そのために、「そのてがろぐが稼働しているドメイン」ではないドメインから送られてきたリクエストは拒否する仕様になっています。
この機能を無効にしてしまうと、フィッシング攻撃やCSRF攻撃を防げなくなってしまいます。なので、一般のWeb上に公開されているてがろぐでは無効にしてはいけません。無効にする方法を用意しているのは、あくまでも「ローカルで稼働させている」とか「何らかの別のセキュリティで守られた空間で稼働させている」とか、第三者がアクセスすることはないと断言できる場所で稼働させている場合のためです。
なお、「例外のドメインを1つ設定できたら良いのでは?」と思われるかもしれませんが、今回の場合、もし ss1.xrea.com ドメインを例外として許容してしまうと、同じドメインの使用権を持つ他者からの攻撃が防げなくなる問題がありますので、そうはできないのです。
(根本的に解決するには、「自分だけが使えるサブドメイン」でhttpsを使わせてくれるサーバを使う、という手しかないと思います。)