From 697d00f277d0a1fc56850dea6f91f216330ecfb4 Mon Sep 17 00:00:00 2001 From: jaywcjlove <398188662@qq.com> Date: Mon, 26 Sep 2022 20:58:14 +0800 Subject: [PATCH] feat: add `toml` cheatsheet. --- README.md | 2 + docs/javascript.md | 4 +- docs/toml.md | 259 +++++++++++++++++++++++++++++++++++++++++++++ scripts/style.css | 4 + 4 files changed, 267 insertions(+), 2 deletions(-) create mode 100644 docs/toml.md diff --git a/README.md b/README.md index 76766ef..d4874b7 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,9 @@ Quick Reference ## 编程 +[TOML](./docs/toml.md) [JavaScript](./docs/javascript.md) +[JSON](./docs/json.md) [Markdown](./docs/markdown.md) ## 工具包 diff --git a/docs/javascript.md b/docs/javascript.md index 3a536a6..7435e31 100644 --- a/docs/javascript.md +++ b/docs/javascript.md @@ -10,7 +10,7 @@ JavaScript 备忘清单 JavaScript 是一种轻量级的解释型编程语言。 -- [JSON 备忘清单](/json) +- [JSON 备忘清单](json.md) - [JavaScript 中的正则表达式](/regex#regex-in-javascript) ### 打印调试 @@ -1411,7 +1411,7 @@ const getSuggestions = async () => { const wordQuery = inputField.value; const endpoint = `${url}${queryParams}${wordQuery}`; try{ -const response = await fetch(endpoint, {cache: 'no-cache'}); + const response = await fetch(endpoint, {cache: 'no-cache'}); if(response.ok){ const jsonResponse = await response.json() } diff --git a/docs/toml.md b/docs/toml.md new file mode 100644 index 0000000..02aaf0c --- /dev/null +++ b/docs/toml.md @@ -0,0 +1,259 @@ +TOML 备忘清单 +=== + +这是 TOML 格式配置文件语法的快速参考备忘单。 + +入门 +---- + +### 介绍 + +[TOML](https://toml.io/en/) 是一种最小的配置文件格式,由于明显的语义而易于阅读。 + +- [Document](https://toml.io/en/latest) _(toml.io)_ +- [Learn X in Y minutes](https://learnxinyminutes.com/docs/toml/) _(learnxinyminutes.com)_ + +### 示例 + +```toml +bool = true +date = 2006-05-27T07:32:00Z +string = "hello" +number = 42 +float = 3.14 +scientificNotation = 1e+12 +``` + +### 注释 + +```yaml +# A single line comment example +# block level comment example +# 注释行 1 +# 注释行 2 +# 注释行 3 +``` + +### 整数 + +```toml +int1 = +42 +int2 = 0 +int3 = -21 +integerRange = 64 +``` + + +### 浮点数 + +```toml +float2 = 3.1415 +float4 = 5e+22 +float7 = 6.626e-34 +``` + +### 布尔值 + +```toml +bool1 = true +bool2 = false +boolMustBeLowercase = true +``` + +### 时间日期 + +```toml +date1 = 1989-05-27T07:32:00Z +date2 = 1989-05-26T15:32:00-07:00 +date3 = 1989-05-27T07:32:00 +date4 = 1989-05-27 +time1 = 07:32:00 +time2 = 00:32:00.999999 +``` + +### 字符串 + +```toml +str1 = "I'm a string." +str2 = "You can \"quote\" me." +str3 = "Name\tJos\u00E9\nLoc\tSF." +``` + +See: [Strings](#toml-strings) + +### Table + +```toml +[owner] +name = "Tom Preston-Werner" +dob = 1979-05-27T07:32:00-08:00 +``` + +See: [Tables](#toml-tables) + +### 数组 + +```toml +array1 = [1, 2, 3] +array2 = ["Commas", "are", "delimiter"] +array3 = [8001, 8001, 8002] +``` + +### 友好数组 + + + +```toml +array1 = [ "Don't mix", "different", "types" ] +array2 = [ [ 1.2, 2.4 ], ["all", 'strings', """are the same""", '''type'''] ] +array3 = [ + "Whitespace", "is", + "ignored" +] +``` + +TOML 字符串 +----- + +### 多行字符串 + +```toml +multiLineString = """ +Multi-line basic strings are surrounded +by three quotation marks on each side +and allow newlines. +""" +``` + +### 文字字符串 + +```toml +path = 'C:\Users\nodejs\templates' +path2 = '\\User\admin$\system32' +quoted = 'Tom "Dubs" Preston-Werner' +regex = '<\i\c*\s*>' +``` + +用单引号括起来。不允许转义。 + +### 多行文字字符串 + +```toml +re = '''\d{2} apps is t[wo]o many''' +lines = ''' +The first newline is +trimmed in raw strings. +All other whitespace +is preserved. +''' +``` + +TOML Tables +----- + +### 基本的 + +```toml +[name] +foo = 1 +bar = 2 +``` + +`foo` 和 `bar` 是名为`name` 的表中的键 + +### 嵌套 + +```toml +[table1] + foo = "bar" +[table1.nested_table] + baz = "bat" +``` + +### 类数组 + + + +```toml +[[comments]] +author = "Nate" +text = "Great Article!" +[[comments]] +author = "Anonymous" +text = "Love it!" +``` + +#### ↓ 等效的 JSON + +```json +{ + "comments" : [ + { + "author" : "Nate", + "text" : "Great Article!" + }, + { + "author" : "Anonymous", + "text" : "Love It!" + } + ] +} +``` + +### 点分隔 + +```toml +[dog."tater.man"] +type = "pug" +``` + +#### ↓ 等效的 JSON + +```json +{ + "dog": { + "tater.man": { + "type": "pug" + } + } +} +``` + +### 多嵌套 + +```toml +[foo.bar.baz] +bat = "hi" +``` +#### ↓ 等效的 JSON + +```json +{ + "foo" : { + "bar" : { + "baz" : { + "bat" : "hi" + } + } + } +} +``` + +### 忽略空格 + +```toml +[a.b.c] # this is best practice +[ d.e.f ] # same as [d.e.f] +[ g . h .i ] # same as [g.h.i] +[ j . "ʞ" .'l' ] # same as [j."ʞ".'l'] +``` + +### Inline Table + + + +```toml +name = { first = "Tom", last = "Preston-Werner" } +point = { x = 1, y = 2 } +animal = { type.name = "pug" } +``` \ No newline at end of file diff --git a/scripts/style.css b/scripts/style.css index 0a12a47..587c2fe 100644 --- a/scripts/style.css +++ b/scripts/style.css @@ -187,6 +187,10 @@ ol, ul, menu { top: 18px; } +.h3warp hr { + border-bottom: 1px solid #475060; +} + .h2warp-body { display: grid; gap: 1.75rem;