chca是一个使用golang开发的静态博客生成器,简单、方便、快捷,抛弃每次都需要使用命令编译文件,采用文件监听方式编译,作者只需把markdown文件放到配置中的markdown文件夹下就能自动生成html了。

chca源码地址: https://github.com/num5/chca

如果你是个不懂程序的小白,chca更加适合你,只需要修改少量配置就可以搭建一个属于自己的博客了。最重要的是,如果你没有自己的服务器,可以将其搭建在github pages上,完全免费的哦。

关于为什么要开博客?可以看看这篇文章《为什么你要写博客?》

关于如何在github上搭建博客,网上有很多教程,就不在赘述了。

必要步骤

下载chca

Windows:http://golune.qiniudn.com/chca-win64.tar.gz

Linux:http://golune.qiniudn.com/chca-linux64.tar.gz

Mac:http://golune.qiniudn.com/chca-darwin64.tar.gz

下载平台对应的程序,新建一个文件夹来存放chca所有的文件,并将chca解压到本文件夹下

如果打算将博客搭建在github上,还需要下载git和申请一个github账号

go 源码安装

go get -v github.com/num5/chca

下载chca模板

下载地址:http://golune.qiniudn.com/default-theme.tar.gz

关于模板语法说明,请参照:chca模板语法说明

使用步骤

chca只需要两步就可以创建一个带有独立web服务器的博客

第一步:初始化

打开命令终端,出入命令:

chca init

这一步会创建 markdown 文件夹和 config.yml 文件,markdown 文件夹用于存放博客的源markdown文件,config.yml是配置文件

config.yml配置内容如下:

# config.yml

# 站点信息
title: 我的网站
subtitle: 网站标题
description: mate-description
keywords: mate-keywords
summary_line: 10 // 首页文章行数
home_art_num: 30 // 首页文章数量 # 文件夹相关
theme: theme/blog //网站模板
markdown: markdown //博客markdown文件存放文件夹
html: /data/www/html //博客html文件存放文件夹
storage: storage //数据存放文件夹,暂时未用到 # 作者信息
author: your name
avatar: /assets/avatar.png //头像连接,一般放到assets或者avatar文件夹里
github: https://github.com/num5 //github主页
weibo: http://weibo.com/golune //微博主页
mail: 378999587@qq.com //email 地址
zhihu: https://www.zhihu.com/people/golune //知乎主页 # 监听信息配置
paths: // 监听文件夹
- markdown
exts: // 监听后缀名
- md # 上传信息
upload_theme: theme/upload // 上传模版地址 # 自定义标题,可不配置,使用chca设置好的标题
home_title: //主页标题
archive_title: //文章归档标题
tag_title: //标签导航页面标题
cate_title: //分类导航页面标题
about_title: //简历页面标题
article_title: //文章标题标头

根据自己需求修改配置文件

初始化以后需要在config.yml文件同目录下创建theme文件夹用于存放模板文件

第二步:运行chca

chca run [port]

打开chca服务,这一步自动打开监听器和内置webserver,默认webserver端口9900,端口可自定义,浏览器输入 http://localhost:9900 就能访问博客了。

监听器监听markdown文件夹下的以 .md 为后缀的文件,可配置(参照上一步配置中监听信息配置)。当markdown文件夹下的md文件有变动时就会触发编译命令,自动将自动编译markdown文件,生成静态页面。

其他命令

新建 markdown 文件

chca new filename

markdown文件需要以 --- 开头进行说明:

---
date: 2017-01-01
title: 我的第一篇博客
categories:
- 技术
tags:
- golang
- chca
---

建议使用 chca new 命令创建markdown文件

about.md文件是存放作者简历的文件,存放在markdown文件夹,另外readme.md和about.md不会被文章解析器解析

生成静态页面

chca complate (或chca c)

这条命令用于编译markdown文件生成静态html页面

开启文件监听器

chca watch (或者chca w)

开启文件监听器,监听文件夹和文件后缀名在config.yml里配置

打开内部服务器

chca http [port]

打开内部服务器,端口可选,默认监听端口9900


Markdown语法参考链接: Markdown 语法说明 (简体中文版)

使用CHCA搭建静态博客的更多相关文章

  1. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  2. windows上使用mkdocs搭建静态博客

    windows上使用mkdocs搭建静态博客 之前尝试过用HEXO搭建静态博客,最近发现有个叫mkdocs的开源项目也是搭建静态博客的好选择,而且它支持markdown格式,下面简要介绍一下mkdoc ...

  3. 使用github和hexo搭建静态博客

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 终于写这篇文章了,这是我使用github和hexo搭建博客的一些心得,希望能给大家一点帮助.少走点弯路.刚接触github,只是用来存项目的版本, ...

  4. 在GitHub上使用Hexo搭建静态博客

    搭建静态博客须要一个前提是电脑上有安装git而且有github帐号,这个不懂能够看廖雪峰先生的git教程 1.下载nodejs.在官网上能够下载 2.使用git进入你新建的一个目录,输入命令 npm ...

  5. Hexo搭建静态博客踩坑日记(二)

    前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...

  6. Hexo搭建静态博客踩坑日记(一)

    前言 博客折腾一次就好, 找一个适合自己的博客平台, 专注于内容进行提升. 方式一: 自己买服务器, 域名, 写前端, 后端(前后分离最折腾, 不分离还好一点)... 方式二: 利用Hexo, Hug ...

  7. hexo搭建静态博客

    1. 环境环境 1.1 安装Git 请参考[1] 1.2 安装node.js 下载:http://nodejs.org/download/ 可以下载 node-v0.10.33-x64.msi 安装时 ...

  8. Pelican搭建静态博客

    前言 一直以来都希望拥有属于自己的个人博客,随性发点信息,写点技术感想,记录自己的生活,重要的是不受广告的影响.不被河蟹.不会担心有一天被莫名其妙地消失. 之前看过一篇文章:"像黑客一样写博 ...

  9. Hexo快速搭建静态博客并实现远程VPS自动部署

    这篇文章将如何搭建hexo,以及如何通过git webhooks实现远程vps的自动部署 这篇文件适合的条件: 简单的用于个人博客.公司博客展示,hexo的定位是静态博客,要实现动态服务器的功能并不适 ...

随机推荐

  1. javaScript操作DOM对象(看三遍,敲三遍,写三遍! 不会你找我)!!

    DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API 使用javaScript操作DOM对象通常分为三类:1.DOM CORE        2.HTM ...

  2. 石头剪刀布 R语言统计分析

    关于石头剪刀布,做出了详细的分析,具体ppt见地址 http://files.cnblogs.com/files/GMGHZ971322/R%E8%AF%AD%E8%A8%80.pptx 16级电商三 ...

  3. 数独小算法,测试通过(Java)

    class SudokuMatrix { private int[][] matrix = new int[][] { {0, 5, 0, 6, 0, 1, 0, 0, 0}, {0, 0, 7, 0 ...

  4. js动态参数作为Object的属性取值

    js动态参数作为Object的属性取值var myObj = {"a":1,"b":2};var a = 'a';myObj[a] 就可以获取到 属性a的值了

  5. 验证表格多行某一input是否为空

    function checkTableKeyWordVal(tableId){ var result = true; $("#"+tableId+" tbody tr&q ...

  6. 基于Dubbo的分布式事务框架(LCN)

    原文地址:http://原文地址:https://github.com/1991wangliang/transaction 基于Dubbo的分布式事务框架(LCN) 该框架依赖Redis/dubbo/ ...

  7. 导出CSV表格数据

    <?php class Csv{ //导出csv文件 public function put_csv($list,$title){ $file_name="CSV".date ...

  8. js返回格式化的日期(年-月-日)

    var d = new Date(); var str = d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate ...

  9. 查看表结构命令(mysql和oracle)

    MySQL查看表结构SQL语句 = mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; ...

  10. Vue和Bootstrap的整合之路

    我是一个刚刚接触前端开发的新手,所以有必要记录如何将Bootstrap和Vue进行整合. 如果你是老手,请直接绕道而过.作为一个新手,里面的步骤,过程或者专业术语未必正确,如果你发现哪里错误了,请发邮 ...