- Imagining/building SaaS projects.
- Working on a remote job.
- RSSkit(持续更新中) RSS 阅读器,通过非常直观的 UI 保证了阅读体验,此外还添加了一些非常实用的功能如 AI 总结,reader view 等。
- Inkdays Web 版 Days matter(倒数日) 个人替代方案。
Blogkit(beta) is a unified blog engine. Powered by Next.js ISR. Inspired by @djyde's Sairin.
Home Page: https://blogkit.vercel.app
License: MIT License
rss should move back to core
:
export class Blogkit {
getFeeds(): Promise<FeedItem[]> {}
rssHandler = async (req, res) => {
const feed = new Feed({...})
const feedItems = await this.getFeeds()
// loop add feed item
res.send(feed.atom1())
}
}
then in request:
defineConfig({
request: {
// ...
getFeeds() {
return Promise.resolve([{...}])
}
}
})
for test!!!!! and ensure build!!!
suggest changing Request
to (...config: any[]) => Request
or another best practice in BlogkitConfig.request
blogkit/packages/blogkit-notion/src/index.ts
Line 120 in 30a394e
23:21:21.197 | 以前的构建缓存不可用
23:21:21.254 | 克隆完成:302.514ms
23:21:21.324 | 运行“vercel build”
23:21:21.721 | 韦塞尔 CLI 28.14.1
23:21:21.923 | 正在安装依赖项...
23:21:22.183 | 纱线安装 v1.22.17
23:21:22.207 | 信息 未找到锁定文件。
23:21:22.212 | [1/4] 正在解析包...
23:21:24.991 | [2/4] 正在获取包...
23:21:29.729 | [3/4] 链接依赖关系...
23:21:31.007 | [4/4] 构建新鲜包装...
23:21:31.012 | 成功 保存了锁定文件。
23:21:31.015 | 在 8.84 秒内完成。
23:21:31.033 | 检测到 下.js版本:12.1.0
23:21:31.034 | 运行“纱线运行构建”
23:21:31.176 | 纱线运行 v1.22.17
23:21:31.202 | $ 下一个构建
23:21:31.909 | 警告 - 检测到 next.config.js,未找到导出的配置。https://nextjs.org/docs/messages/empty-configuration
23:21:32.018 | 注意:接下来.js现在收集有关使用情况的完全匿名遥测数据。
23:21:32.018 | 此信息用于制定 Next.js 的路线图并确定功能的优先级。
23:21:32.018 | 您可以通过访问以下 URL 了解更多信息,包括如果您不想参与此匿名计划,如何选择退出:
23:21:32.018 | https://nextjs.org/telemetry
23:21:32.018 |
23:21:32.254 | 信息 - 检查类型的有效性...
23:21:33.756 | 警告 - 未检测到 ESLint 配置。运行下一个 lint 开始设置
23:21:33.760 | 信息 - 创建优化的生产版本...
23:21:40.365 | 信息 - 编译成功
23:21:40.365 | 信息 - 正在收集页面数据...
23:21:41.039 | @notionhq/客户端警告:请求失败 {
23:21:41.039 | 代码:“object_not_found”,
23:21:41.040 | 消息:“找不到 ID 为 0fbea1e8-28e7-422d-bd7c-59e9308a33da。确保与您的集成共享相关页面和数据库。
23:21:41.040 | }
23:21:41.040 |
23:21:41.041 | > 发生生成错误
23:21:41.042 | 错误 [APIResponseError]: 找不到 ID 为 0fbea1e8-28e7-422d-bd7c-59e9308a33da 的数据库。确保与您的集成共享相关页面和数据库。
23:21:41.043 | at buildRequestError (/vercel/path0/node_modules/@notionhq/client/build/src/errors.js:162:16)
23:21:41.043 | at Client.request (/vercel/path0/node_modules/@notionhq/client/build/src/Client.js:304:54)
23:21:41.043 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
23:21:41.043 | type: 'APIResponseError',
23:21:41.043 | 代码:“object_not_found”,
23:21:41.043 | 状态: 404,
23:21:41.043 | 标头:{},
23:21:41.043 | body:“{”object“:”error“,”status“:404,”code“:”object_not_found“,”message“:”找不到 ID 为 0fbea1e8-28e7-422d-bd7c-59e9308a33da。确保与您的集成共享相关页面和数据库。
23:21:41.043 | }
23:21:41.075 | 错误命令失败,退出代码为 1。
23:21:41.075 | info 有关此命令的文档,请访问 https://yarnpkg.com/en/docs/cli/run。
23:21:41.090 | 错误:命令“yarn run build”退出,但 1
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Warning
These dependencies are deprecated:
Datasource | Name | Replacement PR? |
---|---|---|
npm | @types/marked |
These updates are currently rate-limited. Click on a checkbox below to force their creation now.
@types/react
, react
, react-dom
)prismjs
, @types/prismjs
)These updates are pending. To force PRs open, click the checkbox below.
These updates have all been created already. Click a checkbox below to force a retry/rebase of any.
package.json
@2nthony/eslint-config ^1.0.3
@changesets/cli ^2.26.0
eslint ^8.40.0
turbo ^1.7.4
pnpm 8.5.1
packages/blogkit-notion/package.json
@notionhq/client ^2.0.0
lodash ^4.17.21
notion-to-md ^2.5.5
@types/lodash ^4.14.191
@types/node ^20.1.0
typescript ^5.0.0
packages/blogkit-strapi/package.json
axios ^1.0.0
@types/node ^20.1.0
typescript ^5.0.0
packages/blogkit-theme-minimal/package.json
dayjs ^1.10.8
@tailwindcss/typography ^0.5.2
@types/react ^18.0.0
autoprefixer ^10.4.2
concurrently ^8.0.0
next ^13.0.0
postcss ^8.4.7
react ^18.0.0
react-dom ^18.0.0
tailwindcss ^3.0.23
typescript ^5.0.0
next ^12.1.0
react ^17.0.2 || ^18.0.0
react-dom ^17.0.2 || ^18.0.0
packages/blogkit-yuque/package.json
axios ^1.0.0
typescript ^5.0.0
packages/core/package.json
feed ^4.2.2
marked ^5.0.1
prismjs ^1.27.0
@types/marked ^4.3.0
@types/prismjs ^1.26.0
next ^13.0.0
react ^18.0.0
react-dom ^18.0.0
typescript ^5.0.0
next ^12.1.0
blogkit/packages/blogkit-notion/src/index.ts
Lines 76 to 82 in 36858ff
if a hyperlink is matched in post list, then parse it to in-site link, not outside(notion) link.
the example in root.
It shuold be a quite simple, otherwise should guide to starter templates.
example/
- reques.ts
- theme/Home.tsx
- theme/Post.tsx
- blogkit.config.ts
again?
maybe should take more support when blogkit updated. (configuring with plugin) #27
// pseudo code
type BlogkitConfig = {
request: Request | ((config) => Request)
}
notion 可以在 table 中添加一个 column: tags 来达到,但是 yuque 只有文本编辑,标题时间信息这些都是 api 固定的
大多数的 md ssg 都是在 md 中写 front-matter
---
tags: my-tag
---
the theme
and template(starter)
should be together, which means is a theme
is a template(starter)
.
Therefore, the template will become a basic next.js project. I am very clear that the theme should be separate from blogkit config file.
The starter should use yarn, the main reason is Vercel uses yarn. Install pnpm is fine.
use js in template, not ts. (core sure ts)
remove theme
field in blogkit.config.js
, reason see above.
getHomePageStaticProps
-> getPostListStaticProps
getPostPageStaticProps
-> getPostStaticProps
setting the theme in config file makes extending pages or features hard.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.