summaryrefslogtreecommitdiff
path: root/sass/_layout.scss
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-08-22 00:18:56 +0900
committertanaka takashi <isazaka@gmail.com>2026-08-22 00:19:26 +0900
commit9f2fb3bda733c32995c008bd0f40365e43c348da (patch)
tree663a6b48ec83b2b6ba2c998dcfed89e0bb29f172 /sass/_layout.scss
parent31b19ee74469c23633bbea4e021d91ddd8c34e3a (diff)
feat: Zolaで「たかしの記録」を構築
Specifications.mdとDesign.mdを実装の基準として、個人アーカイブサイトをZola 0.23.3向けに構築する。 - Home、Notes、Software、About、Tagsの情報設計と専用URLを追加 - Notesの年別アーカイブ、タグ分類、目次、脚注、参考文献、更新日表示を実装 - Softwareの一覧・詳細、cgit/GitHub情報、Notesとの明示的な相互参照を実装 - Tera 2 componentによる再帰TOCと共通partialsを追加 - Minimal Editorial ArchiveのSCSS、レスポンシブ表示、アクセシビリティ対応を追加 - OS設定とlocalStorageに対応するLight/Darkテーマ切替を外部JavaScriptで実装 - Atom/RSS、sitemap、robots.txt、404、favicon、syntax highlightingを設定 - メールアドレスをzola.tomlへ一元化し、AboutとFooterから参照 - 表示名・内部ディレクトリ・変数・URLをSoftware/softwareへ統一 - public/をGit管理対象外とし、外部CDNやNode.js依存を導入しない - zola checkおよびzola buildの成功を確認
Diffstat (limited to 'sass/_layout.scss')
-rw-r--r--sass/_layout.scss106
1 files changed, 106 insertions, 0 deletions
diff --git a/sass/_layout.scss b/sass/_layout.scss
new file mode 100644
index 0000000..126fa96
--- /dev/null
+++ b/sass/_layout.scss
@@ -0,0 +1,106 @@
+.site-container {
+ width: min(calc(100% - 2rem), var(--site-max));
+ max-width: calc(100% - 2rem);
+ margin-inline: auto;
+}
+
+.site-main {
+ min-height: 65vh;
+}
+
+.narrow,
+.prose,
+.related-content {
+ width: min(100%, var(--content-max));
+ margin-inline: auto;
+}
+
+.home-intro {
+ padding-block: clamp(4rem, 10vw, 7rem);
+ border-bottom: var(--rule);
+}
+
+.home-intro h1 {
+ margin-bottom: 1rem;
+}
+
+.home-intro p {
+ max-width: 38rem;
+}
+
+.home-sections,
+.listing-page,
+.editorial-page,
+.article-page {
+ padding-block: clamp(3.5rem, 8vw, 6rem);
+}
+
+.home-sections {
+ display: grid;
+ gap: clamp(4rem, 9vw, 7rem);
+}
+
+.section-heading {
+ display: flex;
+ align-items: baseline;
+ justify-content: space-between;
+ gap: 1rem;
+ margin-bottom: 1.1rem;
+ padding-bottom: 0.75rem;
+ border-bottom: var(--rule);
+}
+
+.section-heading a {
+ white-space: nowrap;
+}
+
+.home-about {
+ width: min(100%, var(--content-max));
+ padding-top: 2rem;
+ border-top: var(--rule);
+}
+
+.home-about h2,
+.home-about p {
+ margin-bottom: 0.8rem;
+}
+
+.page-header {
+ margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
+}
+
+.page-header h1 {
+ margin-bottom: 0.8rem;
+}
+
+.editorial-page .page-header {
+ margin-bottom: 2.5rem;
+}
+
+.error-page {
+ padding-block: clamp(5rem, 14vw, 10rem);
+}
+
+.error-page .error-code {
+ margin-bottom: 1rem;
+ color: var(--color-muted);
+ font-size: 0.9rem;
+}
+
+.error-page h1,
+.error-page > p {
+ margin-bottom: 1rem;
+}
+
+.error-page nav {
+ display: flex;
+ gap: 1.25rem;
+ margin-top: 2rem;
+}
+
+@media (max-width: 38rem) {
+ .section-heading {
+ align-items: flex-start;
+ flex-direction: column;
+ }
+}