Skip to content

Commit 574e4fa

Browse files
committed
docs: intro
1 parent 9df37fc commit 574e4fa

File tree

3 files changed

+63
-214
lines changed

3 files changed

+63
-214
lines changed
-57.8 KB
Binary file not shown.

docs/content/Getting-Started/Introduction/_index.en.md

Lines changed: 34 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -3,144 +3,60 @@ title: 🚪 Introduction
33
weight: 0
44
---
55

6-
Eask was built to use as a package development tool in your Elisp packages. But
7-
now, Eask supports various types of Emacs Lisp tasks. It can be used in three
8-
major ways:
9-
10-
1. Dev tool for Elisp packages
11-
2. Dependency management for your configuration
12-
3. Run elisp programs for all other purposes
13-
14-
So what are the major differences between Eask and other build tools like
15-
[Cask][], [makem.sh][], and [Eldev][], other than the things above?
16-
17-
Good question! Eask is more than a build tool now, it can be used for various
18-
purposes! But here are Eask aims to be:
19-
20-
- **Consistent** enough to sandbox across all systems
21-
- **General** enough to have Emacsers frequently used commands (`byte-compile`, `checkdoc`, etc)
22-
- **Robust** enough to provide useful results even in the presence of user errors
23-
- **Dependency-free** so that the tool can be run on any platform
24-
25-
*P.S. See [Why Eask?](https://emacs-eask.github.io/#-why-eask) for more detailed
26-
information.*
27-
28-
## ❓ Why Eask?
29-
30-
`Eask` has the same philosophy as Cask, see their site [Why Cask?](https://cask.readthedocs.io/en/latest/guide/introduction.html#introduction-why-cask)
31-
to understand why you should use Eask (or Cask).
32-
33-
Many tools like [Cask][], [makem.sh][], or [Eldev][] don't **"really"** support
34-
Windows. `Cask` has dropped support for Legacy Windows, `makem.sh` runs on bash,
35-
`Eldev` does support Windows, but the author doesn't use it on Windows (not
36-
having full tests, see their
37-
[CI workflows](https://github.com/doublep/eldev/actions/workflows/test.yml)).
38-
`Eask` aims to adapt all platforms, including `Linux`, `macOS`, and `Windows`.
39-
It focuses on the cross-platform capability and the consistency between each
40-
OS. If Eask works on your machine, then it will work on any platform.
41-
42-
Here are our suggestions; if you plan to work on an OS-specific package (never
43-
going to other platforms), go for other tools. On the other hand, Eask aims to
44-
provide the best consistency between each OS. Alternatively, if you want to
45-
learn a tool that works everywhere, Eask is one of the best choices.
46-
47-
## ⚖️ Comparisons
48-
49-
The table was compiled by reading these projects’ documentation and source code,
50-
but the author is not an expert on these tools. Corrections are welcome.
51-
52-
### 🔍 Project Wise
53-
54-
The table shows what technology has been chosen by their author and how the
55-
project is being constructed. Furthermore, what technical decisions have they
56-
made? Drop support? Project's layout? Etc.
57-
58-
| | Eask | Cask | Eldev | makem.sh |
59-
|----------------|-------------------|----------------------------|----------------|----------------------------|
60-
| bin folder | binary, bash, bat | bash, bat | bash, bat, ps1 | bash |
61-
| Cross-Platform || ❌, no [Windows][] support || ❌, no [Windows][] support |
62-
| Emacs version | 26.1+ | 24.5+ | 24.4+ | 26.1+ |
63-
| Size | 9,000+ lines | 3,000+ lines | 8,000+ lines | 1,200+ lines |
64-
| Executable |||||
65-
| Pure Elisp | ❌, JavaScript ||||
66-
| CLI Parser | [yargs][] | [commander][] | built-in | built-in |
67-
68-
{{< hint info >}}
69-
💡 **makem.sh** has a good comparisons document as well, visit their [site](https://github.com/alphapapa/makem.sh#comparisons)
70-
{{< /hint >}}
71-
72-
### 🔍 Feature Wise
73-
74-
This is the feature comparison between each tool. Every tool has its advantages;
75-
choose the right tool that works for you!
76-
77-
If the features are not listed below, either it is forgotten or simply
78-
considered too essential, so every tool has it; hence we don't add them to the
79-
list.
80-
81-
| | Eask | Cask | Eldev | makem.sh |
82-
|---------------------------|-----------------------------------------|--------------------------|----------------|----------|
83-
| Elisp configuration | ✅, [DSL][DSL-Eask] is optional | ❌, [DSL][DSL-Cask] only | ✅, pure elisp ||
84-
| Handle `archives` failure | ✅, see [archives][emacs-eask/archives] ||||
85-
| `create` project, etc |||||
86-
| `link` local dependencies |||||
87-
| `exec` program |||||
88-
| `eval` expressions |||||
89-
| `emacs` execution |||||
90-
| Built-in `linters` |||||
91-
| Built-in `tests` |||||
92-
| Run script |||||
93-
| Self-defined commands |||||
94-
| Subcommand |||||
6+
Qob attempts to be good at these things:
7+
8+
- Play nicely with [ASDF][] and [Quicklisp][].
9+
- Support project local like [Qlot][] and support global scope facilities.
10+
- Works on all modern operating systems: [Linux][], [macOS][], and [Windows][].
11+
12+
We aim to make Qob an all-in-one tool so users no longer need to install
13+
tools like [Roswell][] and [Qlot][], which only serve specific goals.
14+
15+
## ❓ Why Qob?
16+
17+
Qob is an Common Lisp project management tool, similar to Maven or Leiningen.
18+
It aims to control and automate the entire life cycle of an Common Lisp system,
19+
including dependency management, packaging, distribution and testing.
20+
21+
- Ruby projects have a `gemspec` file?
22+
- Node.js projects have a `package.json` file?
23+
- Clojure projects have a `project.clj` file?
24+
- Common Lisp projects have a `Qob` file?
9525

9626
## 📰 News
9727

98-
- `0.9.x` - Improve UX in general
99-
- `0.8.x` - Add `link` command
100-
- `0.7.x` - Fix `default-directory` isn't honored by **-g** option
101-
- `0.6.x` - You can now use `eask create` to create an Elisp project
102-
- `0.5.x` - Handle error for failed archive
103-
- `0.4.x` - Add color logger
104-
- `0.3.x` - Add verbosity level and timestamps
105-
- `0.2.x` - Done basic error handling with exit code at the end of executions
106-
- `0.1.39` - Use `spawn` instead `exec`; now messages will be printed immediately
10728
- `0.1.x` - Project bare-bones are pretty much complete!
10829

10930
## 📝 Todo list
11031

111-
### 🔍 Development
112-
113-
- [ ] [DEV] Publish package to [winget]()
114-
11532
### 🔍 Core commands
11633

117-
- [ ] [FEAT] Add `publish` command; to publish the package to the eask archive?
34+
- [ ] [FEAT] Add `publish` command; to publish the system to the Quciklisp dist?
11835

119-
### 🔍 Eask-file commands
36+
### 🔍 Qob-file commands
12037

12138
- N/A
12239

12340
## 📂 Underlying Projects
12441

125-
The design of Eask was greatly influenced by the following projects:
42+
The design of Qob was greatly influenced by the following projects:
12643

127-
* [Cask][] - Project management tool for Emacs
128-
* [makem.sh][] - Makefile-like script for building and testing Emacs Lisp packages
129-
* [epm](https://github.com/xuchunyang/epm) - Emacs Package Manager
130-
* [Eldev][] - Elisp Development Tool
44+
- [Roswell][] - Common Lisp environment setup Utility
45+
- [Qlot][] - A project-local library installer for Common Lisp
13146

13247

13348
<!-- Links -->
13449

135-
[emacs-eask/archives]: https://github.com/emacs-eask/archives
136-
[Cask]: https://github.com/cask/cask
137-
[makem.sh]: https://github.com/alphapapa/makem.sh
138-
[Eldev]: https://github.com/doublep/eldev
50+
[Linux]: https://en.wikipedia.org/wiki/Linux
51+
[macOS]: https://en.wikipedia.org/wiki/MacOS
52+
[Windows]: https://en.wikipedia.org/wiki/Microsoft_Windows
53+
54+
[SBCL]: https://www.sbcl.org/
13955

140-
[yargs]: https://github.com/yargs/yargs
141-
[commander]: https://github.com/rejeep/commander.el
56+
[ASDF]: https://asdf.common-lisp.dev/
57+
[Quicklisp]: https://www.quicklisp.org/beta/
14258

143-
[DSL-Eask]: https://emacs-eask.github.io/DSL/
144-
[DSL-Cask]: https://cask.readthedocs.io/en/latest/guide/dsl.html
59+
[Roswell]: https://roswell.github.io/
60+
[Qlot]: https://github.com/fukamachi/qlot
14561

146-
[Windows]: https://www.microsoft.com/en-us/windows?r=1
62+
[Make]: https://www.gnu.org/software/make/

docs/content/Getting-Started/Introduction/_index.zh-tw.md

Lines changed: 29 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -3,121 +3,54 @@ title: 🚪 介紹
33
weight: 0
44
---
55

6-
Eask 被構建為用作 Elisp 包中的包開發工具。 但是現在,Eask 支持各種類型的 Emacs Lisp 任務。
7-
它可以通過三種主要方式使用:
6+
Qob 嘗試在這些事情上做得很好:
87

9-
1. Elisp 包的開發工具
10-
2. 配置的依賴管理
11-
3. 為所有其他目的運行 elisp 程序
8+
-[ASDF][][Quicklisp][] 搭配使用。
9+
-[Qlot][] 一樣支援專案本機,並支援全局範圍設施。
10+
- 可在所有現代作業系統上運作: [Linux][][macOS][][Windows][]
1211

13-
那麼,除上述內容外,Eask 與其他構建工具(如 [Cask][][makem.sh][][Eldev][] 之間的主要區別是什麼?
12+
我們的目標是讓 Qob 成為多合一的工具,讓使用者不再需要安裝
13+
[Roswell][][Qlot][] 之類的工具,這些工具只能達到特定的目標。
1414

15-
好問題! Eask 現在不僅僅是一個構建工具,它可以用於各種目的! 但 Eask 的目標是:
15+
## ❓ 為什麼選擇 Qob?
1616

17-
- **一致**足以跨所有系統進行沙盒
18-
- **通用**足以讓 Emacsers 經常使用命令(`byte-compile``checkdoc` 等)
19-
- **穩健**即使在出現用戶錯誤的情況下也足以提供有用的結果
20-
- **無依賴**,使該工具可以在任何平台上運行
17+
Qob 是一個 Common Lisp 專案管理工具,類似於 Maven 或 Leiningen。
18+
它的目標是控制 Common Lisp 系統的整個生命週期並使其自動化,
19+
包括相依性管理、打包、發行和測試。
2120

22-
*附言 有關更多詳細信息,請參閱[為什麼使用 Eask?](https://emacs-eask.github.io/#-why-eask)*
23-
24-
## ❓ 為什麼選擇 Eask?
25-
26-
`Eask` 與 Cask 具有相同的理念,請參閱他們的網站 [Why Cask?](https://cask.readthedocs.io/en/latest/guide/introduction.html#introduction-why-cask)
27-
以了解您為什麼應該這樣做, 使用 Eask(或 Cask)。
28-
29-
[Cask][][makem.sh][][Eldev][] 等許多工具並不**“真正”**支持 Windows。 `Cask`
30-
已經放棄了對舊版 Windows 的支持,`makem.sh` 在 bash 上運行,`Eldev` 確實支持 Windows,
31-
但作者沒有在 Windows 上使用它(沒有完整的測試,請參閱他們的
32-
[CI 工作流程](https //github.com/doublep/eldev/actions/workflows/test.yml))。
33-
`Eask` 旨在適配所有平台,包括 `Linux``macOS``Windows`。 它側重於跨平台能力和每個
34-
操作系統之間的一致性。 如果 Eask 可以在您的機器上運行,那麼它也可以在任何平台上運行。
35-
36-
這是我們的建議; 如果您打算在特定於操作系統的軟件包上工作(從不使用其他平台),請使用其他工具。
37-
另一方面,Eask 旨在提供每個操作系統之間的最佳一致性。 或者,如果你想學習一個隨處可用的工具,
38-
Eask 是最好的選擇之一。
39-
40-
## ⚖️ 比較
41-
42-
該表是通過閱讀這些項目的文檔和源代碼編制的,但作者不是這些工具的專家。 歡迎指正。
43-
44-
### 🔍 專案方面
45-
46-
該表顯示了作者選擇的技術以及項目的構建方式。 此外,他們做出了哪些技術決策? 放棄支持? 項目佈局? 等等。
47-
48-
| | Eask | Cask | Eldev | makem.sh |
49-
|----------------|-------------------|------------------------|----------------|------------------------|
50-
| bin folder | binary, bash, bat | bash, bat | bash, bat, ps1 | bash |
51-
| Cross-Platform || ❌, 不支援 [Windows][] || ❌, 不支援 [Windows][] |
52-
| Emacs version | 26.1+ | 24.5+ | 24.4+ | 26.1+ |
53-
| Size | 9,000+ 行 | 3,000+ 行 | 8,000+ 行 | 1,200+ 行 |
54-
| Executable |||||
55-
| Pure Elisp | ❌, JavaScript ||||
56-
| CLI Parser | [yargs][] | [commander][] | 內建 | 內建 |
57-
58-
{{< hint info >}}
59-
💡 **makem.sh** 也有很好的比較文檔,請訪問他們的[站點](https://github.com/alphapapa/makem.sh#comparisons)
60-
{{< /hint >}}
61-
62-
### 🔍 功能方面
63-
64-
這是每個工具之間的功能比較。 每種工具都有其優點; 選擇適合您的工具!
65-
66-
如果這些功能沒有在下面列出,要么被遺忘,要么只是被認為太重要了,所以每個工具都有它; 因此我們不將它們添加到列表中。
67-
68-
| | Eask | Cask | Eldev | makem.sh |
69-
|---------------------------|-----------------------------------------|------------------------|--------------|----------|
70-
| Elisp configuration | ✅, [DSL][DSL-Eask] 是可選的 | ❌, 僅 [DSL][DSL-Cask] | ✅, 純 elisp ||
71-
| Handle `archives` failure | ✅, see [archives][emacs-eask/archives] ||||
72-
| `create` project, etc |||||
73-
| `link` local dependencies |||||
74-
| `exec` program |||||
75-
| `eval` expressions |||||
76-
| `emacs` execution |||||
77-
| Built-in `linters` |||||
78-
| Built-in `tests` |||||
79-
| Run script |||||
80-
| Self-defined commands |||||
81-
| Subcommand |||||
21+
- Ruby 專案有 `gemspec` 檔案嗎?
22+
- Node.js 專案有 `package.json` 檔案嗎?
23+
- Clojure 專案有 `project.clj` 檔案嗎?
24+
- Common Lisp 專案有 `Qob` 檔案嗎?
8225

8326
## 📰 消息
8427

85-
- `0.9.x` - Improve UX in general
86-
- `0.8.x` - Add `link` command
87-
- `0.7.x` - Fix `default-directory` isn't honored by **-g** option
88-
- `0.6.x` - You can now use `eask create` to create an Elisp project
89-
- `0.5.x` - Handle error for failed archive
90-
- `0.4.x` - Add color logger
91-
- `0.3.x` - Add verbosity level and timestamps
92-
- `0.2.x` - Done basic error handling with exit code at the end of executions
93-
- `0.1.39` - Use `spawn` instead `exec`; now messages will be printed immediately
94-
- `0.1.x` - Project bare-bones are pretty much complete!
28+
請參考[](https://cl-qob.github.io/Getting-Started/Introduction/#-news).
9529

9630
## 📝 TODO 事項列表
9731

98-
請參考[](https://emacs-eask.github.io/Getting-Started/Introduction/#-todo-list).
32+
請參考[](https://cl-qob.github.io/Getting-Started/Introduction/#-todo-list).
9933

10034
## 📂 基礎項目
10135

102-
Eask 的設計深受以下項目的影響:
36+
Qob 的設計深受以下項目的影響:
10337

104-
* [Cask][] - Emacs 的項目管理工具
105-
* [makem.sh][] -用於構建和測試 Emacs Lisp 包的類似 Makefile 的腳本
106-
* [epm](https://github.com/xuchunyang/epm) - Emacs 包管理器
107-
* [Eldev][] - Elisp 開發工具
38+
- [Roswell][] - Common Lisp 環境設定公用程式
39+
- [Qlot][] - Common Lisp 專案本機函式庫安裝程式
10840

10941

11042
<!-- Links -->
11143

112-
[emacs-eask/archives]: https://github.com/emacs-eask/archives
113-
[Cask]: https://github.com/cask/cask
114-
[makem.sh]: https://github.com/alphapapa/makem.sh
115-
[Eldev]: https://github.com/doublep/eldev
44+
[Linux]: https://en.wikipedia.org/wiki/Linux
45+
[macOS]: https://en.wikipedia.org/wiki/MacOS
46+
[Windows]: https://en.wikipedia.org/wiki/Microsoft_Windows
47+
48+
[SBCL]: https://www.sbcl.org/
11649

117-
[yargs]: https://github.com/yargs/yargs
118-
[commander]: https://github.com/rejeep/commander.el
50+
[ASDF]: https://asdf.common-lisp.dev/
51+
[Quicklisp]: https://www.quicklisp.org/beta/
11952

120-
[DSL-Eask]: https://emacs-eask.github.io/DSL/
121-
[DSL-Cask]: https://cask.readthedocs.io/en/latest/guide/dsl.html
53+
[Roswell]: https://roswell.github.io/
54+
[Qlot]: https://github.com/fukamachi/qlot
12255

123-
[Windows]: https://www.microsoft.com/en-us/windows?r=1
56+
[Make]: https://www.gnu.org/software/make/

0 commit comments

Comments
 (0)