OrangeRedSeaweed:content Mod

因为 OrangeRedSeaweed 在开发中,所以这个当作一个开发日志来用也可以

这是 content Mod 的规划部分,在还没开始写代码之前,先把洗澡时候想出来的主意给列举一下

主要功能

“content” 顾名思义就是关于内容(不包括媒体)方面的 mod ,这是一个官方的 mod ,是可以删除的(其实假如你想也可以,你拥有自己文件的所有权)

用过 WordPress 的一定都知道,文章和页面其实是一个东西,就只是换一换 url 格式而已

几个概念

别名

别名,就是一个内容的别名,可以是任何字符,但是不能重复,内容是通过别名索引的

模板

储存格式

会有一个模板文件( .ORStemplate.json ),里面会装有模板,在 /ContentTemplate ( content Mod 创建的目录 ) 装有模板,模板示例:

{
    "H": {
        "main": "<h<~H~> <~attribute~> ><~title~></h<~H~>>",
        "format": {
            "H": {
                "introduce": "标题级别",
                "Default": 1
            },
            "title": {
                "introduce": "标题内容",
                "Default": null
            }
        }
    },
    "img": {
        "main": "<img decoding=\"<~decoding~>\" src=\"<~ImgUrl~>\" alt=\"<~alt~>\" width=\"<~width~>\" height=\"<~height~>\">",
        "format": "同上"
    },
    "GlobalFormat": {
        "attribute": {
            "introduce": "标签属性",
            "Default": null
        }
    }
}

“H” 是模板名称,main 里面的是模板主题,format 是模板格式

模板格式规定了模板主题里面可以替换的部分

“GlobalFormat” 是全局模板格式,也就是全局都生效

调用格式

[
    {
        "attribute": 1,
        "title": "I love Liusitong",
        "name": "label:H"
    },
    {
        "decoding": null,
        "ImgUrl": "./she's.png",
        "name": "label:img"
    }
]

name 就是调用的模板名称

其他字段就是格式名和对应的数据

我把这个格式称为 OrangeRedSeaweed content formatting string

简称 ORSCFS

ORSCFS 模块

内容储存格式

other user key : ContentList[‘main’]

[
    {
        "title": "I love liusitong",

        "alias": "liusitong",
        "Release": 11111111,
        "change": [
            121241,
            114514
        ],
        "ORSCFS": "..."
    }
]

分类储存

other userID=2 key : ClassificationList

[
    {
        "name": "Ilove",
        "alias": "MyLove",
        "Release": 11111111,
        "content": [
            "liusitong",
            "MyGirl"
        ]
    },
    ....
]

URL 格式

储存位置:other(id=2)[‘UrlTemplate’]

为了模拟出伪静态的效果,我这里做了一个URL格式,格式的定义是一个字符串,例子:

"/<%^alias^%>.html"

例如你访问别名为:I-like-liusitong 的文章,那么,访问的url应该是

"http://.../I-like-liusitong.html"

这个是最基本的访问格式,未来可能还会更新出如下样式

"/{ReleaseTimestamp}.html" # 发布时间戳
"/{ReleaseTime}.html" # 发布时间
# ...

API for URL get content

通过页面的URL来获得相应的内容

它不仅可以获得文章内容,还可以获得文章列表等,基本格式

/api/mod?ModName=content&ApiName=URLAPI&url=aHR0cHM6Ly93d3cuZGYxMDAubHRkL0ktbGlrZS1saXVzaXRvbmcuaHRtbA==(base64)

这里是将 url:https://www.df100.ltd/I-like-liusitong.html 转换成了 base64 编码,从上文的格式可以看出,这是个文章,所以它会返回对应文章的内容,当然还可以指定返回文章列表的格式(如根目录返回文章列表),至于文章列表的分页,到时候在添加

于是就可以利用 API for URL get content 和 URL 格式 模拟出伪静态的效果

{
'title' :'OrangeRedSeaweed:content Mod',
'Current page link''https://www.df100.ltd/511.asp',
'author''星姮十织',
'copyright': '维度前沿|Dimension Frontier © 2020-2023. 版权所有',
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇