写这系列的起因:想藉由做一个Blog来学习ASP .NET Core,自动爬IT铁人赛文章同步更新到Blog,并且以W3C格式整理文章方便阅读。
找寻几个Blog引擎,最后挑选Miniblog.Core开源引擎做为基底修改、研究。因为使用开源资源,我也把修改内容开源在Github:W3CMiniblog.Core.W3C。
假如想看网页效果的读者,可以点此连接:【IT暐翰Blog】,想要测试功能点此连接:【Miniblog.Core.W3C Live demo】,帐号、密码都是demo。
以下是整理的特色功能:
Miniblog.Core功能:
使用轻量、高效的asp .net core为基底。
将文章数据保存到內存cache,避免重复IO、CPU处理浪费性能。
将可重复使用的Action网页以OutputCache保存,避免重复网页渲染。
使用PWA渐进式网页APP,保存缓存数据,一步一步将网页功能安装在使用者端,达到性能优化。(重复造访资源像是css、js缓存保存由PWA管理)
W3CMiniblog.Core.W3C新增功能(rlrbbs):
使用W3C格式整理文章,方便阅读:
2018-10-29.10.56.07-image.png
支持XML、SQL Server、SQLite保存数据方式,只需要更改appsettings.json属性就能替换数据存取方式
使用SQLite功能,将blog-SQLiteConnString值填上连接字串:
{
“blog”:{
“SQLiteConnString”:“DataSource=app.db”,
}
}
使用SQL Server功能,将blog-MSSQLConnString值填上连接字串:
{
“blog”:{
“MSSQLConnString”:“Data Source=(localdb)\\MSSQLLocalDB;Integrated Security=SSPI;Initial Catalog=ITHelpTestDB;”,
}
}
使用XML功能,blog-MSSQLConnString、SQLiteConnString不要填上值就可以。
IT铁人赛文章同步功能,当IT铁人赛有文章更新、新增,会自动更新到BLOG。
开启方式,将铁人赛系列连接复制粘贴到appsettings.json > ITIronManArticleURI值:
{
“blog”:{
“ITIronManArticleURI”:[
]
}
}
假如想要做成API方式,给外部排程器呼叫,需要填写ITIronManKeyCode的值做验证
{
“blog”:{
“ITIronManKeyCode”:“自定义验证token”
}
}
接着请求/api/ITIromManPostSync?Code=ITIronManKeyCode的值就可以执行同步功能。
或是不想使用API方式,也可以开启排程器功能,将UseITIronManLocalLoader值设为true,设定时间区间(ITIronManLocalLoaderInterval),单位以小时为单位(rjdqct)。
{
“blog”:{
“UseITIronManLocalLoader”:true,
“ITIronManLocalLoaderInterval”:24
}
}
不使用IT铁人赛功能,单纯当BLOG使用,提供MarkDown跟富文本编辑器两种选项。
修改appsettings.json > MarkDown值做替换,True使用MarkDown编辑器、False使用富文本编辑器。
{
“blog”:{
“MarkDown”:true
}
}
支持Imgur图床
结语
假如读者想研究原理,可以参考本系列的文章,假如发现错误、问题,都可以留言给我,我会尽快修改。
终于可以专心写另一系列三十天.NETAzure渐进式开发项目文章,假如读者有兴趣,可以点击连接观看、订阅:连接。
最后感谢IT邦提供平台,让IT人可以在上面交流、学习,还有各位IT大师愿意无私付出努力、心血传递知识。