From 9f2fb3bda733c32995c008bd0f40365e43c348da Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Sat, 22 Aug 2026 00:18:56 +0900 Subject: feat: Zolaで「たかしの記録」を構築 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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の成功を確認 --- sass/_layout.scss | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 sass/_layout.scss (limited to 'sass/_layout.scss') 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; + } +} -- cgit v1.2.3