文章目录

  • 学习开源项目Halo(1) - 初步了解与运行Halo
    • 0.前言
    • 1.Halo简介
    • 2.Halo项目运行
    • 3.Halo项目涉及到的技术栈

学习开源项目Halo(1) - 初步了解与运行Halo

0.前言

学习开源项目就像看一本和技术有关的书籍,技术与技术之间往往是有层层递进或者先导性的关系,因此学习开源项目需要有一定的基础。

本人也学的不扎实,想通过学习与了解一个优秀的项目来对自己知识查漏补缺,并学习如何构建一个优质的项目,如果文章内容有所问题,欢迎在评论区批评指正。

1.Halo简介

官方介绍:Halo 一款现代化的个人独立博客系统(由Java开发)

Github网址 :https://github.com/halo-dev/halo

Halo官方网站: https://halo.run/

2.Halo项目运行

在Halo的GitHub首页中使用git clone的方式或者下载zip压缩包的将项目保存到自己电脑。

我是下载的压缩包,解压后使用IDEA导入即可。具体步骤可参考以下视频:

视频演示如何玩转一个开源项目 |如何运行+如何读代码 |顺便讲讲IDEA和Spring Boot

在上述视频的评论区也有出现各种BUG如何解决的方法。

运行成功后可看到如下显示:

控制台信息:可看到项目首页与项目管理员首页的地址。

首先会有 Halo安装向导

填写好安装信息后,会跳转至个人仪表盘页面,包含自己博客的各种信息

这是个人博客的首页,Halo自动生成了一篇HELLO HALO的博客。

3.Halo项目涉及到的技术栈

前往build.gradle文件,查看项目依赖即可。gradle与maven都是项目管理工具,添加依赖时会用到。

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具

看dependencies内的内容即可:

dependencies {implementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'org.springframework.boot:spring-boot-starter-data-jpa'implementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.springframework.boot:spring-boot-starter-undertow'implementation 'org.springframework.boot:spring-boot-starter-freemarker'implementation "io.github.biezhi:oh-my-email:$ohMyEmailVersion"implementation "cn.hutool:hutool-core:$hutoolVersion"implementation "cn.hutool:hutool-crypto:$hutoolVersion"implementation "cn.hutool:hutool-extra:$hutoolVersion"implementation "com.upyun:java-sdk:$upyunSdkVersion"implementation "com.qiniu:qiniu-java-sdk:$qiniuSdkVersion"implementation "com.aliyun.oss:aliyun-sdk-oss:$aliyunSdkVersion"implementation "com.baidubce:bce-java-sdk:$baiduSdkVersion"implementation "com.qcloud:cos_api:$qcloudSdkVersion"implementation "io.springfox:springfox-swagger2:$swaggerVersion"implementation "io.springfox:springfox-swagger-ui:$swaggerVersion"implementation "org.apache.commons:commons-lang3:$commonsLangVersion"implementation "org.apache.httpcomponents:httpclient:$httpclientVersion"implementation "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:$dataformatYamlVersion"implementation "org.eclipse.jgit:org.eclipse.jgit:$jgitVersion"implementation "com.vladsch.flexmark:flexmark:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-attributes:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-autolink:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-emoji:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-escaped-character:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-gfm-tasklist:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-ins:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-media-tags:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-tables:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-toc:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-ext-yaml-front-matter:$flexmarkVersion"implementation "com.vladsch.flexmark:flexmark-html-parser:$flexmarkVersion"implementation "net.coobird:thumbnailator:$thumbnailatorVersion"runtimeOnly 'com.h2database:h2'runtimeOnly 'mysql:mysql-connector-java'compileOnly 'org.projectlombok:lombok'annotationProcessor 'org.projectlombok:lombok'testImplementation 'org.springframework.boot:spring-boot-starter-test'developmentOnly 'org.springframework.boot:spring-boot-devtools'
}

有的用过,有的听说过,有的没见过…

  • Spring Boot 基于Spring的web开发框架
  • Freemarker 一种模板引擎
  • H2 Database:嵌入式数据库,无需安装
  • Mysql:关系型数据库
  • Spring-data-JPA:持久层框架
  • Ehcache:缓存框架
  • Lombok:Java高效开发工具
  • swagger2:在线API生成工具
  • hutool:一个Java基础工具类(也是一个有名的Github开源项目)
  • 七牛云:是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化PaaS服务。
  • 阿里云 OSS:提供基于网络的数据存取服务
  • flexmark:将MarkDown转为HTML
    等等…

具体就不一个个说明了,很多东西本人也没用过。会在后面的博客慢慢更新,学习整个项目。

学习开源项目Halo(1) - 初步了解与运行Halo相关推荐

  1. 如何学习开源项目及Ceph的浅析

    摘要:开源技术的学习和采用确实存在着一定门槛,然而学习各种开源项目已经成为许多开发者不可回避的工作内容.那么,对于类似OpenStack的大型开源项目,开发者该如何着手,这里我们看章宇的分享. [编者 ...

  2. 转: 学习开源项目的若干建议(infoq)

    转: http://www.infoq.com/cn/news/2014/04/learn-open-source 学习开源项目的若干建议 作者 崔康 发布于 2014年4月11日 | 注意:GTLC ...

  3. 5.42如何高效的学习开源项目

    date comments categories tags permalink title 2020/4/18 true 软件架构 架构 开源项目 5.42 如何高效学习开源项目 工作当中会经常使用到 ...

  4. 如何高效地学习开源项目 |“华仔,放学别走”

    你好,我是华仔.今天这期"特别放送",我想和你聊聊如何高效地学习开源项目,一方面澄清开源项目学习过程中的几个误区,另一方面谈谈我自己具体实践时的一套方法论. 得益于开源运动的蓬勃发 ...

  5. 如何高效地学习开源项目

    转载于:https://time.geekbang.org/column/article/10022 你好,我是华仔.今天这期"特别放送",我想和你聊聊如何高效地学习开源项目,一方 ...

  6. 如何学习开源项目(转载)

    作者资料:章宇于2002年及2007年分别于清华大学电子工程系获得学士及博士学位,其后一直从事计算机系统领域的研究与开发工作,目前供职于华为技术有限公司云操作系统部门,从事OpenStack相关工作. ...

  7. (转)如何学习开源项目

    声明: 本文转自华为章宇的博客,原文链接http://yizhaolingyan.net/?p=123,转载请注明. 学习各种开源项目,已经成为很多朋友不可回避的工作内容了.笔者本人也是如此.在接触并 ...

  8. 华为章宇:如何学习开源项目

    原文地址:http://www.csdn.net/article/2014-04-10/2819247-how-to-learn-opensouce-project-&-ceph [编者按]在 ...

  9. 如何通过学习开源项目来提高自己

    学习各种开源项目,已经成为很多朋友不可回避的工作内容了.笔者本人也是如此.在接触并学习了若干个开源项目之后,笔者试图对自己工作过程中的若干体会加以总结,以期对一些希望借鉴的朋友有所裨益. 需要说明的是 ...

最新文章

  1. 线程技术 ☞ Future模式
  2. 24 年前的 IE 仍能在 Win10中运行,这无敌兼容性与你的代码比比?
  3. php网站同时在线人数,也谈php网站在线人数统计
  4. 全球及中国植物脂肪酸行业供给前景与需求规模预测报告2022版
  5. Go案例说明defer panic recover
  6. Switch Case中的经典
  7. Unicode与UTF-8的区别
  8. 工作的习惯,看到好收藏下
  9. Spike Timing–Dependent Plasticity: A Hebbian Learning Rule ///STDP时空依赖可塑性
  10. 访问控制 > 教程 > 利用标签对ECS实例进行分组授权
  11. cuda与tensorflow版本对应关系
  12. JAVA设计模式 — 生成器模式(Builder)
  13. programer的自我修养
  14. html对话框取消确定,MFC取消HtmlDialog对话框的确定和取消按钮方法
  15. Kubernetes实战[2]: 服务发现机制与Cluster DNS的安装(无CA认证版)
  16. PWM控制的基本原理
  17. python 字节流分段_如何在Python中编写简单代码,并且速度超越Spark?
  18. 鸿蒙分期靠谱吗,花呗借呗“陷阱”正式被确认,这两个禁忌不要触碰,别说没提醒你...
  19. 大数据集群Linux环境配置
  20. vant 固定定位不生效

热门文章

  1. 五、软考·系统架构师——系统分析
  2. python.exe-找不到序数:无法定位序数242与动态链接库libiomp5md.dll上。
  3. 新装win7系统C盘占用70G的空间
  4. 淘宝模板开发系列之JS模块开发
  5. PDF转HTML怎么做?职场小白都在用这几种方法
  6. 安装ActivePerl
  7. 大话设计模式——总结
  8. oracle 051考试,OCP/OCA认证考试指南全册Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053)练习与知识点...
  9. 12条汽车保养方法 汽车如何进行保养才是最正确的
  10. c语言编程实习,c语言编程实习心得