Skip to content

Commit

Permalink
Merge pull request #26 from mudclient/feat/v0.6.1
Browse files Browse the repository at this point in the history
v0.6.1 开发完成,应当可以 Close #21 #24
  • Loading branch information
dzpao authored Jan 29, 2020
2 parents 320abd2 + a97dd06 commit 6241923
Show file tree
Hide file tree
Showing 23 changed files with 1,288 additions and 1,778 deletions.
13 changes: 8 additions & 5 deletions .github/workflows/go.yml → .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: Go
on: [push]
# vim: set softtabstop=2 tabstop=2 shiftwidth=2:
name: Build
on: [push, pull_request]
jobs:

build:
name: Build
runs-on: ubuntu-latest
steps:

- name: Set up Go 1.12
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.12
id: go
go-version: 1.13.6

- name: Check out code into the Go module directory
uses: actions/checkout@v1
Expand All @@ -20,5 +20,8 @@ jobs:
run: |
go get -v -t -d ./...
- name: Generate code automatically
run: go generate -v ./...

- name: Build
run: go build -v .
50 changes: 50 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# vim: set softtabstop=2 tabstop=2 shiftwidth=2:
name: Release
on:
create:
tags:
- v*

jobs:
release:
name: Release on GitHub
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v1
with:
go-version: 1.13.6

- name: Check out code
uses: actions/checkout@v1

- name: Set env via git describe
run: echo ::set-env name=GIT_DESCRIBE::$(git describe --always --tags --dirty)

- name: Validates Goreleaser config
uses: goreleaser/goreleaser-action@v1
with:
args: check

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}

- name: Install termux-create-package
run: pip3 install termux-create-package

- name: Install jq
run: sudo apt-get install jq

- name: Create release on GitHub
uses: goreleaser/goreleaser-action@v1
with:
args: release
env:
GITHUB_TOKEN: ${{secrets.GORELEASER_GITHUB_TOKEN}}

- name: Upload termux package to GitHub
run: bash build/termux-build.sh
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
go-mud*
dist/
config.yaml
config.json
log/*
out*
*.log
tmp/*

app/version.go

.DS_Store
83 changes: 83 additions & 0 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# vim: set softtabstop=2 tabstop=2 shiftwidth=2:
before:
hooks:
- go mod tidy
- go generate ./...

builds:
- env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s -w
goos:
- linux
- darwin
- windows
goarch:
- 386
- amd64
- arm
- arm64
goarm:
- 6
- 7
ignore:
- goos: darwin
goarch: 386

archives:
- files:
- LICENSE
- README.md
- config-example.json
- config-example.yaml
name_template: "{{ .ProjectName }}_{{ .Env.GIT_DESCRIBE }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
wrap_in_directory: true
format: tar.gz
format_overrides:
- goos: windows
format: zip
replacements:
darwin: Darwin
linux: Linux
windows: Windows
386: i386
amd64: x86_64
arm: ARM
arm64: ARMv8

checksum:
name_template: 'checksums.txt'

snapshot:
name_template: "snapshot-{{ .Env.GIT_DESCRIBE }}"

release:
prerelease: auto
name_template: "{{ .Env.GIT_DESCRIBE }}"

changelog:
filters:
exclude:
- '^Docs:'
- '^Test:'
- '^(?i)WIP:'
- typo
- Merge pull request
- Merge branch

brews:
- github:
owner: mudclient
name: homebrew-tap
folder: Formula
commit_author:
name: goreleaserbot
email: [email protected]
description: "一个用 Go 语言开发的 MUD 客户端"
homepage: "https://github.com/mudclient/go-mud"
skip_upload: false
install: |
bin.install "go-mud"
35 changes: 0 additions & 35 deletions Makefile

This file was deleted.

91 changes: 74 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@
# go-mud —— Go 语言写的 MUD 客户端
<p align="center">
<h3 align="center">GoMud</h3>
<p align="center">Go 语言写的,支持 UTF-8 的中文 MUD 客户端</p>
<p align="center">
<a href="#如何使用-gomud">如何使用</a> •
<a href="#安装指南">如何安装</a> •
<a href="#配置-gomud">如何配置</a> •
<a href="https://github.com/mudclient/go-mud/wiki/FAQ">常见问题</a>
</p>
<p align="center">
<a href="https://github.com/mudclient/go-mud/releases/latest">
<img alt="最新版本" src="https://img.shields.io/github/v/release/mudclient/go-mud.svg?logo=github&style=flat-square">
</a>
<a href="https://github.com/mudclient/go-mud/actions?workflow=Release">
<img alt="Release workflow" src="https://github.com/mudclient/go-mud/workflows/Release/badge.svg">
</a>
<a href="https://github.com/mudclient/go-mud/actions?workflow=Build">
<img alt="Build workflow" src="https://github.com/mudclient/go-mud/workflows/Build/badge.svg">
</a>
</p>
</p>

本项目实现目标是一个 MUD 客户端,主要采用 Go 语言实现。

Expand Down Expand Up @@ -26,9 +46,11 @@ GoMud 是一个 MUD 客户端,可以用来连接 MUD 服务器,提供纯文

**GoMud 目前仍在开发当中,并不完善。** 但已经能够提供必要的功能来连接 MUD 服务器。且有许多亮点:

* [X] 原生支持 UTF-8
* [X] 全程使用 UTF-8,天生免疫乱码
* [X] 支持运行有 GB2312/GBK/GB18030/BIG5/UTF-16/UTF-8 编码的 MUD 服务器
* [X] 纯文本界面,通过命令行和快捷键来操作
* [X] 支持 macOS、Linux、Windows、安卓四大平台
* [X] 支持**路由器****树莓派****群晖****电视机**等小众平台
* [X] 支持 32 位和 64 位操作系统
* [X] 支持 [Lua 机器人](https://github.com/dzpao/lua-mud-robots)

Expand All @@ -44,22 +66,51 @@ GoMud 是一个 MUD 客户端,可以用来连接 MUD 服务器,提供纯文
### 运行环境

* GoMud 可在 Linux、macOS 及 Windows 上运行。运行时不依赖其它软件。
* 通过 [Termux](https://termux.com/) 的帮助,GoMud 也可以在安卓下运行。
* 通过 [Termux](https://termux.com/) 的帮助,GoMud 也可以在安卓下运行。你可以在运行安卓系统的手机或者电视机上使用 GoMud。
* GoMud 也可以在群晖 NAS、运行有 OpenWRT 等 Linux 系统的智能路由器,或者树莓派上运行。

### 通过源码安装
### 安装指南

GoMud 采用 Go 语言实现,如果你要通过源码安装,则需要自行准备 Golang 开发环境。
Golang 安装完毕后,通过如下 `go get` 命令即可安装:
本项目的[发布页面](https://github.com/mudclient/go-mud/releases)
中包含了所有支持平台的预编译安装包,你可以根据自己的需要选择下载。

#### macOS 快速安装

macOS 用户推荐使用 [Homebrew](https://brew.sh) 来安装。如果你没用过它,不如趁此机会安装体验一下。

```sh
brew tap mudclient/tap
brew install go-mud
```
go get -u github.com/dzpao/go-mud

#### Termux 快速安装

运行了安卓系统的手机、平板电脑、电视机通过 Termux 也可以使用 GoMud,安装方法如下:

```sh
wget https://github.com/mudclient/go-mud/releases/download/v0.6.1/go-mud_v0.6.1_Termux_ARMv7.deb
apt install ./go-mud_v0.6.1_Termux_ARMv7.deb
```

### 下载预编译的可执行文件
以上命令以 ARMv7 架构上 v0.6.1 版本的为例,
其它版本及架构请前往发布页面选择相应的预编译安装包。
如果你不知道自己设备的 CPU 架构,可以通过 `uname -m` 命令获知。

#### 手动安装

本项目的 [Release](https://github.com/dzpao/go-mud/releases) 中包含了所有支持平台的预编译可执行文件。
各平台的可执行文件名称略有不同,统一格式为 `go-mud-<系统名称>-<硬件架构>`
你可以下载和你的运行环境相对应的版本,直接开始使用。
本项目的发布页面中包含了所有支持平台的预编译可执行文件。
各平台的可执行文件名称略有不同,你可以下载和你的运行环境相对应的版本。
GoMud 支持的平台非常丰富,限于篇幅,此处不再赘述。
更多内容请查看[支持平台与安装指南](https://github.com/mudclient/go-mud/wiki/支持平台与安装指南)

#### 通过源码安装

GoMud 采用 Go 语言实现,如果你要通过源码安装,则需要自行准备 Golang 开发环境。
推荐使用 Go 1.13 或以上的版本。Golang 安装完毕后,通过如下 `go get` 命令即可安装:

```
go get -u github.com/mudclient/go-mud
```

### 启动并进入北侠

Expand All @@ -81,18 +132,20 @@ GoMud 支持通过配置文件或者命令行选项的方式来指定程序运

```
$ go-mud --help # 可以获得使用帮助
go-mud(version 0.6)
GoMud(version v0.6.1)
Usage:
go-mud [flags]
Flags:
-c, --config FILENAME config FILENAME, default to `config.yaml` or `config.json`
--version just print version number only
--help show this message
-h, --help show this message
--gen-yaml generate config.yaml
--gen-json generate config.json
--ui.ambiguouswidth string 二义性字符宽度 (default "auto")
--ui.ambiguouswidth string 二义性字符宽度,可选值: auto/single/double/space (default "auto")
--ui.historylines int 历史记录保留行数 (default 100000)
--ui.rttvheight int 历史查看模式下实时文本区域高度 (default 10)
-H, --mud.host IP/Domain 服务器 IP/Domain (default "mud.pkuxkx.net")
-P, --mud.port Port 服务器 Port (default 8080)
--lua.enable 是否加载 Lua 机器人 (default true)
Expand All @@ -101,7 +154,7 @@ Flags:

配置文件同时支持 [YAML](https://yaml.org/)[JSON](https://json.org/) 两种格式,
两种配置文件效果是一样的,用户可根据个人偏好选择使用,下面分别给出示例。
配置项的说明参见 [Wiki](https://github.com/dzpao/go-mud/wiki/configuration)
配置项的说明参见[配置与运行](https://github.com/mudclient/go-mud/wiki/配置与运行)

#### config.yaml 示例

Expand All @@ -110,6 +163,8 @@ Flags:
```yaml
UI:
AmbiguousWidth: auto
HistoryLines: 100000
RTTVHeight: 10
MUD:
Host: mud.pkuxkx.net
Port: 8080
Expand All @@ -125,7 +180,9 @@ Lua:
```json
{
"UI": {
"AmbiguousWidth": "auto"
"AmbiguousWidth": "auto",
"HistoryLines": 100000,
"RTTVHeight": 10
},
"Mud": {
"Host": "mud.pkuxkx.net",
Expand All @@ -149,5 +206,5 @@ GoMud 也可支持通过 Docker 来运行,推荐使用 Docker 来挂机。
## 如何贡献
* 体验并向周围的人分享你的体验结果
* 通过[提交 issue](https://github.com/dzpao/go-mud/issues/new) 来反馈意见
* 通过[提交 issue](https://github.com/mudclient/go-mud/issues/new) 来反馈意见
* 通过 PR 来贡献代码,贡献代码时请先阅读[贡献指南](CONTRIBUTING.md)
Loading

0 comments on commit 6241923

Please sign in to comment.