Keep the release notes out of the repository
The notes are the annotation of a tag rather than part of the project. A tag carries one message, and the message is written once and read by whoever looks at the tag, so the file is kept beside the source to make the tag with and is not itself committed. It is ignored, and the README no longer lists it, because a reader of the tree would otherwise be looking for a file the tree does not have. The two commits that carried it are gone rather than followed by a third that removes it, so the file is in no commit at all. Both were unpushed, and the commit the remote has is their parent, so the history is still a fast-forward. What those commits also did is kept: the design notes are now listed in the tree of the README, and the documentation link to the JSON object macro names the macro rather than a private method of the parser.
This commit is contained in:
parent
84d229de4b
commit
d789257d58
|
|
@ -22,3 +22,11 @@ apsis-book.html
|
||||||
# Diagnostics dropped beside the project while working on it, such as the
|
# Diagnostics dropped beside the project while working on it, such as the
|
||||||
# screenshots of a page under inspection.
|
# screenshots of a page under inspection.
|
||||||
/tmp
|
/tmp
|
||||||
|
|
||||||
|
# The release notes. They are the annotation of a tag rather than part of the
|
||||||
|
# project, and a tag carries one message, so the file is kept beside the
|
||||||
|
# source to make the tag with and is not itself committed.
|
||||||
|
#
|
||||||
|
# 发布说明是标签的注释,而不是项目的一部分;一个标签只承载一条消息,因此该文件
|
||||||
|
# 放在源码旁边供打标签使用,本身不提交。
|
||||||
|
/docs/releases
|
||||||
|
|
|
||||||
|
|
@ -257,6 +257,9 @@ apsis-book/
|
||||||
├── Dockerfile the release image, in three stages
|
├── Dockerfile the release image, in three stages
|
||||||
├── Dockerfile.dockerignore what the image build is not sent
|
├── Dockerfile.dockerignore what the image build is not sent
|
||||||
├── docker-compose.yml runs the image with the settings it wants
|
├── docker-compose.yml runs the image with the settings it wants
|
||||||
|
├── docs/ the design notes
|
||||||
|
│ ├── design.md why the service is built the way it is
|
||||||
|
│ └── design.zh.md the same in Chinese
|
||||||
├── frontend/ Svelte and TypeScript, built by Vite
|
├── frontend/ Svelte and TypeScript, built by Vite
|
||||||
│ ├── src/lib/ API client, router, components, formatting
|
│ ├── src/lib/ API client, router, components, formatting
|
||||||
│ ├── src/pages/ one component per route
|
│ ├── src/pages/ one component per route
|
||||||
|
|
|
||||||
|
|
@ -223,6 +223,9 @@ apsis-book/
|
||||||
├── Dockerfile 发布镜像,分三个阶段
|
├── Dockerfile 发布镜像,分三个阶段
|
||||||
├── Dockerfile.dockerignore 镜像构建不接收的内容
|
├── Dockerfile.dockerignore 镜像构建不接收的内容
|
||||||
├── docker-compose.yml 以长期运行所需的设置来运行镜像
|
├── docker-compose.yml 以长期运行所需的设置来运行镜像
|
||||||
|
├── docs/ 设计说明
|
||||||
|
│ ├── design.md 服务为何如此构建
|
||||||
|
│ └── design.zh.md 同上,中文
|
||||||
├── frontend/ Svelte 与 TypeScript,由 Vite 构建
|
├── frontend/ Svelte 与 TypeScript,由 Vite 构建
|
||||||
│ ├── src/lib/ API 客户端、路由器、组件、格式化
|
│ ├── src/lib/ API 客户端、路由器、组件、格式化
|
||||||
│ ├── src/pages/ 每个路由一个组件
|
│ ├── src/pages/ 每个路由一个组件
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,8 @@
|
||||||
//! offset of the first problem.
|
//! offset of the first problem.
|
||||||
//! - [`to_string`] encodes a value in compact form and [`to_string_pretty`]
|
//! - [`to_string`] encodes a value in compact form and [`to_string_pretty`]
|
||||||
//! encodes it with indentation for readability.
|
//! encodes it with indentation for readability.
|
||||||
//! - The [`object`] macro builds an object literal without repeating the
|
//! - The [`json_object`](crate::json_object) macro builds an object literal
|
||||||
//! `Value` constructors.
|
//! without repeating the `Value` constructors.
|
||||||
//!
|
//!
|
||||||
//! Numbers are held as `f64`. Integers that need the full `i64` range are
|
//! Numbers are held as `f64`. Integers that need the full `i64` range are
|
||||||
//! decoded exactly as long as they can be represented as an `f64` without
|
//! decoded exactly as long as they can be represented as an `f64` without
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
//! - [`parse`] 解码一份文档,并以 [`JsonError`] 报告第一个问题的字节偏移。
|
//! - [`parse`] 解码一份文档,并以 [`JsonError`] 报告第一个问题的字节偏移。
|
||||||
//! - [`to_string`] 以紧凑形式编码一个值,[`to_string_pretty`] 以缩进编码以便
|
//! - [`to_string`] 以紧凑形式编码一个值,[`to_string_pretty`] 以缩进编码以便
|
||||||
//! 阅读。
|
//! 阅读。
|
||||||
//! - [`object`] 宏构造对象字面量,无需重复 `Value` 的构造函数。
|
//! - [`json_object`](crate::json_object) 宏构造对象字面量,无需重复 `Value` 的构造函数。
|
||||||
//!
|
//!
|
||||||
//! 数字以 `f64` 持有。需要完整 `i64` 范围的整数,只要能无损地表示为 `f64`,
|
//! 数字以 `f64` 持有。需要完整 `i64` 范围的整数,只要能无损地表示为 `f64`,
|
||||||
//! 就会被精确解码,这在上限 `2^53` 之内成立;服务只交换该范围内的量与标识。
|
//! 就会被精确解码,这在上限 `2^53` 之内成立;服务只交换该范围内的量与标识。
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue