diff --git a/README.md b/README.md new file mode 100644 index 0000000..e1a78b4 --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# [Last2014's Blog](https://blog.last2014.com) + +Last2014's Blogはblog.last2014.comでホストされているLast2014のブログです。 +Hexo+NexT Themeで出来ています。 + +# ライセンス(記事・コード) + +![](https://cdnjs.cloudflare.com/ajax/libs/creativecommons-vocabulary/2020.11.3/assets/license_badges/big/by_nc.svg) diff --git a/_config.yml b/_config.yml index a0e1323..bf32158 100644 --- a/_config.yml +++ b/_config.yml @@ -7,13 +7,19 @@ title: Last2014's Blog subtitle: "" description: "" keywords: + - Developer + - Web Developer + - Server + - Student + - Elementary School + - Elementary School Student author: Last2014 language: ja timezone: Asia/Tokyo # URL ## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project' -url: https://blog.last2014.f5.si +url: https://blog.last2014.com permalink: :year/:title/ permalink_defaults: pretty_urls: @@ -84,9 +90,8 @@ updated_option: "mtime" # Pagination ## Set per_page to 0 to disable pagination -per_page: 10 +per_page: 0 pagination_dir: page - # Include / Exclude file(s) ## include:/exclude: options only apply to the 'source/' folder include: @@ -102,3 +107,9 @@ theme: next ## Docs: https://hexo.io/docs/one-command-deployment deploy: type: "" + +search: + path: search.xml + field: post + content: true + format: html diff --git a/package-lock.json b/package-lock.json index b9479d2..8f27d20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,8 @@ "hexo-generator-archive": "^2.0.0", "hexo-generator-category": "^2.0.0", "hexo-generator-index": "^4.0.0", + "hexo-generator-searchdb": "^1.5.0", + "hexo-generator-sitemap": "^3.0.1", "hexo-generator-tag": "^2.0.0", "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-marked": "^7.0.0", @@ -1069,6 +1071,131 @@ "node": ">=18" } }, + "node_modules/hexo-generator-searchdb": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/hexo-generator-searchdb/-/hexo-generator-searchdb-1.5.0.tgz", + "integrity": "sha512-d0b5SueDxJimTFaHpPg430FQFx7DtMkmEIHo0UTOjXWRy+eDqNSp1CuS04P7fWzMnH2h+aQc6O9D2yY+3sdAUg==", + "license": "MIT", + "dependencies": { + "nunjucks": "^3.2.2" + } + }, + "node_modules/hexo-generator-sitemap": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hexo-generator-sitemap/-/hexo-generator-sitemap-3.0.1.tgz", + "integrity": "sha512-n+0KLNmq6TLbiZPTQF6NY5MbEem/O+DFx0lgQZNQcU4tdjXIZRrQJs+KRKeT66NTkdlYTqb4WwCxswLqQz0crA==", + "license": "MIT", + "dependencies": { + "hexo-util": "^2.1.0", + "micromatch": "^4.0.2", + "nunjucks": "^3.1.6" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/hexo-util": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-2.7.0.tgz", + "integrity": "sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.2", + "camel-case": "^4.0.0", + "cross-spawn": "^7.0.0", + "deepmerge": "^4.2.2", + "highlight.js": "^11.0.1", + "htmlparser2": "^7.0.0", + "prismjs": "^1.17.1", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/hexo-generator-sitemap/node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, "node_modules/hexo-generator-tag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-2.0.0.tgz", diff --git a/package.json b/package.json index 342e528..e09639b 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "hexo-generator-archive": "^2.0.0", "hexo-generator-category": "^2.0.0", "hexo-generator-index": "^4.0.0", + "hexo-generator-searchdb": "^1.5.0", + "hexo-generator-sitemap": "^3.0.1", "hexo-generator-tag": "^2.0.0", "hexo-renderer-ejs": "^2.0.0", "hexo-renderer-marked": "^7.0.0", diff --git a/source/_posts/aboutme.md b/source/_posts/aboutme.md index ad604b4..60c1bd4 100644 --- a/source/_posts/aboutme.md +++ b/source/_posts/aboutme.md @@ -1,6 +1,7 @@ --- title: Last2014について date: 2025-06-18 19:31:28 +excerpt_description: true tags: - Last2014 - 自己紹介 diff --git a/themes/next/_config.yml b/themes/next/_config.yml index d988fb2..ccfa9a9 100644 --- a/themes/next/_config.yml +++ b/themes/next/_config.yml @@ -65,7 +65,7 @@ creative_commons: # Available values: by | by-nc | by-nc-nd | by-nc-sa | by-nd | by-sa | cc-zero license: by-nc # Available values: big | small - size: small + size: big sidebar: true post: true # You can set a language value if you prefer a translated version of CC license, e.g. deed.zh @@ -94,14 +94,12 @@ open_graph: # Value before `||` delimiter is the target link, value after `||` delimiter is the name of Font Awesome icon. # External url should start with http:// or https:// menu: - #home: / || fa fa-home - #about: /about/ || fa fa-user + home: / || fa fa-home #tags: /tags/ || fa fa-tags #categories: /categories/ || fa fa-th - #archives: /archives/ || fa fa-archive + archives: /archives/ || fa fa-archive #schedule: /schedule/ || fa fa-calendar - #sitemap: /sitemap.xml || fa fa-sitemap - #commonweal: /404/ || fa fa-heartbeat + sitemap: /sitemap.xml || fa fa-sitemap # Enable / Disable menu icons / item badges. menu_settings: @@ -156,9 +154,9 @@ site_state: true social: #GitHub: https://github.com/yourname || fab fa-github About Me: /2025/aboutme || fa fa-user - Home Page: https://last2014.f5.si || fa fa-globe + Home Page: https://last2014.com || fa fa-globe E-Mail: mailto:last2014yh@yahoo.co.jp || fa fa-envelope - Gitea: https://gitea.last2014.f5.si/last2014 || fa fa-code-fork + Gitea: https://gitea.last2014.com/last2014 || fa fa-code-fork #Weibo: https://weibo.com/yourname || fab fa-weibo #Twitter: https://twitter.com/yourname || fab fa-twitter #FB Page: https://www.facebook.com/yourname || fab fa-facebook @@ -204,7 +202,7 @@ language_switcher: false footer: # Specify the year when the site was setup. If not defined, current year will be used. - #since: 2021 + since: 2025 # Icon between year and copyright info. icon: @@ -213,7 +211,7 @@ footer: # If you want to animate the icon, set it to true. animated: false # Change the color of icon, using Hex Code. - color: "#ff0000" + color: "#ffffff" # If not defined, `author` from Hexo `_config.yml` will be used. # Set to `false` to disable the copyright statement. @@ -293,9 +291,8 @@ related_posts: # Post edit # Easily browse and edit blog source code online. post_edit: - enable: false - url: https://github.com/user-name/repo-name/tree/branch-name/subdirectory-name/ # Link for view source - #url: https://github.com/user-name/repo-name/edit/branch-name/subdirectory-name/ # Link for fork & edit + enable: true + url: https://gitea.last2014.com/last2014/blog/src/branch/main/source/ # Show previous post and next post in post footer if exists # Available values: left | right | false @@ -398,7 +395,7 @@ reading_progress: # Bookmark Support bookmark: - enable: false + enable: true # Customize the color of the bookmark. color: "#222" # If auto, save the reading progress when closing the page or clicking the bookmark-icon. @@ -852,7 +849,7 @@ algolia_search: # Local Search # Dependencies: https://github.com/next-theme/hexo-generator-searchdb local_search: - enable: false + enable: true # Show top n results per article, show all results by setting to -1 top_n_per_article: 1 # Unescape html strings to the readable one. @@ -913,3 +910,13 @@ vendors: css: css js: js images: images + +sitemap: + path: + - sitemap.xml + - sitemap.txt + template: ./sitemap_template.xml + template_txt: ./sitemap_template.txt + rel: true + tags: true + categories: true diff --git a/themes/next/source/css/main.styl b/themes/next/source/css/main.styl index d75c4a1..63ded10 100644 --- a/themes/next/source/css/main.styl +++ b/themes/next/source/css/main.styl @@ -45,3 +45,8 @@ for $inject_mixin in hexo-config('injects.mixin') // -------------------------------------------------- for $inject_style in hexo-config('injects.style') @import $inject_style; + +// Custom Styles +.site-author-image { + border-radius: 100%; +} diff --git a/yarn.lock b/yarn.lock index 4b9663d..a650dee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -102,7 +102,7 @@ binary-extensions@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz" -bluebird@^3.5.5, bluebird@^3.7.2: +bluebird@^3.5.2, bluebird@^3.5.5, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" @@ -136,7 +136,7 @@ call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: es-errors "^1.3.0" function-bind "^1.1.2" -camel-case@^4.1.2: +camel-case@^4.0.0, camel-case@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" dependencies: @@ -219,7 +219,7 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.3: version "7.0.6" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" dependencies: @@ -293,6 +293,15 @@ destroy@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz" @@ -301,10 +310,17 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domelementtype@^2.3.0: +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" +domhandler@^4.2.0, domhandler@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz" @@ -317,6 +333,15 @@ dompurify@^3.0.3: optionalDependencies: "@types/trusted-types" "^2.0.7" +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils@^3.1.0: version "3.2.2" resolved "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz" @@ -351,6 +376,16 @@ encodeurl@~2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz" +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + entities@^4.2.0, entities@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" @@ -559,6 +594,22 @@ hexo-generator-index@^4.0.0: dependencies: hexo-pagination "3.0.0" +hexo-generator-searchdb@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/hexo-generator-searchdb/-/hexo-generator-searchdb-1.5.0.tgz" + integrity sha512-d0b5SueDxJimTFaHpPg430FQFx7DtMkmEIHo0UTOjXWRy+eDqNSp1CuS04P7fWzMnH2h+aQc6O9D2yY+3sdAUg== + dependencies: + nunjucks "^3.2.2" + +hexo-generator-sitemap@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/hexo-generator-sitemap/-/hexo-generator-sitemap-3.0.1.tgz" + integrity sha512-n+0KLNmq6TLbiZPTQF6NY5MbEem/O+DFx0lgQZNQcU4tdjXIZRrQJs+KRKeT66NTkdlYTqb4WwCxswLqQz0crA== + dependencies: + hexo-util "^2.1.0" + micromatch "^4.0.2" + nunjucks "^3.1.6" + hexo-generator-tag@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-2.0.0.tgz" @@ -625,6 +676,20 @@ hexo-theme-next@^8.23.1: resolved "https://registry.npmjs.org/hexo-theme-next/-/hexo-theme-next-8.23.1.tgz" integrity sha512-csbJPGhfflcBceJznUgWEMsAxq6Ef7ONDAD4XImPvSmczUadc+7oWEl+i1Ylg38Uu59r149p61RSZfxZ7FkosQ== +hexo-util@^2.1.0: + version "2.7.0" + resolved "https://registry.npmjs.org/hexo-util/-/hexo-util-2.7.0.tgz" + integrity sha512-hQM3h34nhDg0bSe/Tg1lnpODvNkz7h2u0+lZGzlKL0Oufp+5KCAEUX9wal7/xC7ax3/cwEn8IuoU75kNpZLpJQ== + dependencies: + bluebird "^3.5.2" + camel-case "^4.0.0" + cross-spawn "^7.0.0" + deepmerge "^4.2.2" + highlight.js "^11.0.1" + htmlparser2 "^7.0.0" + prismjs "^1.17.1" + strip-indent "^3.0.0" + hexo-util@^3.0.1, hexo-util@^3.1.0, hexo-util@^3.3.0: version "3.3.0" resolved "https://registry.npmjs.org/hexo-util/-/hexo-util-3.3.0.tgz" @@ -666,7 +731,7 @@ hexo@^7.3.0: titlecase "^1.1.3" warehouse "^5.0.1" -highlight.js@^11.6.0: +highlight.js@^11.0.1, highlight.js@^11.6.0: version "11.11.1" resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz" @@ -676,6 +741,16 @@ html-encoding-sniffer@^4.0.0: dependencies: whatwg-encoding "^3.1.1" +htmlparser2@^7.0.0: + version "7.2.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + htmlparser2@^9.0.0: version "9.1.0" resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz" @@ -847,7 +922,7 @@ micro-memoize@^4.1.2: version "4.1.3" resolved "https://registry.npmjs.org/micro-memoize/-/micro-memoize-4.1.3.tgz" -micromatch@^4.0.4: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.8" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz" dependencies: @@ -950,7 +1025,7 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" -nunjucks@^3.2.3: +nunjucks@^3.1.6, nunjucks@^3.2.2, nunjucks@^3.2.3: version "3.2.4" resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz" dependencies: @@ -1033,7 +1108,7 @@ pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz" -prismjs@^1.29.0: +prismjs@^1.17.1, prismjs@^1.29.0: version "1.30.0" resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz"