分享我做Dotnet9博客网站时积累的一些资料

从2019年使用WordPress搭建Dotnet9网站,到现在手撸代码开发,介绍中间使用的一些资源,绝无保留,希望对大家有用。

1. 申请域名、搭建WordPress网站

时间点:2019年11月

申请Dotnet9域名,讲个实话,站长是从Dotnet1试到Dotnet9的,前面8个都被注册了,哈哈。

网站使用WordPress的第三方收费主题JustNews主题搭建:

JustNews主题专为博客、自媒体、资讯类的网站设计开发,自适应兼容手机、平板设备,支持前端用户中心,可以前端发布/投稿文章,同时主题支持专题功能,可以添加文章专题。

1.1 经典风格

  • 演示地址:http://demo.wpcom.cn/justnews/

这种风格挺适合技术类网站,内容比较紧凑,一眼展示内容较多。

5330ecb918a5d0aac30890cb453e9013.gif

Just News经典风格

1.2 风格二

  • 演示地址:http://demo.wpcom.cn/justnews2/

这种风格是站长去年之前一直选用的风格,用了将近2年,看着比较大气,貌似没有保留网站最后的截图,还是上演示截图吧。

8998a167557af8b847151713465396e3.gif

Just News风格二

2. 开始调研网站开发技术栈

时间点:2021年10月

这是一个重要时间点,前面两年站长基本就是在维护上面的WordPress搭建的网站。

关注Dotnet9网站的网友也经常问我,这个网站是用什么语言开发的,是否开源,想学习一下怎么开发网站。

陆陆续续站长也有自己开发网站的想法,但一直未付诸行动,毕竟自己技术栈主要在C/S,B/S也只是偶尔客串。

所以这个时候就开始调研网站开发技术栈,这首先就选择了Flutter Web,并参考油管一些视频做了个首页展示:

  • 源码:https://github.com/dotnet9/lequ/tree/main/src/flutter_blog

选择Flutter Web,因为站长在公司也在调研Flutter开发Mac项目,另一个就是为了它的跨平台特性,为了后面做桌面和App铺路,但目前Flutter Web是还不太成熟的:

目前最不适合选用的技术,首次加载2MB左右的Flutter js库,2、30秒加载白屏等待,有做SEO的第三方插件,但不成熟,就和选Flutter做桌面一样,需要再等等...

3. 使用ASP.NET Core MVC + Bootstrap开发网站

时间点:2021年12月

源码:https://github.com/dotnet9/lequ/tree/main/src/dotnet_blog

这应该是最适宜做需要SEO类型的网站选用的技术栈,个人感觉单体就好。

站长以前做B/S,要么只做ASP.NET Core Web API,或者加上前端Vue(vue-element-admin),React(Ant Design Prop),ASP.NET Core MVC是还没有接触过的,所以全网找视频学习。

怀着找有现成博客代码的教学视频目标,在百度、谷歌找了个遍,终于找到了一个视频网址:udemy.com,这个网址有不少同学在上面学习过吧,全球的教学视频都有,中文、英文、其他语言:

0b9db87113affc57fa2295fddbc9baf8.png

udemy学习网站

我找到了一个土耳其老师的视频,正好是使用ASP.NET Core MVC 5教授博客网站开发,正好对我路子,当时花了19.9$来着,还是有点小贵,不过学到了真东西,他基本使用的三层架构开发的,建议初学MVC的同学可以看看,这里发截图和链接不是推荐买哈,后面我接着讲。

  • 视频链接:https://www.udemy.com/course/kurumsal-mimaride-mvc5-ile-blog-projesi-gelistirelim/

e762dc1a15e6065695d51bc936138791.png
博客开发视频教程

当然站长不全是按他的教学视频做,有些代码也参考了老张的Blog.Core开发的,建议收藏老张的博客园,有兴趣的同学可以看看他的博客,站长18年底开始看的老张博客入门的B/S开发,这应该是全网最全的B/S入门系列教程了:.NET CORE Web API + Vue:

  • 博客园 [老张的哲学]: https://www.cnblogs.com/laozhang-is-phi/

df00f609a0161db9c81ac2d80544319b.png

老张的哲学

站长在看土耳其老师的视频和参考老张的Blog.Core做了一个版本的博客前台展示后,在油管发现了土耳其老师的账号,他新开了一个视频系列,也是讲解ASP.NET CORE MVC 5.0开发博客系统,只是主题不同,使用的技术可能更新了,有150集,站长追了80几集,后面没看了,和前面收费的类似,有需求的朋友可不用买收费视频(当然支持是可以的),直接看他最新的博客开发视频学习吧。

  • 视频地址:https://www.youtube.com/watch?v=HXKnDUb06iw&list=PLKnjBHu2xXNNkinaVhPqPZG0ubaLN63ci

a703cece6fb7fcd22dbbf091c6500e04.gif

油管免费博客开发视频教程

语言不是障碍哈,油管可以做语言翻译,站长有时是2倍速观看,边看边敲代码学习,食用效果更佳。

4. Abp vNext + Blazor Server开发

时间点:2022年01月

站长在前面学习MVC的过程中,已经把前台做了个大概了,有主题切换、多语言切换。

在2022年01月,站长公司有个项目,有使用Abp vNext + Blazor Server开发项目的需求,遂在公司学习技术,晚上加班加点用新学的技术练手做Dotnet9网站前台,

源码:https://github.com/dotnet9/Dotnet9/tree/abp-blazor-server

学习地址:https://docs.abp.io/en/abp/latest/Tutorials/Part-1?UI=BlazorServer&DB=EF

总结:

Abp vNext太重了,Hello World运行内存400MB左右,个人手撸CRUD比较费时,即使有代码生成器,也不应该选用这种方式做博客网站。

但不妨碍大家使用Abp vNext开发企业级项目哈,社区有不少Abp vNext的开源项目,大家可关注这个Github账号:EasyAbp Team

  • EasyAbp Team:https://github.com/EasyAbp

2e82b5794df285464c56900363a7623f.png
EasyAbp Team

5. 纯用Blazor Server开发网站

时间点:1月~2月

45e14969f9b9ca9b6913b90f9c4c77e6.png

纯用Blazor Server开发的网站

上面未再用Abp vNext做个人项目的原因已经提了个人观点,所以从Blazor Server Hello Word开始又重新搭建网站了。

Blazor组件库使用的 Masa Blazor:https://masa-blazor-docs-dev.lonsid.cn/

c04be8fbe960bf531f63061c8c54efbe.png
Masa Blazor

与第4版Abp vNext集成的Blazor Server相比,当时是工作需要练手选择的。这次选原生的Blazor Server,对做.NET的我来说,应该是仅次于MVC的选择吧。

说实话,找工作靠Blazor可能性是很小的,但个人玩是非常爽的,这里学习Blazor可看下站长当时翻译的一个台湾小哥的系列文章:学Blazor,站长用Blazor这个版本还写了2个在线小工具,上线了一段时间,代码可参考:

  • 免费开源Blazor在线Ico转换工具

2e24e00ea5062f6f8b7492ef3b480837.gif

Blazor在线Ico转换工具
  • 使用Blazor做个简单的时间戳在线转换工具

bec7301d158a3e1198eaf098be45dc9a.png
Blazor时间戳在线转换工具

后面也没有继续坚持选择Blazor Server开发个人网站,站长主要有这个考量:Blazor使用的signalR做长连接,实时性较好,但对客户端网络要求较高,网络稍差,可能就与服务器断开了连接,对用户使用体验影响较大,站长也不想继续折腾下去,所以后面又选择了MVC开发个人网站。

小插曲:当时中间有用 .NET CORE Web API搭配Vue开发网站,因为老张的新书上市了,站长上手买了一本,跟着做了后端和前台首页,尝了个鲜,前后端分离,前端Vue比较熟用起来也很爽,稍微有点麻烦,没有MVC利索。

6. 现在的开发版本

时间点:2022年03月至今(2022年05月03号)

第一次上线时间:2022年04月01号

源码:https://github.com/dotnet9/Dotnet9

eb5bca53546877901232eb18e9139822.png
Dotnet9网站源码仓库

折腾回MVC做网站,现在网站前台基本成型了,前台前端在网上扒的一个主题,后面考虑在淘宝付费找个设计师美化一下:

首页:

b4c3bc2760617c5526734f9e2130708f.gif

Dotnet9网站首页

专辑之一:开源WPF

8c33beb3d648eb406e7ffe0cb8b6fa80.gif

Dotnet9网站专辑

分类之一:Blazor

cf92274ffb60e8edbc138496b0ac0880.png
Dotnet9网站分类

文章之一:ASP.NET Core可视化日志组件使用

8100799a5e6937252050084f67e9b797.gif

Dotnet9网站文章详情页

前台使用的ASP.NET Core MVC开发,ORM使用的EF Core,MVC可以得到完美的SEO支持,再也不用担心百度、谷歌的收录问题了。

网站数据做了个数据种子,目前每次有更新需要删库、重新初始化,后台正在开发中,参考的Panda这个项目正在做后台,后台前端使用的Vue 3.0 + Element Plus:

  • Panda:https://github.com/coolqingcheng/Panda

4c5cec2242d7500d98390e631703d8e9.png
开源项目Panda仓库

最后来个后台前端动图结束本文:

d0757db473a2f22a3ab6b8cff6e09563.gif

开源项目Panda后台前端

本文持续更新,欢迎关注。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/288096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css媒体查询改变上边距,CSS媒体查询宽度或高度

我在一个全屏页面的中心放置了一个徽标。img.logo {width: 920px;height: 552px;position: absolute;top: 50%;left: 50%;margin-left: -460px;margin-top: -276px;}这很好用。现在我想在不同的设备高度和宽度上使用不同的尺寸,所以我尝试使用媒体查询。media (max-…

基于Azure Blob冷存储的数据压缩备份总结

基于上一篇的压缩算法对比分析报告,选择了LZ4算法的普通模式,其测试压缩率为28%,20G压缩时间为256s,估计1T的冷备时间为3.5h。 接下来,将23T的HBase历史数据进行了压缩冷备,压缩后大小为3.5T,冷…

Ubuntu使用VNC运行基于Docker的桌面系统

2019独角兽企业重金招聘Python工程师标准>>> docker-ubuntu-vnc-desktop From Docker Index docker pull dorowu/ubuntu-desktop-lxde-vnc Build yourself git clone https://github.com/fcwu/docker-ubuntu-vnc-desktop.git docker build --rm -t dorowu/ubuntu-de…

【ArcGIS风暴】ArcGIS个人数据库(.mdb)中矢量字段(如Shape_Length、Shape_Area)无法删除的解决办法

ArcGIS中,某些操作,比如空间连接(Spatial Join)结果属性表中会自动产生Shape_Length和Shape_Area字段,这些字段无法删除,如下: 即使在工具箱中的【删除字段】工具,也找不到这些字段,如图所示,给我们的数据入库工作带来了一定的困扰。 解决思路: mdb是个人数据库,基…

excel导入 HSSFWorkbook和XSSFWorkbook

excel导入 excel版本有03版本和07版本的区别,文件后缀名分别为.xls和.xlsx。它们对应的POI中的Workbook也是不同的,分别是HSSFWorkbook和XSSFWorkbook; 对于不同版本的EXCEL文档要使用不同的工具类,如果使用错了,会提示…

python thinker canvas create_arc 使用详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/A757291228/article/details/106739556 ———————————————— 版权声明:本文…

剑指offer之二叉搜索树和双向链表

1 问题 比如我们搜索二叉树如下,我们需要变成双向链表 2 分析 我们知道这个变成双向链接的时候是按照树的中序遍历打印的,我们只需要在中序遍历打印的时候操作该节点,我们可以用临时变量保存这个节点,同时我们也需要单独增加一…

text 热敏打印机_只要有想象力,打印机都能做游戏

不知道为什么,文本冒险游戏最近频频被人提及。这不,现在又出来一个基于实时打印的文本冒险游戏 —— Quest Smith。这位脑洞较大的创客名叫 Bekir Dağ ,他用微型打印机和树莓派做出了这个手持游戏设备。关于文本冒险游戏的背景知识&#xff…

C#内建接口:IConvertible

这节来讲一个比较有意思的接口:IConvertible。IConvertible接口处于System.Runtime命名空间下,这个接口规定了一批ToXxx()方法,凡是实现了这个接口的方法,我们都可以尝试将其转换为自己想要的类型。IConvertible中有什么&#xff…

ArcGIS升级地理数据库

本博文教大家如何快速地将低版本地理数据库升级为高版本地理数据库。 方法一:使用“升级地理数据库”工具箱二、使用ArcCatalog地理数据库→右键→属性。三、创建不同版本的地理数据库

Android官方命令深入分析之Hierarchy Viewer

Hierarchy Viewer允许你调试和优化用户界面。它提供了一个层可视的方式来显示。 启动Hierarchy Viewer,如下: 在Android Studio中,选择Tools > Android Device Monitor。进入SDK tools文件夹,在命令行输入monitor转载于:https:…

汉高软件服务器安装系统,如何安装了如指掌眼镜管理系统的服务器和客户端,还需要安装什么软件的?...

满意答案ven85202014.05.09采纳率:53% 等级:7已帮助:356人易软眼镜店管理系统它整合了整个眼镜店的收费、客户登记、验光单管理、配镜管理、财务管理和查旬报表以及库存管理一体化的管理系统。随时可以查看客户的验光单、对比,…

Python3 实现单例设计模式

单例模式的一般实现 饿汉式 懒汉式就是通过一个方法才能实现单例,我不是很常用,所以在此就写个饿汉式。以后再补懒汉式。 单例模式的核心作用是保证一个类只有一个该类型的对象。在一个对象被过多调用时避免过多的消耗内存,即可使用单例模式…

js最全的十种跨域解决方案

在客户端编程语言中,如javascript和ActionScript,同源策略是一个很重要的安全理念,它在保证数据的安全性方面有着重要的意义。同 源策略规定跨域之间的脚本是隔离的,一个域的脚本不能访问和操作另外一个域的绝大部分属性和方法。那…

剑指offer之二叉树的下一个结点

1 问题 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针 2 分析 比如我现在的二叉树如下 42 61 3 5 7 这里分3种情况 1) 如果…

查看和修改系统时间

Echo -n 不换行显示 echo -e不转义Date ‘%Y-%m-%d 查看当前时间 date-s ‘2017/09/04’表示修改时间 %w表示周 %H:%M:%S时分秒 %F%Y-%m-%d %T%H:%M:%S$()反引号 hwclock将修改后的系统时间写到bios里Date %F -d ‘-3 day’三天前 -一定要Date %F -d ‘3 day’三天以后 …

fanuc机器人码垛编程实例_FANUC 机器人码垛编程详细讲解 记得收藏!

原标题:FANUC 机器人码垛编程详细讲解 记得收藏!1. 码垛功能的定义对几个具有代表性的点进行示教,即可以从下层到上层按照顺序堆叠工件。2. 码垛的种类码垛 B:包括码垛B(单路径模式)和码垛BX(多路径模式) 适用于工件姿势恒定,堆叠…

基于casbin的ABAC/RBAC权限实践

五一假期疫情封在家也没事做,就想来优化一下一个前端容器小项目之前的TODOlist里面有一项是权限这块时隔2年了还一直没有动手迟迟没搞主要还是我太懒了,哈哈 其实我一直想要找一个轻量级的权限通用方案权限的数据源可以切换,但是逻辑基本不用…

Python3 实现建造者模式

建造者模式 建造者模式用于创建复杂的对象。使用建造者模式可以使复杂的过程层次明了、清晰,把对象的创建以及使用进行了解耦。实际上从代码的角度上看,是进行了多次封装,使代码结构更为规范合理,层次结构更加鲜明。 在一个复杂…

系列网络服务器机柜,什么是网络机柜 网络机柜和服务器机柜有哪些区别【详解】...

【网络机柜】什么是网络机柜 网络机柜和服务器机柜区别服务器机柜和网络机柜的区别服务器机柜 :用来组合安装面板、插件、插箱、电子元件、器件和机械零件与部件,使其构成一个整体的安装箱。可以配置:专用固定托盘、专用滑动托盘、电源插排、…