From 95bdf7be451ddb9b4d847be6ec0e85e420725f6f Mon Sep 17 00:00:00 2001 From: Lawrence Li Date: Sun, 25 Feb 2024 00:18:57 +0800 Subject: [PATCH 1/2] feat: support tag locale --- components/blog.js | 8 ++- components/tag.js | 3 +- next.config.js | 2 +- pages/tag/[tag].js | 64 +++++++++++--------- pages/tag/index.js | 27 +++++++++ posts/long-live-rss.en.md | 8 ++- posts/long-live-rss.zh.md | 8 ++- posts/pre-rendering.en.md | 4 +- posts/pre-rendering.ja.md | 5 +- posts/pre-rendering.md | 6 +- public/images/long-live-rss/aaronswartz.jpg | Bin 0 -> 32783 bytes 11 files changed, 93 insertions(+), 42 deletions(-) create mode 100644 pages/tag/index.js create mode 100644 public/images/long-live-rss/aaronswartz.jpg diff --git a/components/blog.js b/components/blog.js index d8ad5cd3..50ffff85 100644 --- a/components/blog.js +++ b/components/blog.js @@ -119,7 +119,9 @@ export default withView(props => {
{tags && - tags.split(",").map(each => )} + tags + .split(",") + .map(each => )}

@@ -191,9 +193,9 @@ export default withView(props => { )} {cfg.enableGitHubComment && !props.noReply && } - {!props.noReward && ( + {/* {!props.noReward && ( - )} + )} */} )} diff --git a/components/tag.js b/components/tag.js index 1ae3e292..b3d479a9 100644 --- a/components/tag.js +++ b/components/tag.js @@ -1,5 +1,4 @@ import Link from "next/link"; -import config from "../lib/config.mjs"; export default function Tag(props) { const highlight = props.highlight @@ -9,7 +8,7 @@ export default function Tag(props) {

Tagged with {query.tag}

- {props.tags.map(tag => ( + {props.tags?.map(tag => ( ))}
- {props.data.map(post => ( -
- - - {post.title} - - -
- {post.date} - {post.tags.split(",").map(tag => ( - - ))} + {props.data + ?.filter(post => post.locale === locale) + .map(post => ( +
+ + + {post.title} + + +
+ {post.date} + {post.tags.split(",").map(tag => ( + + ))} +
-
- ))} + ))}
); @@ -57,14 +60,21 @@ export const getStaticProps = async context => { }; }; -export const getStaticPaths = async () => { +export const getStaticPaths = async context => { const tags = await getAllTags(); - const paths = tags.map(tag => { - return { - params: { - tag: tag, - }, - }; + const paths = []; + // todo: filter out tags by locale matching + // currenly show all tags even if no posts + context.locales.forEach(locale => { + const pathsWithLocale = tags.map(tag => { + return { + params: { + tag: tag, + }, + locale: locale, + }; + }); + paths.push(...pathsWithLocale); }); return { paths, diff --git a/pages/tag/index.js b/pages/tag/index.js new file mode 100644 index 00000000..3a86933c --- /dev/null +++ b/pages/tag/index.js @@ -0,0 +1,27 @@ +import { getAllTags } from "../../lib/ssg"; +import Layout from "../../components/layout"; +import Tag from "../../components/tag"; +import { useRouter } from "next/router"; + +export default function TagIndex(props) { + const { locale } = useRouter(); + return ( + +

Tags

+
+ {props.tags.map(tag => ( + + ))} +
+
+ ); +} + +export const getStaticProps = async () => { + const tags = await getAllTags(); + return { + props: { + tags: tags, + }, + }; +}; diff --git a/posts/long-live-rss.en.md b/posts/long-live-rss.en.md index 12276322..d7a6a95d 100644 --- a/posts/long-live-rss.en.md +++ b/posts/long-live-rss.en.md @@ -7,6 +7,8 @@ tags: rss, reading, web RSS: A family of Web feed formats used to publish frequently updated works (blog entries, news headlines, audio, and video) in a standardized format. [Aaron Swartz](http://www.aaronsw.com/) helped create it at the age of 14 and committed suicide at 26. +![Aaron Swartz](/images/long-live-rss/aaronswartz.jpg) + Aaron Swartz is a pioneer of open web fundamentalism. His deeds once affected the way I looked at the world. He used an extreme attitude to tell the world how to fight against the world. I recommend you to watch the documentary "The Internet's Own Boy: The Story of Aaron Swartz". This is the best way to understand the authors of RSS. Here are some feed examples I subscribed for reading: @@ -52,4 +54,8 @@ As a contributor for RSSHub, I'm also glad to share my self-hosted RSSHub for yo I'll try to keep [my repository](https://github.com/la3rence/RSSHub) in sync with [the official RSSHub git repository](https://github.com/DIYgod/RSSHub) every day. -I use the Reeder app for iOS. And also for feed sync up reason I host a FreshRSS service to keep all RSS feeds in one place. You can also try it or anyother client above and anyother services like Feedly, TinyTinyRSS... +I use the Reeder app for iOS. And also for feed sync up reason I host a FreshRSS service to keep all RSS feeds in one place. + +![My FreshRSS](/images/long-live-rss/freshrss.png) + +You can also try it or anyother client above and anyother services like Feedly, TinyTinyRSS... diff --git a/posts/long-live-rss.zh.md b/posts/long-live-rss.zh.md index 8d14742e..136031d8 100644 --- a/posts/long-live-rss.zh.md +++ b/posts/long-live-rss.zh.md @@ -7,6 +7,8 @@ tags: rss, reading, web RSS(简易信息聚合): 一系列网络提要格式,用于以标准化格式发布经常更新的作品(博客、新闻、音频和视频)。作者 [Aaron Swartz](http://www.aaronsw.com/) 在 14 岁时设计了它,却在 26 岁自杀。 +![Aaron Swartz](/images/long-live-rss/aaronswartz.jpg) + Aaron Swartz 是一位开放互联网原教旨主义的先驱。他的事迹一度影响了我看待世界的方式,他以一种极端的姿态告诉世人如何对抗这个世界。推荐大家看一看十年前上映的《互联网之子》这部纪录片,这是了解 RSS 作者的最佳方式。 这是我自己订阅的一些 RSS 源。 @@ -52,4 +54,8 @@ Aaron Swartz 是一位开放互联网原教旨主义的先驱。他的事迹一 我会尽力每天将[我的 RSSHub 代码仓库](https://github.com/la3rence/RSSHub)与[官方仓库](https://github.com/DIYgod/RSSHub)保持同步。 -我使用的客户端是 Reeder 。另外,出于同步 RSS 源的原因,我自己部署了 FreshRSS 服务,将所有 RSS Feed 保存在一个位置。 你可以试试或上面提到的的任何其他客户端以及任何其他服务端,比如 Feedly、TinyTinyRSS... +我使用的客户端是 Reeder。另外,出于同步 RSS 源的原因,我自己部署了 FreshRSS 服务,将所有 RSS Feed 保存在一个位置。 + +![My FreshRSS](/images/long-live-rss/freshrss.png) + +你可以试试或上面提到的的任何其他客户端以及任何其他服务端,比如 Feedly、TinyTinyRSS... diff --git a/posts/pre-rendering.en.md b/posts/pre-rendering.en.md index a243bfd6..0ec06b74 100644 --- a/posts/pre-rendering.en.md +++ b/posts/pre-rendering.en.md @@ -1,6 +1,6 @@ --- -title: "Two Forms of Pre-rendering" -date: "1970-01-01" +title: "Next.js: Two Forms of Pre-rendering" +date: "2018-01-01" description: "SSG & SSR" tags: ssg, ssr --- diff --git a/posts/pre-rendering.ja.md b/posts/pre-rendering.ja.md index 0e3ccbb2..faac2fa7 100644 --- a/posts/pre-rendering.ja.md +++ b/posts/pre-rendering.ja.md @@ -1,8 +1,9 @@ --- -title: "2 つの形式のプリレンダリング" -date: "1970-01-01" +title: "Next.js 2 つの形式のプリレンダリング" +date: "2018-01-01" description: "SSG & SSR" tags: ssg, ssr +visible: false --- Next.js には、**静的生成** と **サーバーサイド レンダリング** という 2 つの形式のプリレンダリングがあります。 違いは、ページの HTML を**いつ生成するか**にあります。 diff --git a/posts/pre-rendering.md b/posts/pre-rendering.md index 0c8e3ad9..893e19a5 100644 --- a/posts/pre-rendering.md +++ b/posts/pre-rendering.md @@ -1,6 +1,6 @@ --- -title: "两种预渲染形式" -date: "1970-01-01" +title: "Next.js 的两种预渲染形式" +date: "2018-01-01" description: "SSG & SSR" tags: ssg, ssr --- @@ -10,4 +10,4 @@ Next.js 有两种形式的预渲染:**静态生成**和**服务器端渲染** - **静态生成**是在**构建时**生成 HTML 的预渲染方法。 然后,每个请求都会*重用*预渲染的 HTML。 - **服务器端渲染**是在**每个请求**上生成 HTML 的预渲染方法。 -重要的是,Next.js 允许您**选择**每个页面使用哪种预渲染表单。 您可以通过对大多数页面使用静态生成并对其他页面使用服务器端渲染来创建“混合”Next.js 应用程序。 +重要的是,Next.js 允许您**选择**每个页面使用哪种预渲染表单。 您可以通过对大多数页面使用静态生成并对其他页面使用服务器端渲染来创建「混合」Next.js 应用程序。 diff --git a/public/images/long-live-rss/aaronswartz.jpg b/public/images/long-live-rss/aaronswartz.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd2271fea544cde511dc8e6979f75620eab4ad99 GIT binary patch literal 32783 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 Date: Sun, 25 Feb 2024 00:20:59 +0800 Subject: [PATCH 2/2] chore: remove unnessary lines --- components/blog.js | 1 - 1 file changed, 1 deletion(-) diff --git a/components/blog.js b/components/blog.js index 50ffff85..89bc9463 100644 --- a/components/blog.js +++ b/components/blog.js @@ -7,7 +7,6 @@ import "highlight.js/styles/sunburst.css"; import "gist-syntax-themes/stylesheets/one-dark.css"; import Tag from "./tag"; import Avatar from "./avatar"; -import RewardImages from "./reward"; import cfg from "../lib/config.mjs"; import Disqus from "./disqus"; import Comments from "./comments";