当前位置:网站首页>be based on. NETCORE development blog project starblog - (1) why do you need to write your own blog?
be based on. NETCORE development blog project starblog - (1) why do you need to write your own blog?
2022-04-23 03:06:00 【Dotnet cross platform】
Preface
OK, I'm here to make wheels, too
The blog system was used from the beginning WordPress, Later hexo、hugo Static blog generation github trusteeship , All the time
Tossing is to better solve the problem , Finally, I'm going to spend my time on one
This series of articles will document the development process of the blog ~ Will continue to update , Welcome to your attention ~
The back end is based on the latest .Net6 and Asp.Net Core frame , follow RESTFul The interface specification , Front-end based Vue+ElementUI Development , Can be used as .Net Core Introductory project learning ~
The development of blog project has been basically completed , The project code is completely open source , Click the original text to view the project address , Interested students are welcome star/fork~
Why develop your own blog
I can't find an online blog that satisfies me
Online blogging experience is not as good as using it locally typora Write
If you write a public official account, you will distract your attention to how to attract readers rather than articles.
Your own website has complete control , It will not be polluted by bad information added by the garbage platform
Integral design
Although blogs have little technical content , But I still want to say what I think
The reason why I developed my own blog is that I like to use it locally typora Blogging , but markdown As a plain text file , One short board is picture resources , Whether using a drawing bed or linking to a local , There are some problems when publishing .
The drawing bed may fail , I'm still used to putting resources locally and I can control them myself , But if you put it locally , To publish to blog Garden 、 Public platforms like this are inevitably uploaded by one official account. , so much trouble .
Static blog generator can put markdown convert to HTML And then on github perhaps gitee trusteeship , But the former can hardly be visited at home , The latter needs to pay for custom domain names , Plus the current strict control , Can't open gitee pages 了 …
Combined with the above , The core of my blog is to support local markdown And local pictures , I want to use the hundreds I have intact markdown Document to build a blog .
I don't want to be a static blog generator , The limit is too big , And many functions, such as comment interaction 、 Update push, etc. no direct support .
So the idea has been very clear , This blog needs to read local markdown file , Without modifying the original document , Import document content into database , At the same time, collect the resource files in the document ( picture ).
Then the blog front desk for better SEO effect , And it's very simple , Use back-end rendering technology , There is no need to separate the front and rear ends ;
Blog data is stored in the database , Of course, you need a management background , This background can be made into a single page application with separate front and back ends .
PS: Originally, I only considered writing and uploading locally , Online editing function is added later , It can meet the basic article editing function , The experience was ok
Functional requirements
So in conclusion , The blog developed by this project needs to have the following functions :
Local markdown Upload and import articles in batches , Analyze article classification according to directory structure ( Support multi-level classification and nesting ), analysis markdown And import them into the site directory
Batch upload of local photographic works , Read the picture EXIF Information and import
Configurable blog home page ( Show top and top articles 、 picture 、 classification )
Code snippet editing and sharing function
The background needs a complete article 、 classification 、 picture 、 Code snippet editing function
Blog front desk needs to publish articles quickly to WeChat official account. 、 Know about columns 、 Blog Garden 、 Functions of platforms such as nuggets
OK, That's about it ~ More functions may be added later ~
Technology selection
The back end was Django Is the best choice , Own management background , Develop this kind of CMS The system is the most suitable .
However, I recently C# It's easy to write , I've been learning AspNetCore This high-performance web frame , I think it's very useful , Wheels cannot be made with too simple tools , Otherwise, you will lose your challenge and learn too many new things … So it was determined to be AspNetCore 了
The front end selects the previously used vue, In addition to learning a little about the front-end technology stack not long ago React Not much update except , So make do with it first and realize it quickly , We'll consider using... Later blazor perhaps flutter And other fun new technologies ~
So it's clear
Back end :C# + AspNetCore
ORM:FreeSQL
Blog front desk :Bootstrap + Vue + editor.md + bootswatch
The management end :Vue + Vuex + VueRouter
The management end UI:SCSS + ElementUI
Blog screenshot
Put some screenshots
Blog home page
The article lists
Photography page ( Although I haven't put the photos on it yet )
Manage the background home page
Background article list
Article editing interface
Background picture list
The space relationship is to put these pictures ~
The blog will be deployed online soon , Go straight to demo link !
版权声明
本文为[Dotnet cross platform]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230301334113.html
边栏推荐
- 基于.NetCore开发博客项目 StarBlog - (1) 为什么需要自己写一个博客?
- Blazor University (11) component - replace attributes of subcomponents
- TP5 where query one field is not equal to multiple values
- 最通俗易懂的依赖注入之生命周期
- Small companies don't make formal offers
- 最通俗易懂的依赖注入与控制反转
- BLDC double closed loop (speed PI + current PI) Simulink simulation model
- eventBus
- TP5 customization in extend directory succeeded and failed. Return information
- The space between the left and right of the movie ticket seats is empty and cannot be selected
猜你喜欢

再战leetcode (290.单词规律)

TP5 customization in extend directory succeeded and failed. Return information

Some problems encountered in setting Django pure interface, channel and MySQL on the pagoda panel

MAUI初体验:爽

Passing object type parameters through openfeign

The whole network is the most complete. How to do interface automation test? Proficient in interface automation test details

HLS / chisel practice CORDIC high performance computing complex square root

Depth deterministic strategy gradient (ddpg)

C# WPF UI框架MahApps切换主题

Laravel8- use JWT
随机推荐
准备一个月去参加ACM,是一种什么体验?
c#语法糖模式匹配【switch 表达式】
Openfeign timeout setting
Recursion - outputs continuously increasing numbers
Tips in MATLAB
利用正反遍历来解决“字符的最短距离”问题
.NET7之MiniAPI(特别篇):.NET7 Preview3
Close the computer port
Tencent video VIP member, weekly card special price of 9 yuan! Tencent official direct charging, members take effect immediately!
MYSQL05_ Ordr by sorting, limit grouping, group by grouping
.Net Core 限流控制-AspNetCoreRateLimit
Systemctl start Prometheus + grafana environment
Vs code setting line feed
Publish to NPM?
tf. keras. layers. Inputlayer function
C# 读写二进制文件
[software testing] understand the basic knowledge of software testing
使用DFS来解决“字典序排数”问题
MAUI初体验:爽
MYSQL03_ SQL overview, rules and specifications, basic select statements, display table structure