test(11.1-06): plant one fixture per docs checker rule and run them in the gate
- testdata/clean passes every check; 63 violation cases each overlay one fault and a want.txt naming the single problem it must produce - TestPlantedViolations also plants the forbidden name (split literals) and symlink escapes at run time; TestBuildOutputGuard covers --out - check-phase11.1.sh --self-test runs the corpus through a go test -json detector that refuses FAIL, SKIP, zero tests and no tests to run - the self-test scratch copy now carries examples/ and README.md, so its baseline sees the example command literals the real tree sees
This commit is contained in:
3
internal/docsite/testdata/clean/README.md
vendored
Normal file
3
internal/docsite/testdata/clean/README.md
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Docs fixture
|
||||||
|
|
||||||
|
The clean fixture for the docs checkers. `demo.Hello` is checked here too.
|
||||||
6
internal/docsite/testdata/clean/config/app.yaml
vendored
Normal file
6
internal/docsite/testdata/clean/config/app.yaml
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
app:
|
||||||
|
# docs:start db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
# docs:end db
|
||||||
15
internal/docsite/testdata/clean/docs/extras/faq.md
vendored
Normal file
15
internal/docsite/testdata/clean/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
18
internal/docsite/testdata/clean/docs/extras/usage.md
vendored
Normal file
18
internal/docsite/testdata/clean/docs/extras/usage.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: Usage
|
||||||
|
description: "Build a greeter and call it."
|
||||||
|
section: extras
|
||||||
|
order: 10
|
||||||
|
---
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
## Call it
|
||||||
|
|
||||||
|
A `demo.Greeter` greets by name:
|
||||||
|
|
||||||
|
```go src=modules/demo/demo_test.go#greet
|
||||||
|
g := Greeter{Name: "blog"}
|
||||||
|
got := g.Greet()
|
||||||
|
```
|
||||||
|
|
||||||
|
See [Greet someone](../guide/start.md#greet-someone).
|
||||||
20
internal/docsite/testdata/clean/docs/guide/config.md
vendored
Normal file
20
internal/docsite/testdata/clean/docs/guide/config.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Config
|
||||||
|
description: "Configure the demo database."
|
||||||
|
section: guide
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# Config
|
||||||
|
|
||||||
|
The database block of `config/app.yaml`:
|
||||||
|
|
||||||
|
```yaml src=config/app.yaml#db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
```
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Keep the port in step with the database server.
|
||||||
32
internal/docsite/testdata/clean/docs/guide/start.md
vendored
Normal file
32
internal/docsite/testdata/clean/docs/guide/start.md
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
title: Start
|
||||||
|
description: "Install the demo and greet someone."
|
||||||
|
section: guide
|
||||||
|
order: 10
|
||||||
|
---
|
||||||
|
# Start
|
||||||
|
|
||||||
|
The demo module greets people.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Build the docs with `summer docs:build`, or run the application:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ summer docs:build --out site
|
||||||
|
./bin/demo serve --addr 127.0.0.1:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
## Greet someone
|
||||||
|
|
||||||
|
Call `demo.Hello`:
|
||||||
|
|
||||||
|
```go src=modules/demo/example_test.go#ExampleHello
|
||||||
|
fmt.Println(demo.Hello("blog"))
|
||||||
|
// Output: Hello, blog
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> The [demo reference](../../modules/demo/README.md#usage) lists the whole API.
|
||||||
|
|
||||||
|
Continue with [configuration](config.md) or jump back to [install](#install).
|
||||||
12
internal/docsite/testdata/clean/docs/index.md
vendored
Normal file
12
internal/docsite/testdata/clean/docs/index.md
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
title: Demo docs
|
||||||
|
description: "The landing page of the clean fixture."
|
||||||
|
section: index
|
||||||
|
order: 0
|
||||||
|
---
|
||||||
|
# Demo docs
|
||||||
|
|
||||||
|
Start with the [start guide](guide/start.md), then read [usage](extras/usage.md#call-it).
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Every page of this fixture passes every check.
|
||||||
14
internal/docsite/testdata/clean/docs/site.yaml
vendored
Normal file
14
internal/docsite/testdata/clean/docs/site.yaml
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
title: Demo
|
||||||
|
description: "Demo is the clean docs checker fixture."
|
||||||
|
base_url: ""
|
||||||
|
edit_url: "https://forge.example/edit/{path}"
|
||||||
|
source_url: "https://forge.example/src/{path}"
|
||||||
|
llms_notes:
|
||||||
|
- "Every page of this fixture passes every check."
|
||||||
|
sections:
|
||||||
|
- name: guide
|
||||||
|
title: Guide
|
||||||
|
- name: extras
|
||||||
|
title: Extras
|
||||||
|
- name: api
|
||||||
|
title: API reference
|
||||||
3
internal/docsite/testdata/clean/go.mod
vendored
Normal file
3
internal/docsite/testdata/clean/go.mod
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module example.com/docfixture
|
||||||
|
|
||||||
|
go 1.27.0
|
||||||
19
internal/docsite/testdata/clean/modules/demo/README.md
vendored
Normal file
19
internal/docsite/testdata/clean/modules/demo/README.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# demo
|
||||||
|
|
||||||
|
Demo greets people by name.
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "example.com/docfixture/modules/demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Call `demo.Hello` or build a `demo.Greeter` and call `demo.Greeter.Greet`.
|
||||||
|
|
||||||
|
See the [start guide](../../docs/guide/start.md#install).
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go test ./modules/demo
|
||||||
|
```
|
||||||
17
internal/docsite/testdata/clean/modules/demo/demo.go
vendored
Normal file
17
internal/docsite/testdata/clean/modules/demo/demo.go
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
// Package demo is the docs checker fixture module.
|
||||||
|
package demo
|
||||||
|
|
||||||
|
// Hello returns a greeting for name.
|
||||||
|
func Hello(name string) string {
|
||||||
|
return "Hello, " + name
|
||||||
|
}
|
||||||
|
|
||||||
|
// Greeter greets by name.
|
||||||
|
type Greeter struct {
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Greet returns the greeting for the greeter's name.
|
||||||
|
func (g Greeter) Greet() string {
|
||||||
|
return Hello(g.Name)
|
||||||
|
}
|
||||||
13
internal/docsite/testdata/clean/modules/demo/demo_test.go
vendored
Normal file
13
internal/docsite/testdata/clean/modules/demo/demo_test.go
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package demo
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
func TestGreet(t *testing.T) {
|
||||||
|
// docs:start greet
|
||||||
|
g := Greeter{Name: "blog"}
|
||||||
|
got := g.Greet()
|
||||||
|
// docs:end greet
|
||||||
|
if got != "Hello, blog" {
|
||||||
|
t.Fatalf("Greet() = %q", got)
|
||||||
|
}
|
||||||
|
}
|
||||||
12
internal/docsite/testdata/clean/modules/demo/example_test.go
vendored
Normal file
12
internal/docsite/testdata/clean/modules/demo/example_test.go
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package demo_test
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"example.com/docfixture/modules/demo"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ExampleHello() {
|
||||||
|
fmt.Println(demo.Hello("blog"))
|
||||||
|
// Output: Hello, blog
|
||||||
|
}
|
||||||
34
internal/docsite/testdata/violations/anchor-cross-page/docs/guide/start.md
vendored
Normal file
34
internal/docsite/testdata/violations/anchor-cross-page/docs/guide/start.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: Start
|
||||||
|
description: "Install the demo and greet someone."
|
||||||
|
section: guide
|
||||||
|
order: 10
|
||||||
|
---
|
||||||
|
# Start
|
||||||
|
|
||||||
|
The demo module greets people.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Build the docs with `summer docs:build`, or run the application:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ summer docs:build --out site
|
||||||
|
./bin/demo serve --addr 127.0.0.1:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
## Greet someone
|
||||||
|
|
||||||
|
Call `demo.Hello`:
|
||||||
|
|
||||||
|
```go src=modules/demo/example_test.go#ExampleHello
|
||||||
|
fmt.Println(demo.Hello("blog"))
|
||||||
|
// Output: Hello, blog
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> The [demo reference](../../modules/demo/README.md#usage) lists the whole API.
|
||||||
|
|
||||||
|
Continue with [configuration](config.md) or jump back to [install](#install).
|
||||||
|
|
||||||
|
See [usage](../extras/usage.md#nope).
|
||||||
3
internal/docsite/testdata/violations/anchor-cross-page/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/anchor-cross-page/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/guide/start.md
|
||||||
|
message: #nope not found in docs/extras/usage.md
|
||||||
34
internal/docsite/testdata/violations/anchor-missing/docs/guide/start.md
vendored
Normal file
34
internal/docsite/testdata/violations/anchor-missing/docs/guide/start.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
title: Start
|
||||||
|
description: "Install the demo and greet someone."
|
||||||
|
section: guide
|
||||||
|
order: 10
|
||||||
|
---
|
||||||
|
# Start
|
||||||
|
|
||||||
|
The demo module greets people.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
Build the docs with `summer docs:build`, or run the application:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ summer docs:build --out site
|
||||||
|
./bin/demo serve --addr 127.0.0.1:8080
|
||||||
|
```
|
||||||
|
|
||||||
|
## Greet someone
|
||||||
|
|
||||||
|
Call `demo.Hello`:
|
||||||
|
|
||||||
|
```go src=modules/demo/example_test.go#ExampleHello
|
||||||
|
fmt.Println(demo.Hello("blog"))
|
||||||
|
// Output: Hello, blog
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> The [demo reference](../../modules/demo/README.md#usage) lists the whole API.
|
||||||
|
|
||||||
|
Continue with [configuration](config.md) or jump back to [install](#install).
|
||||||
|
|
||||||
|
Back to [nowhere](#nope).
|
||||||
3
internal/docsite/testdata/violations/anchor-missing/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/anchor-missing/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/guide/start.md
|
||||||
|
message: #nope not found in docs/guide/start.md
|
||||||
22
internal/docsite/testdata/violations/callout-unknown-readme/modules/demo/README.md
vendored
Normal file
22
internal/docsite/testdata/violations/callout-unknown-readme/modules/demo/README.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# demo
|
||||||
|
|
||||||
|
Demo greets people by name.
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "example.com/docfixture/modules/demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Call `demo.Hello` or build a `demo.Greeter` and call `demo.Greeter.Greet`.
|
||||||
|
|
||||||
|
See the [start guide](../../docs/guide/start.md#install).
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go test ./modules/demo
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!CAUTION]
|
||||||
|
> Planted.
|
||||||
3
internal/docsite/testdata/violations/callout-unknown-readme/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/callout-unknown-readme/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: callout
|
||||||
|
file: modules/demo/README.md
|
||||||
|
message: unknown type CAUTION
|
||||||
18
internal/docsite/testdata/violations/callout-unknown/docs/extras/faq.md
vendored
Normal file
18
internal/docsite/testdata/violations/callout-unknown/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!DANGER]
|
||||||
|
> Planted.
|
||||||
3
internal/docsite/testdata/violations/callout-unknown/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/callout-unknown/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: callout
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: unknown type DANGER (use NOTE, TIP or WARNING)
|
||||||
19
internal/docsite/testdata/violations/command-app-name-as-tool/docs/extras/faq.md
vendored
Normal file
19
internal/docsite/testdata/violations/command-app-name-as-tool/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd app && summer serve
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/command-app-name-as-tool/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/command-app-name-as-tool/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: command
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: "serve" is not a summer or application command
|
||||||
19
internal/docsite/testdata/violations/command-in-readme/modules/demo/README.md
vendored
Normal file
19
internal/docsite/testdata/violations/command-in-readme/modules/demo/README.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# demo
|
||||||
|
|
||||||
|
Demo greets people by name.
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "example.com/docfixture/modules/demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Call `demo.Hello` or build a `demo.Greeter` and call `demo.Greeter.Greet`.
|
||||||
|
|
||||||
|
See the [start guide](../../docs/guide/start.md#install).
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./bin/demo demo:nope
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/command-in-readme/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/command-in-readme/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: command
|
||||||
|
file: modules/demo/README.md
|
||||||
|
message: "demo:nope" is not a summer or application command
|
||||||
19
internal/docsite/testdata/violations/command-unknown-app/docs/extras/faq.md
vendored
Normal file
19
internal/docsite/testdata/violations/command-unknown-app/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./bin/demo no:such --force
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/command-unknown-app/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/command-unknown-app/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: command
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: "no:such" is not a summer or application command
|
||||||
17
internal/docsite/testdata/violations/command-unknown-summer/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/command-unknown-summer/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
Then run `summer no:such`.
|
||||||
3
internal/docsite/testdata/violations/command-unknown-summer/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/command-unknown-summer/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: command
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: "no:such" is not a summer or application command
|
||||||
9
internal/docsite/testdata/violations/frontmatter-api-section/docs/api/extra.md
vendored
Normal file
9
internal/docsite/testdata/violations/frontmatter-api-section/docs/api/extra.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
title: Extra
|
||||||
|
description: "Extra page."
|
||||||
|
section: api
|
||||||
|
order: 90
|
||||||
|
---
|
||||||
|
# Extra
|
||||||
|
|
||||||
|
Text.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-api-section/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-api-section/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/api/extra.md
|
||||||
|
message: section "api" is reserved for the ingested module READMEs
|
||||||
15
internal/docsite/testdata/violations/frontmatter-decode-error/docs/extras/faq.md
vendored
Normal file
15
internal/docsite/testdata/violations/frontmatter-decode-error/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: twenty
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/frontmatter-decode-error/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-decode-error/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: cannot unmarshal string into Go struct field Frontmatter.Order
|
||||||
20
internal/docsite/testdata/violations/frontmatter-duplicate-order/docs/guide/config.md
vendored
Normal file
20
internal/docsite/testdata/violations/frontmatter-duplicate-order/docs/guide/config.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Config
|
||||||
|
description: "Configure the demo database."
|
||||||
|
section: guide
|
||||||
|
order: 10
|
||||||
|
---
|
||||||
|
# Config
|
||||||
|
|
||||||
|
The database block of `config/app.yaml`:
|
||||||
|
|
||||||
|
```yaml src=config/app.yaml#db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
```
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Keep the port in step with the database server.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-duplicate-order/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-duplicate-order/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/guide/start.md
|
||||||
|
message: order 10 already used by docs/guide/config.md
|
||||||
20
internal/docsite/testdata/violations/frontmatter-first-line/docs/guide/config.md
vendored
Normal file
20
internal/docsite/testdata/violations/frontmatter-first-line/docs/guide/config.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Config
|
||||||
|
description: "Configure the demo database."
|
||||||
|
section: guide
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# Configuration
|
||||||
|
|
||||||
|
The database block of `config/app.yaml`:
|
||||||
|
|
||||||
|
```yaml src=config/app.yaml#db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
```
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Keep the port in step with the database server.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-first-line/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-first-line/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/guide/config.md
|
||||||
|
message: first line must be "# Config"
|
||||||
12
internal/docsite/testdata/violations/frontmatter-index-section/docs/index.md
vendored
Normal file
12
internal/docsite/testdata/violations/frontmatter-index-section/docs/index.md
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
title: Demo docs
|
||||||
|
description: "The landing page of the clean fixture."
|
||||||
|
section: guide
|
||||||
|
order: 0
|
||||||
|
---
|
||||||
|
# Demo docs
|
||||||
|
|
||||||
|
Start with the [start guide](guide/start.md), then read [usage](extras/usage.md#call-it).
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Every page of this fixture passes every check.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-index-section/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-index-section/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/index.md
|
||||||
|
message: the landing page uses section "index"
|
||||||
20
internal/docsite/testdata/violations/frontmatter-long-description/docs/guide/config.md
vendored
Normal file
20
internal/docsite/testdata/violations/frontmatter-long-description/docs/guide/config.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Config
|
||||||
|
description: "Configure the demo database. Configure the demo database. Configure the demo database. Configure the demo database. Configure the demo database. Configure the demo database. "
|
||||||
|
section: guide
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# Config
|
||||||
|
|
||||||
|
The database block of `config/app.yaml`:
|
||||||
|
|
||||||
|
```yaml src=config/app.yaml#db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
```
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Keep the port in step with the database server.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-long-description/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-long-description/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/guide/config.md
|
||||||
|
message: description is longer than 160 characters
|
||||||
14
internal/docsite/testdata/violations/frontmatter-missing-field/docs/extras/faq.md
vendored
Normal file
14
internal/docsite/testdata/violations/frontmatter-missing-field/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/frontmatter-missing-field/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-missing-field/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: missing field "description"
|
||||||
14
internal/docsite/testdata/violations/frontmatter-no-block/docs/extras/faq.md
vendored
Normal file
14
internal/docsite/testdata/violations/frontmatter-no-block/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/frontmatter-no-block/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-no-block/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: the file must start with a "---" frontmatter block
|
||||||
9
internal/docsite/testdata/violations/frontmatter-root-page/docs/stray.md
vendored
Normal file
9
internal/docsite/testdata/violations/frontmatter-root-page/docs/stray.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
title: Stray
|
||||||
|
description: "Stray page."
|
||||||
|
section: guide
|
||||||
|
order: 90
|
||||||
|
---
|
||||||
|
# Stray
|
||||||
|
|
||||||
|
Text.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-root-page/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-root-page/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/stray.md
|
||||||
|
message: only index.md sits at the docs root
|
||||||
20
internal/docsite/testdata/violations/frontmatter-section-mismatch/docs/guide/config.md
vendored
Normal file
20
internal/docsite/testdata/violations/frontmatter-section-mismatch/docs/guide/config.md
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
title: Config
|
||||||
|
description: "Configure the demo database."
|
||||||
|
section: extras
|
||||||
|
order: 30
|
||||||
|
---
|
||||||
|
# Config
|
||||||
|
|
||||||
|
The database block of `config/app.yaml`:
|
||||||
|
|
||||||
|
```yaml src=config/app.yaml#db
|
||||||
|
db:
|
||||||
|
host: localhost
|
||||||
|
port: 5432
|
||||||
|
```
|
||||||
|
|
||||||
|
## Settings
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Keep the port in step with the database server.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-section-mismatch/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-section-mismatch/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/guide/config.md
|
||||||
|
message: section "extras" does not match directory "guide"
|
||||||
6
internal/docsite/testdata/violations/frontmatter-unclosed-block/docs/extras/draft.md
vendored
Normal file
6
internal/docsite/testdata/violations/frontmatter-unclosed-block/docs/extras/draft.md
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: Draft
|
||||||
|
description: x
|
||||||
|
section: extras
|
||||||
|
order: 90
|
||||||
|
# Draft
|
||||||
3
internal/docsite/testdata/violations/frontmatter-unclosed-block/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-unclosed-block/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/extras/draft.md
|
||||||
|
message: the file must start with a "---" frontmatter block
|
||||||
16
internal/docsite/testdata/violations/frontmatter-unknown-field/docs/extras/faq.md
vendored
Normal file
16
internal/docsite/testdata/violations/frontmatter-unknown-field/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
colour: red
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/frontmatter-unknown-field/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-unknown-field/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: unknown field "colour"
|
||||||
9
internal/docsite/testdata/violations/frontmatter-unlisted-section/docs/other/extra.md
vendored
Normal file
9
internal/docsite/testdata/violations/frontmatter-unlisted-section/docs/other/extra.md
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
title: Extra
|
||||||
|
description: "Extra page."
|
||||||
|
section: other
|
||||||
|
order: 90
|
||||||
|
---
|
||||||
|
# Extra
|
||||||
|
|
||||||
|
Text.
|
||||||
3
internal/docsite/testdata/violations/frontmatter-unlisted-section/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/frontmatter-unlisted-section/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: frontmatter
|
||||||
|
file: docs/other/extra.md
|
||||||
|
message: section "other" is not listed in docs/site.yaml
|
||||||
19
internal/docsite/testdata/violations/go-fence-no-src/docs/extras/faq.md
vendored
Normal file
19
internal/docsite/testdata/violations/go-fence-no-src/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
```go
|
||||||
|
x := 1
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/go-fence-no-src/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/go-fence-no-src/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: snippet
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: go code block has no src= reference
|
||||||
17
internal/docsite/testdata/violations/heading-autolink/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/heading-autolink/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
## Visit <https://example.com>
|
||||||
3
internal/docsite/testdata/violations/heading-autolink/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/heading-autolink/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: heading
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: headings must be plain ASCII text without links or code
|
||||||
17
internal/docsite/testdata/violations/heading-code/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/heading-code/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
## Use `demo.Hello`
|
||||||
3
internal/docsite/testdata/violations/heading-code/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/heading-code/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: heading
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: headings must be plain ASCII text without links or code
|
||||||
17
internal/docsite/testdata/violations/heading-link/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/heading-link/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
## See [usage](usage.md)
|
||||||
3
internal/docsite/testdata/violations/heading-link/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/heading-link/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: heading
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: headings must be plain ASCII text without links or code
|
||||||
17
internal/docsite/testdata/violations/heading-non-ascii/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/heading-non-ascii/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
## Zażółć gęślą
|
||||||
3
internal/docsite/testdata/violations/heading-non-ascii/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/heading-non-ascii/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: heading
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: headings must be plain ASCII text without links or code
|
||||||
1
internal/docsite/testdata/violations/identifier-ambiguous-package/modules/demo/util/util.go
vendored
Normal file
1
internal/docsite/testdata/violations/identifier-ambiguous-package/modules/demo/util/util.go
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package util
|
||||||
1
internal/docsite/testdata/violations/identifier-ambiguous-package/modules/other/util/util.go
vendored
Normal file
1
internal/docsite/testdata/violations/identifier-ambiguous-package/modules/other/util/util.go
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
package util
|
||||||
3
internal/docsite/testdata/violations/identifier-ambiguous-package/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-ambiguous-package/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: identifier
|
||||||
|
file: modules/other/util
|
||||||
|
message: package name "util" is used by modules/demo/util and modules/other/util
|
||||||
19
internal/docsite/testdata/violations/identifier-module-readme/modules/demo/README.md
vendored
Normal file
19
internal/docsite/testdata/violations/identifier-module-readme/modules/demo/README.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# demo
|
||||||
|
|
||||||
|
Demo greets people by name.
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "example.com/docfixture/modules/demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Call `demo.Gone` or build a `demo.Greeter` and call `demo.Greeter.Greet`.
|
||||||
|
|
||||||
|
See the [start guide](../../docs/guide/start.md#install).
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go test ./modules/demo
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/identifier-module-readme/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-module-readme/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: identifier
|
||||||
|
file: modules/demo/README.md
|
||||||
|
message: demo.Gone does not exist in modules/demo
|
||||||
3
internal/docsite/testdata/violations/identifier-root-readme/README.md
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-root-readme/README.md
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Docs fixture
|
||||||
|
|
||||||
|
The clean fixture for the docs checkers. `demo.Bye` is checked here too.
|
||||||
3
internal/docsite/testdata/violations/identifier-root-readme/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-root-readme/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: identifier
|
||||||
|
file: README.md
|
||||||
|
message: demo.Bye does not exist in modules/demo
|
||||||
17
internal/docsite/testdata/violations/identifier-unknown-member/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/identifier-unknown-member/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See `demo.Greeter.Nope`.
|
||||||
3
internal/docsite/testdata/violations/identifier-unknown-member/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-unknown-member/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: identifier
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: demo.Greeter.Nope does not exist in modules/demo
|
||||||
17
internal/docsite/testdata/violations/identifier-unknown/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/identifier-unknown/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See `demo.Missing`.
|
||||||
3
internal/docsite/testdata/violations/identifier-unknown/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/identifier-unknown/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: identifier
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: demo.Missing does not exist in modules/demo
|
||||||
17
internal/docsite/testdata/violations/link-absolute/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/link-absolute/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See [root](/index.html).
|
||||||
3
internal/docsite/testdata/violations/link-absolute/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/link-absolute/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: /index.html does not resolve
|
||||||
17
internal/docsite/testdata/violations/link-broken/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/link-broken/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See [missing](missing.md).
|
||||||
3
internal/docsite/testdata/violations/link-broken/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/link-broken/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: missing.md does not resolve
|
||||||
17
internal/docsite/testdata/violations/link-empty/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/link-empty/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See [nothing]().
|
||||||
3
internal/docsite/testdata/violations/link-empty/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/link-empty/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: empty link destination does not resolve
|
||||||
19
internal/docsite/testdata/violations/link-module-readme/modules/demo/README.md
vendored
Normal file
19
internal/docsite/testdata/violations/link-module-readme/modules/demo/README.md
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# demo
|
||||||
|
|
||||||
|
Demo greets people by name.
|
||||||
|
|
||||||
|
```go
|
||||||
|
import "example.com/docfixture/modules/demo"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Call `demo.Hello` or build a `demo.Greeter` and call `demo.Greeter.Greet`.
|
||||||
|
|
||||||
|
See the [start guide](../../docs/guide/nope.md).
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
|
||||||
|
```sh
|
||||||
|
go test ./modules/demo
|
||||||
|
```
|
||||||
3
internal/docsite/testdata/violations/link-module-readme/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/link-module-readme/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: modules/demo/README.md
|
||||||
|
message: ../../docs/guide/nope.md does not resolve
|
||||||
17
internal/docsite/testdata/violations/link-source-file/docs/extras/faq.md
vendored
Normal file
17
internal/docsite/testdata/violations/link-source-file/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
See [source](../../modules/demo/demo.go).
|
||||||
3
internal/docsite/testdata/violations/link-source-file/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/link-source-file/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: link
|
||||||
|
file: docs/extras/faq.md
|
||||||
|
message: ../../modules/demo/demo.go does not resolve
|
||||||
1
internal/docsite/testdata/violations/page-missing-index/remove.txt
vendored
Normal file
1
internal/docsite/testdata/violations/page-missing-index/remove.txt
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
docs/index.md
|
||||||
3
internal/docsite/testdata/violations/page-missing-index/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/page-missing-index/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: page
|
||||||
|
file: docs/index.md
|
||||||
|
message: the landing page is missing
|
||||||
2
internal/docsite/testdata/violations/readme-missing/modules/extra/extra.go
vendored
Normal file
2
internal/docsite/testdata/violations/readme-missing/modules/extra/extra.go
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Package extra has no README.
|
||||||
|
package extra
|
||||||
3
internal/docsite/testdata/violations/readme-missing/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/readme-missing/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: readme
|
||||||
|
file: modules/extra
|
||||||
|
message: package has Go files but no README.md
|
||||||
3
internal/docsite/testdata/violations/readme-no-title/modules/extra/README.md
vendored
Normal file
3
internal/docsite/testdata/violations/readme-no-title/modules/extra/README.md
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
extra
|
||||||
|
|
||||||
|
No H1 title.
|
||||||
2
internal/docsite/testdata/violations/readme-no-title/modules/extra/extra.go
vendored
Normal file
2
internal/docsite/testdata/violations/readme-no-title/modules/extra/extra.go
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
// Package extra has a bad README.
|
||||||
|
package extra
|
||||||
3
internal/docsite/testdata/violations/readme-no-title/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/readme-no-title/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: readme
|
||||||
|
file: modules/extra/README.md
|
||||||
|
message: first line must be the "# <module>" title
|
||||||
16
internal/docsite/testdata/violations/section-no-pages/docs/site.yaml
vendored
Normal file
16
internal/docsite/testdata/violations/section-no-pages/docs/site.yaml
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
title: Demo
|
||||||
|
description: "Demo is the clean docs checker fixture."
|
||||||
|
base_url: ""
|
||||||
|
edit_url: "https://forge.example/edit/{path}"
|
||||||
|
source_url: "https://forge.example/src/{path}"
|
||||||
|
llms_notes:
|
||||||
|
- "Every page of this fixture passes every check."
|
||||||
|
sections:
|
||||||
|
- name: guide
|
||||||
|
title: Guide
|
||||||
|
- name: extras
|
||||||
|
title: Extras
|
||||||
|
- name: empty
|
||||||
|
title: Empty
|
||||||
|
- name: api
|
||||||
|
title: API reference
|
||||||
3
internal/docsite/testdata/violations/section-no-pages/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/section-no-pages/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: section
|
||||||
|
file: docs/site.yaml
|
||||||
|
message: "empty" has no pages
|
||||||
16
internal/docsite/testdata/violations/site-duplicate-section/docs/site.yaml
vendored
Normal file
16
internal/docsite/testdata/violations/site-duplicate-section/docs/site.yaml
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
title: Demo
|
||||||
|
description: "Demo is the clean docs checker fixture."
|
||||||
|
base_url: ""
|
||||||
|
edit_url: "https://forge.example/edit/{path}"
|
||||||
|
source_url: "https://forge.example/src/{path}"
|
||||||
|
llms_notes:
|
||||||
|
- "Every page of this fixture passes every check."
|
||||||
|
sections:
|
||||||
|
- name: guide
|
||||||
|
title: Guide
|
||||||
|
- name: extras
|
||||||
|
title: Extras
|
||||||
|
- name: guide
|
||||||
|
title: Again
|
||||||
|
- name: api
|
||||||
|
title: API reference
|
||||||
3
internal/docsite/testdata/violations/site-duplicate-section/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/site-duplicate-section/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: site
|
||||||
|
file: docs/site.yaml
|
||||||
|
message: section "guide" is listed twice
|
||||||
15
internal/docsite/testdata/violations/site-unknown-key/docs/site.yaml
vendored
Normal file
15
internal/docsite/testdata/violations/site-unknown-key/docs/site.yaml
vendored
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
title: Demo
|
||||||
|
description: "Demo is the clean docs checker fixture."
|
||||||
|
colour: red
|
||||||
|
base_url: ""
|
||||||
|
edit_url: "https://forge.example/edit/{path}"
|
||||||
|
source_url: "https://forge.example/src/{path}"
|
||||||
|
llms_notes:
|
||||||
|
- "Every page of this fixture passes every check."
|
||||||
|
sections:
|
||||||
|
- name: guide
|
||||||
|
title: Guide
|
||||||
|
- name: extras
|
||||||
|
title: Extras
|
||||||
|
- name: api
|
||||||
|
title: API reference
|
||||||
3
internal/docsite/testdata/violations/site-unknown-key/want.txt
vendored
Normal file
3
internal/docsite/testdata/violations/site-unknown-key/want.txt
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
rule: site
|
||||||
|
file: docs/site.yaml
|
||||||
|
message: parse site config
|
||||||
18
internal/docsite/testdata/violations/snippet-absolute-path/docs/extras/faq.md
vendored
Normal file
18
internal/docsite/testdata/violations/snippet-absolute-path/docs/extras/faq.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
title: FAQ
|
||||||
|
description: "Questions about the demo."
|
||||||
|
section: extras
|
||||||
|
order: 20
|
||||||
|
---
|
||||||
|
# FAQ
|
||||||
|
|
||||||
|
## Does it migrate
|
||||||
|
|
||||||
|
Yes, run `./bin/demo migrate`, then `summer docs:sync` after a source change.
|
||||||
|
|
||||||
|
```text
|
||||||
|
summer not:checked in a text fence
|
||||||
|
```
|
||||||
|
|
||||||
|
```text src=/etc/hostname
|
||||||
|
```
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user