NuxtPress
是时候表演一波真正的技术了。代码行数: 仅 255 行。
示例
地址: https://v0.chat 源码: https://github.com/assholev0/v0.chat
配置
创建 .nuxtpress.config.js
(根目录下,与nuxt.config.js
同级)。
moduleexports = source: '_source' // 默认文章目录 per_page: 10 // 默认分页 10/页, 0 为关闭分页;
API
$np
方法
np
是 NuxtPress 的缩写。在 Nuxt 页面中,可以这样使用:
async { return posts: await app$np }
info 基本信息
app$np
返回:
title: "初瘦"description: "想当初,也瘦过。公众号:assholev0"posts: 3tags: 4categories: 2wordcount: 2451
posts 文章列表
app$np
参数:
- page: 页码 (默认为1)
返回:
"page": 1 "pages": 1 "posts": "excrept": "<h2>此处是摘要</h2>" "wordcount": 1191 "tags": "生活" "category": "闲聊" "title": "初瘦与那些他的三观不正的杂念" "date": "2018-09-19T07:19:29.000Z" "slug": "assholev0" // 。。。
post 文章
app$np
参数:
- slug: 文章别名,必须
返回:
"post": "content": "<h2 id=\"何谓初瘦?\"><a class=\"header-anchor\" href=\"#何谓初瘦?\" aria-hidden=\"true\">#</a> 何谓初瘦?</h2>。。。。。。" "excrept": "<h2>此处是摘要</h2>" "wordcount": 1191 "tags": "生活" "category": "闲聊" "title": "初瘦与那些他的三观不正的杂念" "date": "2018-09-19T07:19:29.000Z" "slug": "assholev0"
tags 标签
app$nptagssearch
参数:
- search: 传入标签名称,查询标签下的日志 (默认为空)
返回:
"tags": "name": "vue" "count": 1 "name": "vuepress" "count": 1 "name": "前端" "count": 1 "name": "生活" "count": 2 "posts": "excrept": "<h2>此处是摘要</h2>" "wordcount": 1191 "tags": "生活" "category": "闲聊" "title": "初瘦与那些他的三观不正的杂念" "date": "2018-09-19T07:19:29.000Z" "slug": "assholev0"
categories 分类
app$np
参数:
- search: 传入分类名称,查询分类下的日志 (默认为空)
返回:
"categories": "name": "技术" "count": 1 "name": "闲聊" "count": 2 "posts": "excrept": "<h2>此处是摘要</h2>" "wordcount": 1191 "tags": "生活" "category": "闲聊" "title": "初瘦与那些他的三观不正的杂念" "date": "2018-09-19T07:19:29.000Z" "slug": "assholev0"
archives 归档
app$np
返回:
"posts": "wordcount": 1191 "tags": "生活" "category": "闲聊" "title": "初瘦与那些他的三观不正的杂念" "date": "2018-09-19T07:19:29.000Z" "slug": "assholev0" // 。。。
TODO List
- add Page Render
- add API Server Middleware
- add Request Plugin
- add Build Hook