Skip to content

Commit 985578d

Browse files
committed
cleanup README and add links
1 parent dcc8606 commit 985578d

File tree

4 files changed

+59
-17
lines changed

4 files changed

+59
-17
lines changed

Guides/docs.docc/Getting started.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Getting started with Unidoc
1+
# Bootstrapping Unidoc
22

33
This guide outlines how to set up and run a local Unidoc server you can use to preview your documentation as it would appear on [Swiftinit](https://swiftinit.org).
44

@@ -16,7 +16,7 @@ It is theoretically possible to run Unidoc without Docker, but Docker makes it m
1616
The examples in this tutorial assume you are building Unidoc from source. However, you can also download [pre-built binaries](/Quickstart) for a select set of platforms.
1717

1818

19-
## Setting up a local database automatically
19+
## Setting up a local database automatically
2020

2121
Unidoc can set up a `mongod` instance for you automatically through the `unidoc init` command. This tool takes a directory path as an argument, which it uses to persist the state of the database. In the example below, we will create the documentation database in a directory named `unidoc` in your home directory.
2222

Guides/docs.docc/Quickstart.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Previewing documentation locally
22

3-
This guide walks through how to use the `unidoc preview` tool to preview documentation locally on macOS 15. This guide won’t make any effort to explain how Unidoc itself works, it is merely intended to demonstrate how to preview multi-package documentation as quickly as possible. For a more-detailed Linux-centric tour, see the <doc:Getting-started> guide.
3+
This guide walks through how to use the `unidoc preview` tool to preview documentation locally on macOS 15. This guide won’t make any effort to explain how Unidoc itself works, it is merely intended to demonstrate how to preview multi-package documentation as quickly as possible.
44

55
In this guide, you will:
66

@@ -13,7 +13,7 @@ In this guide, you will:
1313

1414
## 1. Install Docker
1515

16-
The easiest way by far to preview documentation locally is to use Docker. You can download Docker Desktop for macOS from the [official website](https://www.docker.com/products/docker-desktop).
16+
The easiest way to preview documentation locally is to use Docker. You can download Docker Desktop for macOS from the [official website](https://www.docker.com/products/docker-desktop).
1717

1818

1919
## 2. Install Unidoc
@@ -24,13 +24,14 @@ Today, there are two main ways to install Unidoc — building it from source or
2424

2525
Pre-built binaries are available for a limited set of platforms.
2626

27-
| Platform | String |
28-
|----------|----------|
29-
| macOS | `macOS-ARM64` |
30-
| Ubuntu | `Ubuntu-22.04-ARM64` |
31-
| Ubuntu | `Ubuntu-22.04-X64` |
32-
| Ubuntu | `Ubuntu-24.04-ARM64` |
33-
| Ubuntu | `Ubuntu-24.04-X64` |
27+
28+
| Platform | Architecture | Download |
29+
| -------- | ------------ | -------- |
30+
| macOS 15 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/macOS-ARM64/unidoc.tar.gz) |
31+
| Ubuntu 24.04 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-24.04-ARM64/unidoc.tar.gz) |
32+
| Ubuntu 24.04 | x86_64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-24.04-X64/unidoc.tar.gz) |
33+
| Ubuntu 22.04 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-22.04-ARM64/unidoc.tar.gz) |
34+
| Ubuntu 22.04 | x86_64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-22.04-X64/unidoc.tar.gz) |
3435

3536

3637
You can download and install the binary under `/usr/local/bin` like this:

Guides/docs.docc/README.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@
55
### Using Unidoc
66

77
- <doc:Quickstart>
8-
- <doc:Getting-started>
9-
- <doc:GeneratingCertificates>
108

119
### Developing Unidoc
1210

11+
- <doc:Getting-started>
12+
- <doc:GeneratingCertificates>
1313
- <doc:GeneratingSymbolGraphs>
14-
15-
### Specifications
16-
17-
- <doc:Codelinks>

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,54 @@ Unidoc powers the [Swiftinit](https://swiftinit.org) open source package index!
2323

2424
Unidoc supports Linux and macOS. Unidoc requires Swift 6.0.
2525

26+
We provide prebuilt binaries for the following platforms:
27+
28+
| Platform | Architecture | Download |
29+
| -------- | ------------ | -------- |
30+
| macOS 15 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/macOS-ARM64/unidoc.tar.gz) |
31+
| Ubuntu 24.04 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-24.04-ARM64/unidoc.tar.gz) |
32+
| Ubuntu 24.04 | x86_64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-24.04-X64/unidoc.tar.gz) |
33+
| Ubuntu 22.04 | arm64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-22.04-ARM64/unidoc.tar.gz) |
34+
| Ubuntu 22.04 | x86_64 | [tar.gz](https://download.swiftinit.org/unidoc/0.20.1/Ubuntu-22.04-X64/unidoc.tar.gz) |
35+
36+
Follow our [quickstart guide](https://swiftinit.org/docs/swift-unidoc/guides/quickstart) to learn how to set up a local Unidoc server.
37+
2638

2739
## Features
2840

41+
### ✏️ Powerful symbol links
42+
43+
Unidoc supports the [UCF](https://github.com/tayloraswift/swift-ucf) symbol link syntax — a superset of the DocC symbol link syntax — which supports [multi-component paths, cross-module references, and type signature disambiguation](https://swiftinit.org/docs/swift-ucf/help/codelinks).
44+
45+
| Syntax | Renders as |
46+
| ------ | ---------- |
47+
| ``Int.init(_:) (Float)`` | [`Int`](https://swiftinit.org/docs/swift/swift/int)[`.init(_:)`](https://swiftinit.org/docs/swift/swift/int.init(_:)?hash=2OSCB) |
48+
| ``Int.init(_:) (Double)`` | [`Int`](https://swiftinit.org/docs/swift/swift/int)[`.init(_:)`](https://swiftinit.org/docs/swift/swift/int.init(_:)?hash=8VBWO) |
49+
| ``Int/init(_:) (Double)`` | [`init(_:)`](https://swiftinit.org/docs/swift/swift/int.init(_:)?hash=8VBWO) |
50+
51+
### 🚦 Built for Continuous Integration
52+
53+
The Unidoc documentation compiler can be run in CI mode to validate documentation and fail the pipeline if documentation errors (such as broken links) are diagnosed.
54+
55+
The Unidoc compiler can diagnose *all* broken symbol links, including references to symbols in package dependencies and the standard library.
56+
57+
We provide the [swift-unidoc-action](https://github.com/tayloraswift/swift-unidoc-action) for GitHub Actions.
58+
59+
```yaml
60+
- name: Validate documentation
61+
run: |
62+
unidoc compile \
63+
--swift-toolchain $SWIFT_INSTALLATION \
64+
--ci fail-on-errors \
65+
--project-path .
66+
```
67+
68+
### ✂ Rich code snippets
69+
70+
Unidoc can render SwiftPM code snippets in documentation with linked IDE-style code references and hover-over tooltips.
71+
72+
See [swiftonserver.com](https://swiftonserver.com/realtime-mongodb-updates-with-changestreams-and-websockets/#The%20Connection%20Manager), which uses Unidoc as its rendering backend, for an example of code snippets in action.
73+
2974
### 🪶 Small archive sizes
3075
3176
Unidoc servers are designed to store versioned documentation indefinitely. To achieve this, Unidoc uses a stable binary symbol graph format that can be up to two orders of magnitude smaller than an equivalent DocC archive.

0 commit comments

Comments
 (0)