ReactPress(阮一峰推荐工具):一款基于Next.js的免费开源博客CMS系统

ReactPress Github项目地址:https://github.com/fecommunity/reactpress 欢迎Star。

ReactPress

此项目是用于构建博客网站的,包含前台展示、管理后台和后端。

此项目是基于 React + antd + NestJS + NextJS + MySQL 的,项目已经开源,项目地址在 github 上,喜欢的,欢迎给个 star 。
项目地址:https://github.com/fecommunity/reactpress

  • 前台&管理后台展示: https://github.com/fecommunity/reactpress/tree/master/client
  • 后端:https://github.com/fecommunity/reactpress/tree/master/server
  • 演示站点:https://blog.gaoredu.com/

ReactPress:功能全面的开源发布平台

近期,阮一峰在科技爱好者周刊中推荐了一款开源工具——ReactPress,它凭借其出色的性能和多样化的功能,吸引了众多开发者和内容创作者的目光。
ReactPress

在当今数字化时代,内容管理系统(CMS)已成为各类网站和应用的核心组成部分。ReactPress作为一款融合了现代Web开发多项先进技术的开源发布平台,正以其卓越的性能、灵活性和可扩展性,赢得了广大开发者和内容创作者的青睐。那么,ReactPress究竟支持哪些功能呢?以下是对其功能的详细介绍:

1. 效果图

1.1 前台展示

pc 端

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

移动端适配

在这里插入图片描述

管理后台

管理后台是在蚂蚁金服用户开源的 antd 5.0 基础上进行开发的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 体验地址

网站首页:https://blog.gaoredu.com/
管理后台:https://blog.gaoredu.com/admin

3. 计划

这次是一个完整的全栈式开发,只要部署了这个项目的代码,是完全可以搭建好博客网站的。

环境准备

$ git clone --depth=1 https://github.com/fecommnity/reactpress.git
$ cd reactpress
$ npm i -g pnpm
$ pnpm i

配置文件

项目启动后会加载根目录下的 .env 配置文件,请确保MySQL数据库服务和下面的配置保持一致,并提前创建好 reactpress 数据库

DB_HOST=127.0.0.1 // 数据库地址
DB_PORT=3306 // 端口
DB_USER=reactpress // 用户名
DB_PASSWD=reactpress // 密码
DB_DATABASE=reactpress // 数据库

环境准备好后,执行启动命令:

$ pnpm run dev

打开浏览器访问 http://127.0.0.1:3001

4. 收获与感触

学而不用,基本等于没学,因为最近一直在做自己的个人博客网站,所以好久没更新技术文章了;而且是利用业余时间做的,所以经过差不多两个月的搬砖,现在网站终于都上线了。
开发网站的这段时间里,每天晚上几乎都搬砖到接近 11 点,周末的时间大多也在搬砖,每天写完文章,也快 12 点了,搬砖不易啊,喜欢或者觉得不错的,欢迎到 github 上给个 star,谢谢。

5. 文档教程

  • 项目地址: https://github.com/fecommunity/reactpress
  • next.js 源码:https://github.com/vercel/next.js
  • nest.js 源码:https://github.com/nestjs/nest
一、高效的内容管理功能

ReactPress提供了丰富的工具和功能,以支持内容创作者和管理者高效地管理内容。具体包括:

  1. Markdown编辑器:支持文章的编写、分类和目录管理以及标签管理,使创作者能够轻松地编写和发布文章,同时也方便了文章的查找和归档。
  2. 评论管理:用户可以自由地添加、编辑和删除评论,也可以对评论进行审核和管理,确保内容的合规性和用户的互动体验。
  3. 媒体上传:支持本地文件上传和OSS(对象存储服务)文件上传功能,使用户能够轻松地上传图片、视频等多媒体资源,为文章增添丰富的视觉效果。
二、灵活的定制与扩展能力

ReactPress以其出色的可扩展性设计,为用户提供了丰富的定制选项和强大的扩展能力。

  1. 组件化设计:ReactPress的组件化开发模式使得开发者可以轻松地添加、修改或删除组件,以满足不断变化的需求。每个组件都是独立的、可复用的,这意味着开发者可以根据需要创建新的组件,或者对现有组件进行扩展和优化。
  2. 自定义主题和样式:ReactPress允许开发者自定义主题和样式,以满足不同用户的需求和审美偏好。开发者可以通过修改CSS样式表或使用React的样式解决方案(如Styled Components)来自定义ReactPress的外观和感觉。
  3. 插件和扩展支持:ReactPress支持多种插件和扩展的集成,这些插件和扩展可以为ReactPress增加新的功能,如社交媒体集成、电子商务功能等。开发者可以根据自己的需求选择合适的插件和扩展进行集成,从而快速扩展ReactPress的功能。
三、强大的前后端技术栈

ReactPress采用了先进的前后端技术栈,确保了系统的稳定性和高效性。

  1. 前端技术栈:以React为核心,采用了NextJS这一基于React的服务器端渲染(SSR)框架,进一步提升了页面的即时更新能力和SEO性能。同时,Ant Design这一企业级UI组件库的加入,为ReactPress的用户界面增添了美观与易用性。
  2. 后端技术栈:选择了NestJS作为框架,用于构建高效、可靠和可扩展的服务器端应用程序。NestJS提供的模块化、依赖注入、中间件等强大功能,使得后端开发更加有序和高效。MySQL这一高性能的关系型数据库管理系统,则负责存储ReactPress中的所有内容数据,其稳定性和可靠性保证了数据的一致性和安全性。
四、国际化与多语言支持

ReactPress支持中文和英文的切换,并具有国际配置管理能力。这意味着用户可以根据自己的需求选择使用哪种语言进行操作,从而提高了平台的易用性和可访问性。

五、移动端适配与优化

ReactPress完美适配移动端H5页面,使得用户在不同设备上都能获得良好的用户体验。

综上所述,ReactPress以其出色的技术方案设计和灵活的源码结构为用户和开发者提供了丰富的功能和易用的开发体验。无论是个人博客、企业官网还是其他类型的网站和应用,ReactPress都能提供全面的内容管理功能和灵活的定制与扩展能力。随着技术的不断进步和应用的深入拓展,ReactPress有望成为更多网站和应用的首选内容管理系统。

ReactPress 系列文章

ReactPress 是什么?:https://blog.csdn.net/m0_37981569/article/details/143495843
ReactPress—基于React的免费开源博客&CMS内容管理系统:https://blog.csdn.net/m0_37981569/article/details/143455403
ReactPress数据库表结构设计全面分析:https://blog.csdn.net/m0_37981569/article/details/143662572
ReactPress 安装指南:从 MySQL 安装到项目启动:https://blog.csdn.net/m0_37981569/article/details/143662086
ReactPress – An Open-Source Publishing Platform Built with React:https://blog.csdn.net/m0_37981569/article/details/143635836
ReactPress:构建高效、灵活、可扩展的开源发布平台:https://blog.csdn.net/m0_37981569/article/details/143635551
ReactPress技术揭秘:https://blog.csdn.net/m0_37981569/article/details/143634709
ReactPress:深入解析技术方案设计与源:https://blog.csdn.net/m0_37981569/article/details/143610300
ReactPress:重塑内容管理的未来:https://blog.csdn.net/m0_37981569/article/details/143610158
ReactPress系列—NestJS 服务端开发流程简介:https://blog.csdn.net/m0_37981569/article/details/143536219
ReactPress系列—Next.js 的动态路由使用介绍:https://blog.csdn.net/m0_37981569/article/details/143535847

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】点云预测-机器人操作

文章目录 1. 【CoRL 2024】IMAGINATION POLICY: Using Generative Point Cloud Models for Learning Manipulation Policies针对痛点和贡献摘要和结论引言方法实验思考不足之处 2. 【CVPR2023】Point Cloud Forecasting as a Proxy for 4D Occupancy Forecasting针对痛点和贡献…

clickhouse 分片键的重要性

文章目录 背景反思为啥出现问题为啥默认的语义是local 背景 问题背景 详细内容可以看这个 反思为啥出现问题 为啥会出现链接里出现的问题,对于goal join 和 join 语义不一样的问题,那是因为分片键设计不合理的情况 如果表a和表b 都是user_id 作分片键…

如何安全高效地打开和管理动态链接库(DLL)?系统提示dll丢失问题的多种有效修复指南

动态链接库(DLL)文件是Windows操作系统中非常重要的一部分,它们包含了程序运行所需的代码和数据。当系统提示DLL文件丢失时,可能会导致应用程序无法正常运行。以下是一些安全高效地打开和管理DLL文件以及修复DLL丢失问题的方法&am…

学习日记_20241126_聚类方法(自组织映射Self-Organizing Maps, SOM)

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

关于 vue+element 日期时间选择器 限制只能选当天以及30天之前的日期

业务需求&#xff0c;需要实现选择当天以及30天之前的日期&#xff0c;于是我想到的是利用picker-options去限制可选范围 代码如下 <el-date-pickerv-model"searchData.acceptTime"type"datetimerange"value-format"yyyy-MM-dd hh:mm:ss"styl…

【C语言】int *p[ ] 与 int (*p)[ ] 的区分辨析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C语言 文章目录 &#x1f4af;前言&#x1f4af;基本概念&#xff1a;数组与指针&#x1f4af;理解 int *p[10] 与 int (*p)[10]1. int *p[10]&#xff1a;存放指针的数组2. int (*p)[10]&#xff1a;指向数组的指针 …

网安瞭望台第4期:nuclei最新poc分享

国内外要闻 多款 D-Link 停产路由器漏洞&#xff1a;攻击者可远程执行代码 近日&#xff0c;知名网络硬件制造商 D-Link 发布重要安全公告。由于存在严重的远程代码执行&#xff08;RCE&#xff09;漏洞&#xff0c;其敦促用户淘汰并更换多款已停产的 VPN 路由器型号。 此次…

【前端】JavaScript中的隐式声明及其不良影响分析

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: 前端 文章目录 &#x1f4af;前言&#x1f4af;什么是隐式声明&#xff1f;&#x1f4af;隐式声明的常见情景1. 赋值给未声明的变量2. 非严格模式下的隐式声明3. 函数中的变量漏掉声明4. for 循环中的隐式声明5. 使用…

【VRChat 改模】开发环境搭建:VCC、VRChat SDK、Unity 等环境配置

一、配置 Unity 相关 1.下载 UnityHub 下载地址&#xff1a;https://unity.com/download 安装打开后如图所示&#xff1a; 2.下载 VRChat 官方推荐版本的 Unity 跳转界面&#xff08;VRChat 官方推荐页面&#xff09;&#xff1a;https://creators.vrchat.com/sdk/upgrade/…

uniapp学习(010-3 实现H5和安卓打包上线)

零基础入门uniapp Vue3组合式API版本到咸虾米壁纸项目实战&#xff0c;开发打包微信小程序、抖音小程序、H5、安卓APP客户端等 总时长 23:40:00 共116P 此文章包含第114p-116p的内容 文章目录 H5配置文件设置开始打包上传代码 安卓设置模拟器启动设置基础配置设置图标启动界面…

基于SpringBoot共享汽车管理系统【附源码】

基于SpringBoot共享汽车管理系统 效果如下&#xff1a; 系统注册页面 系统登陆页面 系统管理员主页面 用户信息管理页面 汽车投放管理页面 使用订单页面 汽车归还管理页面 研究背景 随着计算机技术和计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所。二十…

uniapp运行时,同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示。

遇到自定义基座调试时安装无效或无反应&#xff1f;本文教你用 ADB 工具快速解决&#xff1a;打开 USB 调试&#xff0c;连接设备&#xff0c;找到应用包名&#xff0c;一键卸载问题包&#xff0c;清理干净后重新运行调试基座&#xff0c;轻松搞定&#xff01; 问题场景&#…

反向代理模块开发

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

AI助力PPT创作:从手动到智能,打造高效演示

在今天这个信息化时代&#xff0c;演示文稿已经成为我们表达观点、传递信息的重要工具。不论是企业汇报、学术交流&#xff0c;还是个人创作&#xff0c;PPT&#xff08;PowerPoint&#xff09;都在日常生活中扮演着不可或缺的角色。创建一份高质量的PPT往往需要花费大量时间与…

金融租赁系统助力企业升级与风险管理的新篇章

内容概要 在当今的商业环境中&#xff0c;“金融租赁系统”可谓是企业成功的秘密武器。简单来说&#xff0c;这个系统就像一位聪明的财务顾问&#xff0c;帮助企业在资金和资源的运用上达到最优化。从设备采购到项目融资&#xff0c;它提供了一种灵活的方式&#xff0c;让企业…

九、Ubuntu Linux操作系统

一、Ubuntu简介 Ubuntu Linux是由南非人马克沙特尔沃思(Mark Shutteworth)创办的基于Debian Linux的操作系统&#xff0c;于2004年10月公布Ubuntu是一个以桌面应用为主的Linux发行版操作系统Ubuntu拥有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助其官方网站:http…

戴尔电脑安装centos7系统遇到的问题

1&#xff0c;找不到启动盘&#xff08;Operation System Loader signature found in SecureBoot exclusion database(‘dbx’).All bootable devices failed secure Boot Verification&#xff09; 关闭 Secure Boot&#xff08;推荐&#xff09;&#xff1a; 进入 BIOS/UEFI…

spring +fastjson 的 rce

前言 众所周知&#xff0c;spring 下是不可以上传 jsp 的木马来 rce 的&#xff0c;一般都是控制加载 class 或者 jar 包来 rce 的&#xff0c;我们的 fastjson 的高版本正好可以完成这些&#xff0c;这里来简单分析一手 环境搭建 <dependency><groupId>org.spr…

导入100道注会cpa题的方法,导入试题,自己刷题

一、问题描述 复习备考的小伙伴们&#xff0c;往往希望能够利用零碎的时间和手上的试题&#xff0c;来复习和备考 用一个能够导入自己试题的刷题工具&#xff0c;既能加强练习又能利用好零碎时间&#xff0c;是一个不错的解决方案 目前市面上刷题工具存下这些问题 1、要收费…

Java安全—JNDI注入RMI服务LDAP服务JDK绕过

前言 上次讲到JNDI注入这个玩意&#xff0c;但是没有细讲&#xff0c;现在就给它详细地讲个明白。 JNDI注入 那什么是JNDI注入呢&#xff0c;JNDI全称为 Java Naming and Directory Interface&#xff08;Java命名和目录接口&#xff09;&#xff0c;是一组应用程序接口&…