gorush

command module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

GoRush

License

Language

😀1. 介绍

一个为开发者自由、快速、便捷地构建网站服务的网站框架。

💘2. 目的

构建这个项目的本意是提供一种方便、快速的自由构建网站方式,让使用者能够根据自己的需求diy网站,并且力图将门槛降到最低。但是,即使对于一个简单的静态网页来说,基本的html和css技能是必要的。

目前个人对该项目的构想经常变化,很难想象怎样的一种方式能够更好地达成这一目的,而最终成果也十分令人期待⭐

✨3. 下载

由于配套脚手架功能尚未完善(目前仅能够初始化项目文件夹和配置文件),推荐以包的形式导入:

import "github.com/levinion/gorush/render"

未来将依靠脚手架的方式构建和运行程序(开发中😓)

go install github.com/levinion/gorush

🔥4. 使用

4.1 项目结构
.
├── config.toml //配置文件
├── go.mod
├── go.sum
├── main.go
├── resources   //待解析文件存放在此处
└── templates   //模板文件存放在此处
4.2 配置文件

配置文件默认为config.toml,位于项目主目录下,在程序运行前需要先行建立配置文件。下面是配置文件的一个示例:

[version]
version = "1.0"

[server]
addr = "localhost:9090"
4.3 项目建立流程
  1. 新建文件夹,在该文件夹下进行先期准备:
git init        #若不使用git请跳过

go mod init <golang项目名>
  1. 然后分别建立main.go文件、resourcestemplates目录。

  2. resources文件夹下创建待解析资源(主要是Markdown文件),在templates文件夹下添加HTML模板,具体模板和文件写法可参考doc/example;模板插入方式详见go语言template包教程。

  3. 仿照以下方式建立main.go文件

  4. 使用go run .运行程序

4.4. 包使用方式示例:
package main

import (
	"github.com/levinion/gorush/render"
)

func main(){
	r:=render.NewRenderer()		//新建Renderer对象,配置文件将在这一步初始化
	r.Parse("./resources/")		//解析Markdown文件目录,若在上一步传入目录则可略去

	//下面是页面添加流程示例:
    //使用HTML构造页面
	r.RenderHTML("/","./templates/mainPage.html")
    //批量解析并使用MarkDown文件构造页面
	r.GroupRenderMarkdown("/posts/","./templates/posts.html","./templates/default.html")
    //解析并使用单个MarkDown文件构造页面
	// render.RenderMarkdown("/test/","./resources/parts.md","./templates/default.html")

	r.Run()		//调用Run以运行服务,可写入端口,否则将使用配置文件中定义的端口
}

4.5 命令行(开发中)
gorush help       # 获取帮助信息

❤️5. 开发计划

  • 提供使用命令行创建项目的脚手架方式。
  • 重构项目结构,提供用户友好型文件组织方式。
  • 自定义、方便排查的日志系统
  • 脚手架新建项目结构的完善
  • 引入gin框架以优化流程
  • 优化错误处理和日志系统
  • 生成静态网页,方便博客托管
  • 实现文章分类

...

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
基于viper包
基于viper包

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL