このサイトのCosenseテーマ
https://img.icons8.com/ios-glyphs/90/christmas-angel.pngNrem.iconによるユーザーテーマCategory.icon#design #Cosenseテーマ #ProjectCSSartist:Nrem
永遠の未完成品。
table:Cosense themes by Nremiel
Initial release Theme name light dark Description Release note
2025-XX Aŭreolo.icon Aŭreolo (Aŭreolo Simplified.icon Aŭreolo Simplified)
2025-10 Aŭreolo.icon Aŭreolo (Ruiniĝa Aŭreolo (Prototype II).icon Ruiniĝa Aŭreolo (Prototype II)) y – which doesn't use @container style(--var)
2025-09 Aŭreolo.icon Aŭreolo (Ruiniĝa Aŭreolo (Prototype I).icon Ruiniĝa Aŭreolo (Prototype I)) y – “The Halo that is toward being ruined”
2025-08 Termika Radiado.icon Termika Radiado – y “Thermal Radiation”
2025-08 Anĝela Osto.icon Anĝela Osto y – “Angel's Bone”
#Todo
Alruina Aŭreolo のリファクタリングと関連するページの構成ごと書き直す準備
1. Aŭreolo Simplified
2.
機能と焦点
See NremのCosenseテーマの機能と焦点
変数スタイルコンテナによるCosenseテーマの着脱方式
プレビューページ全体のスキンを切り替える記法https://scrapbox.io/files/68baa6be397c192788fc905c.mp4
Anĝela Osto.icon 次のバーの右側の余白をクリックすると「Anĝela Osto」をプレビューします。--project-theme nremiel.osto
Termika Radiado.icon 次のバーの右側の余白をクリックすると「Termika Radiado」をプレビューします。--project-theme nremiel.radiado-dark
Aŭreolo.icon 次のバーの右側の余白をクリックすると「Aŭreolo」をプレビューします。--project-theme nremiel.aureolo
Cosense.icon 次のバーの右側の余白をクリックすると、現在のCosenseの標準テーマになります。--project-theme noskin
サンプル
NremのCosenseテーマ互換レイヤー
主要なUIコンポーネントの配色変更
table:Accent Colors
このサイトのカスタムテーマ Cosenseの標準テーマ
キャレットカーソル 🟥crimson ⬛黒系統
不在時未読テロメア 🟪#924D8B、またはオートカラー 🟩#7fca8f
編集直後テロメア 🟥 🟦#47ba5f
更新履歴(共通)
nremiel.theme.core
2025-10-30: background-color: var(--c-bg-bottom)のセレクターを.appからbodyに変更(標準テーマのセレクターに準拠)
既存のCosenseの背景を変更するProjectCSSがそのまま反映されるように。
ProjectCSS またはユーザーCSSとしての利用
動作環境
システムフォントへの依存
「UD デジタル 教科書体」– ページ本文に利用
Windows や macOS のシステムフォント。他のプラットフォームでは別のフォントで表示される。
代わりとなるウェブフォントを探している。
NremのCosenseテーマの開発
starこのような記述starを Cosense.iconCosense 用のCSSに追加する。
code:example.css
@import "/api/code/nremiel/settings%2Ftheme%2Faureolo/style.css";
:root {
color-scheme: light dark;
}
@media screen and (prefers-color-scheme: light) {
:root {
--project-theme: "nremiel.aureolo";
}
}
Cosense.icon Cosense かウェブブラウザ(Stylus 等のブラウザ拡張)のユーザーCSSに以下のコードを追加する。
例A. そのまま Cosense の外観を上書きする
「Aŭreolo」スキンで Cosense の外見を上書きする場合。
code:aureolo.css
@import "/api/code/nremiel/settings%2Ftheme%2Faureolo/style.css";
:root {
--project-theme: "nremiel.aureolo";
}
例B. Cosense のダークテーマとして反映させる
ページ背景が暗色でないテーマに対して、ダークテーマとして「Termika Radiado」で Cosense の外観を上書きする場合。
code:as-dark.css
@import "/api/code/nremiel/settings%2Ftheme%2Fradiado-dark/style.css";
:root {
color-scheme: light dark;
}
@media screen and (prefers-color-scheme: dark) {
htmldata-project-theme=default,
/* htmldata-project-theme=default-dark, */ /* ページ背景が暗色のテーマにつき対象から除外 */
htmldata-project-theme=default-minimal,
htmldata-project-theme=paper-light,
htmldata-project-theme=paper-dark,
/* htmldata-project-theme=paper-dark-dark, */ /* ページ背景が暗色のテーマにつき対象から除外 */
htmldata-project-theme=blue,
htmldata-project-theme=purple,
htmldata-project-theme=green,
htmldata-project-theme=orange,
htmldata-project-theme=red,
htmldata-project-theme=hacker1,
htmldata-project-theme=hacker2,
htmldata-project-theme=summer,
htmldata-project-theme=spring,
htmldata-project-theme=autumn,
htmldata-project-theme=tropical,
htmldata-project-theme=kyoto,
htmldata-project-theme=newyork,
htmldata-project-theme=paris,
htmldata-project-theme=mred,
htmldata-project-theme=lgreen {
--project-theme: "nremiel.radiado-dark";
}
}
例C. Cosense テーマのページ背景色に基づいて変更する
この「Termika Radiado」をページ背景が暗色でない Cosense テーマ用のダークテーマとして
「Anĝela Osto」をページ背景が明色でない Cosense テーマ用のライトテーマとして、
Cosense の外観を上書きする場合。
以下のいずれかのコードを追加する。
code:example.css
@import "/api/code/nremiel/Termika_Radiado/auto-smart.css";
または
code:auto-smart.css
@import "/api/code/nremiel/An%C4%9Dela_Osto/as-light.css";
@import "/api/code/nremiel/Termika_Radiado/as-dark.css";
あ
CSS変数を定義する「テーマプロファイル」部と、CSS変数の値を参照する「反映」部の2つのグループがある。
1. starProjectCSSが「テーマプロファイル」CSSを@importstarする。
ProjectCSSに@importされた「テーマプロファイル」は「反映」部を@importする。
ProjectCSSが「反映」部を直接@importする必要はない。
2. starProjectCSSにCSS変数--project-themestarを定義して、starページに適用する「テーマプロファイル」を指定する。
この変数にはテーマ固有の文字列を代入する。
有効な値の場合にのみ、これらのカスタムテーマが適用される。
DOM構造の途中から部分的にカスタムテーマを適用したり別のテーマに変えたりすることができなくもないが、Cosenseの挙動がくっそ重くなっても作者は知らないよ。
テーマプロファイル部
変数反映部
theme.nremiel.core (prototype)
CSSの@container style()とvar()を複数組み合わせて実装されており、重い。
詳細度と変数のスコープを間違えた瞬間に Cosense の動作が重くなり、使い物にならなくなる。
胡乱な解説
依存関係をざっくばらんに説明する。
CSS変数を定義する「テーマプロファイル」部と、CSS変数の値を参照する「反映」部の2つのグループがある。
1. starProjectCSSが「テーマプロファイル」CSSを@importstarする。
ProjectCSSに@importされた「テーマプロファイル」は「反映」部を@importする。
orangeProjectCSSが「反映」部を直接@importorangeする必要はない。
2. starProjectCSSにCSS変数--project-themestarを定義して、starページに適用する「テーマプロファイル」を指定する。
この変数にはテーマ固有の文字列を代入する。
有効な値の場合にのみ、これらのカスタムテーマが適用される。
DOM構造の途中から部分的にカスタムテーマを適用したり別のテーマに変えたりすることができなくもないが、Cosenseの挙動がくっそ重くなっても作者は知らないよ。
yellowテーマプロファイルが有効な場合、プロファイル自身がCSS変数--overwrite-native-themesを定義してその値にyを代入する。
これにより反映部が有効になる(@container style(--overwrite-native-themes: y)が条件)。
反映部:theme.nremiel.core (prototype) 以下のCSSの全て
orangeProjectCSSがこの変数に直接触れる必要はない。
この変数は通常、--project-themeで指定されたプロファイル自身が定義する。
この変数をy以外の値(n等)にするとNremのカスタムテーマが反映されなくなる。
CSS変数--project-themeが不正な値の場合、
プロファイルのCSS変数が未定義状態になる。
CSS変数--overwrite-native-themesが未定義状態になる。
つまり、適用される変数も変数を適用する者もいなくなる。
そして誰もいなくなった(実は生き残りとなるProjectCSSとsettings/fontsの内のどちらかが犯人である可能性が高い)