goofmint 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/.claude/settings.local.json +17 -0
  2. package/.github/workflows/deploy.yml +44 -0
  3. package/.nvmrc +1 -0
  4. package/.ruby-version +1 -0
  5. package/DEPLOYMENT.md +111 -0
  6. package/Gemfile +10 -0
  7. package/README.md +118 -0
  8. package/_config.yml +77 -0
  9. package/_data/i18n.yml +86 -0
  10. package/_data/social.yml +19 -0
  11. package/_includes/footer.html +18 -0
  12. package/_includes/header.html +42 -0
  13. package/_includes/i18n.html +2 -0
  14. package/_layouts/default.html +25 -0
  15. package/_layouts/post.html +18 -0
  16. package/_layouts/project.html +37 -0
  17. package/_posts/2025-01-03-welcome.md +62 -0
  18. package/_posts/en/2025-01-03-welcome.md +61 -0
  19. package/_projects/bug-sniper.md +28 -0
  20. package/_projects/caiz.md +29 -0
  21. package/_projects/drowl.md +28 -0
  22. package/_projects/incho-app.md +32 -0
  23. package/_projects/moongift.md +33 -0
  24. package/_projects/review-game.md +28 -0
  25. package/_projects/sheetdb.md +30 -0
  26. package/_projects/text2cal.md +49 -0
  27. package/_projects_en/bug-sniper.md +28 -0
  28. package/_projects_en/caiz.md +29 -0
  29. package/_projects_en/drowl.md +28 -0
  30. package/_projects_en/incho-app.md +32 -0
  31. package/_projects_en/moongift.md +33 -0
  32. package/_projects_en/review-game.md +28 -0
  33. package/_projects_en/sheetdb.md +30 -0
  34. package/_projects_en/text2cal.md +49 -0
  35. package/_sass/_base.scss +58 -0
  36. package/_sass/_components.scss +113 -0
  37. package/_sass/_layout.scss +140 -0
  38. package/_sass/_syntax.scss +137 -0
  39. package/_sass/_theme.scss +261 -0
  40. package/about.md +182 -0
  41. package/assets/css/main.scss +68 -0
  42. package/assets/images/atsushi.jpg +0 -0
  43. package/assets/images/daruma.jpeg +0 -0
  44. package/assets/images/icons/email.svg +1 -0
  45. package/assets/images/icons/github.svg +1 -0
  46. package/assets/images/icons/linkedin.svg +1 -0
  47. package/assets/images/icons/x.svg +1 -0
  48. package/assets/images/moveum.jpeg +0 -0
  49. package/assets/images/notes.jpeg +0 -0
  50. package/assets/js/lang-toggle.js +89 -0
  51. package/assets/js/theme-toggle.js +69 -0
  52. package/blog.html +21 -0
  53. package/en/about.md +180 -0
  54. package/en/blog.html +21 -0
  55. package/en/index.html +45 -0
  56. package/en/projects.html +26 -0
  57. package/index.html +45 -0
  58. package/index.js +321 -0
  59. package/package.json +43 -0
  60. package/projects.html +29 -0
@@ -0,0 +1,17 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(jekyll:*)",
5
+ "Bash(mkdir:*)",
6
+ "Bash(bundle install:*)",
7
+ "Bash(tree:*)",
8
+ "WebFetch(domain:api.iconify.design)",
9
+ "Bash(bundle exec jekyll clean:*)",
10
+ "Bash(bundle exec jekyll build:*)",
11
+ "Bash(npm install)",
12
+ "Bash(chmod:*)",
13
+ "Bash(npm link)",
14
+ "Bash(npx goofmint:*)"
15
+ ]
16
+ }
17
+ }
@@ -0,0 +1,44 @@
1
+ name: Deploy to Cloudflare Pages
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+
11
+ jobs:
12
+ build-and-deploy:
13
+ runs-on: ubuntu-latest
14
+ permissions:
15
+ contents: read
16
+ deployments: write
17
+
18
+ steps:
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v4
21
+
22
+ - name: Setup Ruby
23
+ uses: ruby/setup-ruby@v1
24
+ with:
25
+ ruby-version: '3.2'
26
+ bundler-cache: true
27
+
28
+ - name: Install dependencies
29
+ run: bundle install
30
+
31
+ - name: Build Jekyll site
32
+ run: bundle exec jekyll build
33
+ env:
34
+ JEKYLL_ENV: production
35
+
36
+ - name: Publish to Cloudflare Pages
37
+ uses: cloudflare/pages-action@v1
38
+ with:
39
+ apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
40
+ accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
41
+ projectName: goofmint-dev
42
+ directory: _site
43
+ gitHubToken: ${{ secrets.GITHUB_TOKEN }}
44
+ branch: main
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ 20
package/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.0
package/DEPLOYMENT.md ADDED
@@ -0,0 +1,111 @@
1
+ # Cloudflare Pagesへのデプロイ手順
2
+
3
+ このドキュメントでは、GitHub Actionsを使用してJekyllサイトをCloudflare Pagesに自動デプロイする方法を説明します。
4
+
5
+ ## 前提条件
6
+
7
+ - GitHubアカウント
8
+ - Cloudflareアカウント
9
+ - このリポジトリがGitHubにプッシュされていること
10
+
11
+ ## セットアップ手順
12
+
13
+ ### 1. Cloudflare Pages プロジェクトの作成
14
+
15
+ 1. [Cloudflare Dashboard](https://dash.cloudflare.com/) にログイン
16
+ 2. 左メニューから「Workers & Pages」を選択
17
+ 3. 「Create application」→「Pages」→「Connect to Git」を選択
18
+ 4. **GitHubとの接続はスキップ**(GitHub Actionsでデプロイするため)
19
+ 5. 代わりに「Direct Upload」を選択
20
+ 6. プロジェクト名を `goofmint-dev` に設定
21
+ 7. プロジェクトを作成
22
+
23
+ ### 2. Cloudflare API トークンの取得
24
+
25
+ 1. Cloudflare Dashboard で右上のアイコン → 「My Profile」
26
+ 2. 左メニューから「API Tokens」を選択
27
+ 3. 「Create Token」をクリック
28
+ 4. 「Edit Cloudflare Workers」テンプレートを使用するか、カスタムトークンを作成
29
+ - **Permissions**:
30
+ - Account - Cloudflare Pages: Edit
31
+ - **Account Resources**:
32
+ - Include - 該当するアカウント
33
+ 5. 「Continue to summary」→「Create Token」
34
+ 6. **トークンをコピーして保存**(後で使用)
35
+
36
+ ### 3. Cloudflare Account IDの取得
37
+
38
+ 1. Cloudflare Dashboard のホームに戻る
39
+ 2. 右側のサイドバーに表示されている「Account ID」をコピー
40
+
41
+ ### 4. GitHub Secretsの設定
42
+
43
+ 1. GitHubリポジトリページで「Settings」→「Secrets and variables」→「Actions」
44
+ 2. 「New repository secret」をクリックして以下を追加:
45
+
46
+ **CLOUDFLARE_API_TOKEN**
47
+ ```
48
+ (ステップ2で取得したAPIトークン)
49
+ ```
50
+
51
+ **CLOUDFLARE_ACCOUNT_ID**
52
+ ```
53
+ (ステップ3で取得したAccount ID)
54
+ ```
55
+
56
+ ## デプロイ方法
57
+
58
+ ### 自動デプロイ
59
+
60
+ `main` ブランチにプッシュすると自動的にデプロイされます:
61
+
62
+ ```bash
63
+ git add .
64
+ git commit -m "Update site"
65
+ git push origin main
66
+ ```
67
+
68
+ ### デプロイの確認
69
+
70
+ 1. GitHubリポジトリの「Actions」タブでワークフローの実行状況を確認
71
+ 2. 成功したら Cloudflare Dashboard の「Workers & Pages」でデプロイを確認
72
+ 3. 提供されたURLでサイトにアクセス
73
+
74
+ ## カスタムドメインの設定
75
+
76
+ 1. Cloudflare Dashboard で該当プロジェクトを選択
77
+ 2. 「Custom domains」タブを開く
78
+ 3. 「Set up a custom domain」をクリック
79
+ 4. ドメイン名を入力(例: `goofmint.dev`)
80
+ 5. DNSレコードが自動的に設定されます
81
+
82
+ ## トラブルシューティング
83
+
84
+ ### ビルドエラー
85
+
86
+ - GitHub Actionsの「Actions」タブでログを確認
87
+ - Rubyのバージョンやgemの依存関係を確認
88
+
89
+ ### デプロイエラー
90
+
91
+ - Cloudflare API TokenとAccount IDが正しく設定されているか確認
92
+ - プロジェクト名が `goofmint-dev` と一致しているか確認
93
+
94
+ ### 環境変数
95
+
96
+ 本番環境用の環境変数が必要な場合:
97
+
98
+ ```yaml
99
+ # .github/workflows/deploy.yml
100
+ - name: Build Jekyll site
101
+ run: bundle exec jekyll build
102
+ env:
103
+ JEKYLL_ENV: production
104
+ # その他の環境変数をここに追加
105
+ ```
106
+
107
+ ## 参考リンク
108
+
109
+ - [Cloudflare Pages Documentation](https://developers.cloudflare.com/pages/)
110
+ - [GitHub Actions for Cloudflare Pages](https://github.com/cloudflare/pages-action)
111
+ - [Jekyll Documentation](https://jekyllrb.com/docs/)
package/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "jekyll", "~> 4.3"
4
+ gem "webrick", "~> 1.8"
5
+
6
+ group :jekyll_plugins do
7
+ gem "jekyll-feed", "~> 0.17"
8
+ gem "jekyll-seo-tag", "~> 2.8"
9
+ gem "jekyll-sitemap", "~> 1.4"
10
+ end
package/README.md ADDED
@@ -0,0 +1,118 @@
1
+ # goofmint.dev
2
+
3
+ 個人ポートフォリオサイト
4
+
5
+ ## 概要
6
+
7
+ Jekyll を使用して構築された個人ポートフォリオサイトです。
8
+
9
+ ## 機能
10
+
11
+ - **ポートフォリオ**: プロジェクトの一覧と詳細ページ
12
+ - **ブログ**: 技術記事などを投稿
13
+ - **多言語対応**: 日本語・英語
14
+ - **ダークモード**: ライト/ダークテーマ切り替え
15
+ - **レスポンシブデザイン**: モバイル対応
16
+ - **SEO対応**: jekyll-seo-tag プラグインを使用
17
+ - **自動デプロイ**: GitHub Actions → Cloudflare Pages
18
+
19
+ ## セットアップ
20
+
21
+ ### 必要要件
22
+
23
+ - Ruby 2.7以上
24
+ - Jekyll 4.3以上
25
+
26
+ ### インストール
27
+
28
+ ```bash
29
+ # 依存関係のインストール
30
+ bundle install
31
+
32
+ # ローカルサーバーの起動
33
+ bundle exec jekyll serve
34
+
35
+ # ブラウザで http://localhost:4000 にアクセス
36
+ ```
37
+
38
+ ## ディレクトリ構造
39
+
40
+ ```
41
+ .
42
+ ├── _config.yml # サイト設定
43
+ ├── _includes/ # 再利用可能なコンポーネント
44
+ ├── _layouts/ # ページレイアウト
45
+ ├── _posts/ # ブログ投稿
46
+ ├── _projects/ # プロジェクトページ
47
+ ├── _sass/ # Sassスタイルシート
48
+ ├── assets/ # CSS、JS、画像
49
+ ├── index.html # トップページ
50
+ ├── about.md # About ページ
51
+ ├── blog.html # ブログ一覧
52
+ └── projects.html # プロジェクト一覧
53
+ ```
54
+
55
+ ## プロジェクトの追加方法
56
+
57
+ `_projects/` ディレクトリに新しいMarkdownファイルを作成します:
58
+
59
+ ```markdown
60
+ ---
61
+ title: プロジェクト名
62
+ tech:
63
+ - 技術1
64
+ - 技術2
65
+ github: https://github.com/username/repo
66
+ demo: https://demo.example.com
67
+ ---
68
+
69
+ プロジェクトの説明...
70
+ ```
71
+
72
+ ## ブログ投稿の追加方法
73
+
74
+ `_posts/` ディレクトリに `YYYY-MM-DD-title.md` の形式でファイルを作成します:
75
+
76
+ ```markdown
77
+ ---
78
+ layout: post
79
+ title: "投稿タイトル"
80
+ date: YYYY-MM-DD HH:MM:SS +0900
81
+ ---
82
+
83
+ 記事の内容...
84
+ ```
85
+
86
+ ## ビルド
87
+
88
+ ```bash
89
+ bundle exec jekyll build
90
+ ```
91
+
92
+ ビルドされたサイトは `_site/` ディレクトリに生成されます。
93
+
94
+ ## デプロイ
95
+
96
+ このサイトはGitHub ActionsでCloudflare Pagesに自動デプロイされます。
97
+
98
+ 詳細な手順は [DEPLOYMENT.md](./DEPLOYMENT.md) を参照してください。
99
+
100
+ ### クイックスタート
101
+
102
+ 1. Cloudflare Pagesでプロジェクト作成
103
+ 2. GitHub Secretsに以下を設定:
104
+ - `CLOUDFLARE_API_TOKEN`
105
+ - `CLOUDFLARE_ACCOUNT_ID`
106
+ 3. `main` ブランチにプッシュすると自動デプロイ
107
+
108
+ ## 技術スタック
109
+
110
+ - **フレームワーク**: Jekyll 4.3
111
+ - **スタイル**: Sass/SCSS
112
+ - **デプロイ**: Cloudflare Pages
113
+ - **CI/CD**: GitHub Actions
114
+ - **言語**: Ruby 3.2
115
+
116
+ ## ライセンス
117
+
118
+ MIT License
package/_config.yml ADDED
@@ -0,0 +1,77 @@
1
+ # Site settings
2
+ title: goofmint.dev
3
+ description: >-
4
+ Personal Portfolio Site of Atsushi Nakatsugawa, a DevRel lover based in Yokohama, Japan.
5
+ baseurl: ""
6
+ url: "https://goofmint.dev"
7
+
8
+ # Language settings
9
+ languages: ["ja", "en"]
10
+ default_lang: "ja"
11
+ lang: "ja"
12
+
13
+ # Author settings
14
+ author:
15
+ name: Goofmint
16
+ email: your-email@example.com
17
+
18
+ # Build settings
19
+ markdown: kramdown
20
+ permalink: pretty
21
+
22
+ # Plugins
23
+ plugins:
24
+ - jekyll-feed
25
+ - jekyll-seo-tag
26
+ - jekyll-sitemap
27
+
28
+ # Exclude from processing
29
+ exclude:
30
+ - Gemfile
31
+ - Gemfile.lock
32
+ - node_modules
33
+ - vendor/bundle/
34
+ - vendor/cache/
35
+ - vendor/gems/
36
+ - vendor/ruby/
37
+ - .sass-cache/
38
+ - .jekyll-cache/
39
+ - gemfiles/
40
+
41
+ # Collections
42
+ collections:
43
+ projects:
44
+ output: true
45
+ permalink: /projects/:name/
46
+ projects_en:
47
+ output: true
48
+ permalink: /en/projects/:name/
49
+
50
+ # Defaults
51
+ defaults:
52
+ - scope:
53
+ path: ""
54
+ type: "projects"
55
+ values:
56
+ layout: "project"
57
+ lang: "ja"
58
+ - scope:
59
+ path: ""
60
+ type: "projects_en"
61
+ values:
62
+ layout: "project"
63
+ lang: "en"
64
+ - scope:
65
+ path: ""
66
+ type: "posts"
67
+ values:
68
+ layout: "post"
69
+ lang: "ja"
70
+ permalink: /blog/:year/:month/:day/:title/
71
+ - scope:
72
+ path: "_posts/en"
73
+ type: "posts"
74
+ values:
75
+ layout: "post"
76
+ lang: "en"
77
+ permalink: /en/blog/:year/:month/:day/:title/
package/_data/i18n.yml ADDED
@@ -0,0 +1,86 @@
1
+ ja:
2
+ site:
3
+ title: goofmint.dev
4
+ description: アツシの個人ポートフォリオサイト
5
+
6
+ nav:
7
+ home: ホーム
8
+ projects: プロジェクト
9
+ blog: ブログ
10
+ about: 私について
11
+
12
+ home:
13
+ hero_title: goofmint.devへようこそ
14
+ hero_description: アツシの個人ポートフォリオサイトへようこそ
15
+ about_title: About
16
+ about_description: CodeRabbit デベロッパーアドボケイト、株式会社MOONGIFT代表取締役、一般社団法人DevRel代表理事。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ『MOONGIFT』を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶエバンジェリスト業「DevRel」活動をスタートした。ソーシャルIDはすべて goofmint。
17
+ featured_projects: 注目のプロジェクト
18
+ latest_posts: 最新の投稿
19
+ view_all_projects: すべてのプロジェクトを見る
20
+ view_all_posts: すべての投稿を見る
21
+
22
+ projects:
23
+ title: プロジェクト
24
+
25
+ blog:
26
+ title: ブログ
27
+
28
+ about:
29
+ title: アツシについて
30
+ skills: スキル
31
+ experience: 経歴
32
+ contact: お問い合わせ
33
+
34
+ post:
35
+ posted_on: 投稿日
36
+
37
+ footer:
38
+ rights: All rights reserved.
39
+
40
+ en:
41
+ site:
42
+ title: goofmint.dev
43
+ description: Personal Portfolio Site
44
+
45
+ nav:
46
+ home: Home
47
+ projects: Projects
48
+ blog: Blog
49
+ about: About
50
+
51
+ home:
52
+ hero_title: Welcome to goofmint.dev
53
+ hero_description: "Welcome to Atsushi's personal portfolio site"
54
+ about_title: About
55
+ about_description: >-
56
+ CodeRabbit Developer Advocate, CEO of MOONGIFT Inc.,
57
+ and Representative Director of DevRel Association.
58
+ Worked as a programmer and engineer at several companies,
59
+ and became independent at the age of 28.
60
+ In 2004, he launched "MOONGIFT", a technical blog on open source software,
61
+ where he shares information daily.
62
+ In 2013, he incorporated the business and started DevRel activities
63
+ that connect business and engineers.
64
+ His social ID is goofmint everywhere.
65
+ featured_projects: Featured Projects
66
+ latest_posts: Latest Posts
67
+ view_all_projects: View All Projects
68
+ view_all_posts: View All Posts
69
+
70
+ projects:
71
+ title: Projects
72
+
73
+ blog:
74
+ title: Blog
75
+
76
+ about:
77
+ title: About me
78
+ skills: Skills
79
+ experience: Experience
80
+ contact: Contact
81
+
82
+ post:
83
+ posted_on: Posted on
84
+
85
+ footer:
86
+ rights: All rights reserved.
@@ -0,0 +1,19 @@
1
+ github:
2
+ url: https://github.com/goofmint
3
+ icon: github.svg
4
+ name: GitHub
5
+
6
+ twitter:
7
+ url: https://twitter.com/goofmint
8
+ icon: X.svg
9
+ name: X
10
+
11
+ linkedin:
12
+ url: https://www.linkedin.com/in/goofmint/
13
+ icon: linkedin.svg
14
+ name: LinkedIn
15
+
16
+ email:
17
+ url: mailto:atsushi@moongift.jp
18
+ icon: email.svg
19
+ name: Email
@@ -0,0 +1,18 @@
1
+ <footer class="site-footer">
2
+ <div class="wrapper">
3
+ <div class="footer-content">
4
+ <div class="footer-info">
5
+ <p>&copy; {{ 'now' | date: "%Y" }} {{ site.title }}. All rights reserved.</p>
6
+ <p>{{ site.description }}</p>
7
+ </div>
8
+
9
+ <div class="social-links">
10
+ {% for social in site.data.social %}
11
+ <a href="{{ social[1].url }}" target="_blank" rel="noopener noreferrer" aria-label="{{ social[1].name }}" class="social-link">
12
+ <img src="{{ '/assets/images/icons/' | append: social[1].icon | relative_url }}" alt="{{ social[1].name }}" class="social-icon">
13
+ </a>
14
+ {% endfor %}
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </footer>
@@ -0,0 +1,42 @@
1
+ {% include i18n.html %}
2
+ {% if page.lang == 'en' %}
3
+ {% assign home_url = "/en/" %}
4
+ {% assign projects_url = "/en/projects/" %}
5
+ {% assign blog_url = "/en/blog/" %}
6
+ {% assign about_url = "/en/about/" %}
7
+ {% else %}
8
+ {% assign home_url = "/" %}
9
+ {% assign projects_url = "/projects/" %}
10
+ {% assign blog_url = "/blog/" %}
11
+ {% assign about_url = "/about/" %}
12
+ {% endif %}
13
+
14
+ <header class="site-header">
15
+ <div class="wrapper">
16
+ <a class="site-title" href="{{ home_url | relative_url }}">{{ site.title }}</a>
17
+
18
+ <div class="header-right">
19
+ <nav class="site-nav">
20
+ <a href="{{ home_url | relative_url }}">{{ t.nav.home }}</a>
21
+ <a href="{{ projects_url | relative_url }}">{{ t.nav.projects }}</a>
22
+ <a href="{{ blog_url | relative_url }}">{{ t.nav.blog }}</a>
23
+ <a href="{{ about_url | relative_url }}">{{ t.nav.about }}</a>
24
+ </nav>
25
+
26
+ <div class="header-controls">
27
+ <button class="lang-toggle" aria-label="言語切り替え">
28
+ {% if page.lang == 'en' %}JA{% else %}EN{% endif %}
29
+ </button>
30
+
31
+ <button class="theme-toggle" aria-label="テーマ切り替え">
32
+ <svg class="sun-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
33
+ <path d="M12 18C8.68629 18 6 15.3137 6 12C6 8.68629 8.68629 6 12 6C15.3137 6 18 8.68629 18 12C18 15.3137 15.3137 18 12 18ZM12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16ZM11 1H13V4H11V1ZM11 20H13V23H11V20ZM3.51472 4.92893L4.92893 3.51472L7.05025 5.63604L5.63604 7.05025L3.51472 4.92893ZM16.9497 18.364L18.364 16.9497L20.4853 19.0711L19.0711 20.4853L16.9497 18.364ZM19.0711 3.51472L20.4853 4.92893L18.364 7.05025L16.9497 5.63604L19.0711 3.51472ZM5.63604 16.9497L7.05025 18.364L4.92893 20.4853L3.51472 19.0711L5.63604 16.9497ZM23 11V13H20V11H23ZM4 11V13H1V11H4Z"/>
34
+ </svg>
35
+ <svg class="moon-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
36
+ <path d="M10 7C10 10.866 13.134 14 17 14C18.9584 14 20.729 13.1957 21.9995 11.8995C22 11.933 22 11.9665 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C12.0335 2 12.067 2 12.1005 2.00049C10.8043 3.27098 10 5.04157 10 7ZM4 12C4 16.4183 7.58172 20 12 20C15.0583 20 17.7158 18.2839 19.062 15.7621C18.3945 15.9187 17.7035 16 17 16C12.0294 16 8 11.9706 8 7C8 6.29648 8.08133 5.60547 8.2379 4.938C5.71611 6.28423 4 8.9417 4 12Z"/>
37
+ </svg>
38
+ </button>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </header>
@@ -0,0 +1,2 @@
1
+ {% assign lang = page.lang | default: site.lang | default: site.default_lang %}
2
+ {% assign t = site.data.i18n[lang] %}
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html lang="{{ page.lang | default: site.lang | default: 'ja' }}">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>{% if page.title %}{{ page.title }} | {% endif %}{{ site.title }}</title>
7
+ <meta name="description" content="{% if page.description %}{{ page.description }}{% else %}{{ site.description }}{% endif %}">
8
+ <link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
9
+ <script src="{{ "/assets/js/theme-toggle.js" | relative_url }}"></script>
10
+ <script src="{{ "/assets/js/lang-toggle.js" | relative_url }}"></script>
11
+ {% seo %}
12
+ {% feed_meta %}
13
+ </head>
14
+ <body>
15
+ {% include header.html %}
16
+
17
+ <main class="page-content">
18
+ <div class="wrapper">
19
+ {{ content }}
20
+ </div>
21
+ </main>
22
+
23
+ {% include footer.html %}
24
+ </body>
25
+ </html>
@@ -0,0 +1,18 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article class="post">
6
+ <header class="post-header">
7
+ <h1 class="post-title">{{ page.title }}</h1>
8
+ <p class="post-meta">
9
+ <time datetime="{{ page.date | date_to_xmlschema }}">
10
+ {{ page.date | date: "%Y年%m月%d日" }}
11
+ </time>
12
+ </p>
13
+ </header>
14
+
15
+ <div class="post-content">
16
+ {{ content }}
17
+ </div>
18
+ </article>
@@ -0,0 +1,37 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <article class="project">
6
+ <header class="project-header">
7
+ <h1 class="project-title">{{ page.title }}</h1>
8
+ {% if page.tech %}
9
+ <div class="project-tech">
10
+ {% if page.status %}
11
+ <span class="tech-tag status-{{ page.status | downcase }}">{{ page.status }}</span>
12
+ {% endif %}
13
+ {% for tech in page.tech %}
14
+ <span class="tech-tag">{{ tech }}</span>
15
+ {% endfor %}
16
+ </div>
17
+ {% endif %}
18
+ </header>
19
+
20
+ <div class="project-content">
21
+ {{ content }}
22
+ </div>
23
+
24
+ {% if page.github or page.demo or page.site %}
25
+ <div class="project-links">
26
+ {% if page.site %}
27
+ <a href="{{ page.site }}" target="_blank" class="btn">URL</a>
28
+ {% endif %}
29
+ {% if page.github %}
30
+ <a href="{{ page.github }}" target="_blank" class="btn">GitHub</a>
31
+ {% endif %}
32
+ {% if page.demo %}
33
+ <a href="{{ page.demo }}" target="_blank" class="btn">Demo</a>
34
+ {% endif %}
35
+ </div>
36
+ {% endif %}
37
+ </article>