diff --git a/pages/docs/compiler.md b/pages/docs/compiler.md
index 80a9acbb5e82cf693560e8287c5db320515eb4ad..729dc9c051cba54424907573b03af903aae24eaa 100644
--- a/pages/docs/compiler.md
+++ b/pages/docs/compiler.md
@@ -13,7 +13,7 @@ Additional options are as follows.
 | `--logWrites` | No (false) | Enable logging for every sent message. |
 | `--logIncremental` | No (false) | Enable logging for observer in incremental dependency tracking. |
 | `--logTarget` | No (`console`) | Logging target to use, currently available: `console, slf4j`. |
-| `--experimental-jastadd-329` | No (false) | Use tracing events `INC_FLUSH_START` and `INC_FLUSH_END` ([JastAdd issue #329][jastadd-issue-329]), see [section about automatic dependency tracking](/using#dependency-tracking-automatically-derived). |
+| `--experimental-jastadd-329` | No (false) | Use tracing events `INC_FLUSH_START` and `INC_FLUSH_END` ([JastAdd issue #329][jastadd-issue-329]), see [section about automatic dependency tracking](using#dependency-tracking-automatically-derived). |
 | `--incremental` | No (false) | Enables incremental dependency tracking (if `tracing` is also set appropriately). |
 | `--tracing[=flush]` | No (false) | Enables incremental dependency tracking (if `incremental` is also set appropriately). |
 | `--version` | No (false) | Print version info and exit (reused JastAdd option) |
@@ -78,7 +78,7 @@ However, depending on the selected protocols and/or used features, additional de
 - Remarks:
     - Other (additional) values passed to those two options must be equal (e.g., `--incremental=param` passed to RagConnect must be also passed to JastAdd)
     - Other values besides `flush` can be added to `--tracing`
-    - [Feature description](/using#dependency-tracking-automatically-derived)
+    - [Feature description](using#dependency-tracking-automatically-derived)
 
 ### (Safer) Automatic dependency tracking
 
@@ -88,11 +88,11 @@ However, depending on the selected protocols and/or used features, additional de
 - Required options for JastAdd: _none_
 - Remarks:
     - JastAdd version has to support `INC_FLUSH_START` and `INC_FLUSH_END` (i.e., has [issue #329][jastadd-issue-329] resolved)
-    - [Feature description](/using#dependency-tracking-automatically-derived)
+    - [Feature description](using#dependency-tracking-automatically-derived)
 
 ### Tree/List Endpoints
 
-- Condition: When using `tree` or `list` endpoints along with default mappings
+- Condition: When using endpoints along with default mappings for subtrees
 - Required runtime dependencies:
     - `group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.12.1'`
     - `group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.12.1'`
@@ -100,17 +100,17 @@ However, depending on the selected protocols and/or used features, additional de
     - `--serializer=jackson`
 - Required options for JastAdd: _none_
 - Remarks:
-    - [Feature description](/using#an-advanced-example)
+    - [Feature description](using#an-advanced-example)
 
 ### Logging Target SLF4J
 
-- Condition: When using `--logTarget=slf4j` to RagConnect
+- Condition: When passing `--logTarget=slf4j` to RagConnect
 - Required runtime dependencies:
-  - `group: 'org.slf4j', name: 'slf4j-api', version: '1.7.0'`
+    - `group: 'org.slf4j', name: 'slf4j-api', version: '1.7.0'`
 - Required options for RelAST compiler: _none_
 - Required options for JastAdd: _none_
 - Remarks:
-  - Additionally, a slf4j binding is required, see [the slf4j user manual][slf4j]
+    - Additionally, a slf4j binding is required, see [the slf4j user manual][slf4j]
 
 [jastadd-issue-329]: https://bitbucket.org/jastadd/jastadd2/issues/329/add-event-for-completion-of-flush
 [slf4j]: https://www.slf4j.org/manual.html
diff --git a/pages/docs/dsl.md b/pages/docs/dsl.md
index 98ee13c4254027096b645268c693c401dadc6d10..a082c624d7e63e1c03e60a669ec9cabe64cc5e1e 100644
--- a/pages/docs/dsl.md
+++ b/pages/docs/dsl.md
@@ -115,7 +115,7 @@ A dependency definition describes a possible dependency on type-level from a tok
 Whenever the token changes, the attribute is eagerly re-computed and endpoints attached to it are triggered.
 
 Such a dependency must be added on instance-level for every token that could have an influence to the attribute.
-An alternative for those explicit dependency definitions is [incremental dependency tracking](/using#dependency-tracking-automatically-derived).
+An alternative for those explicit dependency definitions is [incremental dependency tracking](using#dependency-tracking-automatically-derived).
 
 To declare a dependency definition, use the following syntax:
 
diff --git a/pages/docs/using.md b/pages/docs/using.md
index 5854d4708679dd27af9036336d039b0d2bb3bf8f..230b266ff5629fb73e19475d902518f56936db1f 100644
--- a/pages/docs/using.md
+++ b/pages/docs/using.md
@@ -66,7 +66,7 @@ A.OutputOnA canDependOn A.Input as dependencyA ;
 
 ## Using generated code
 
-After specifying everything, code will be generated if [setup properly](/adding).
+After specifying everything, code will be generated if [setup properly](adding).
 Let's create an AST in some driver code:
 
 ```java
@@ -87,7 +87,7 @@ a.addDependencyA(a);
 ```
 
 Finally, we can actually _connect_ the tokens.
-Depending on the enabled protocols, [different URI schemes are allowed](/compiler#communication-protocol-characteristics).
+Depending on the enabled protocols, [different URI schemes are allowed](compiler#communication-protocol-characteristics).
 In this example, we use the default protocol: MQTT.
 
 ```java
@@ -156,7 +156,7 @@ receive ReceiverRoot.A ;
 
 To process non-terminals, default mappings are provided for every non-terminal type of the used grammar.
 They use the JSON serialization offered by the RelAST compiler, i.e., interpret the message as a `String`, deserialize the content reading the message as JSON, or vice versa.
-Additional dependencies are required to use this feature, as detailed in [the compiler section](/compiler#treelist-endpoints).
+Additional dependencies are required to use this feature, as detailed in [the compiler section](compiler#treelist-endpoints).
 
 ## Receiving List Children
 
@@ -169,7 +169,7 @@ SenderRoot ::= /AList:A*/ /SingleA:A/;
 ReceiverRoot ::= A* ;
 ```
 
-Several options are possible (please also refer to the specification of the [connect DSL](/dsl):
+Several options are possible (please also refer to the specification of the [connect DSL](dsl):
 
 ### (empty)
 
@@ -247,7 +247,7 @@ assertEquals(receiverRoot.getAList(), list("1", "other", "new"));
 
 ## Using attributes as endpoint targets
 
-As described in the [DSL specification](/dsl), attributes can be used as endpoint targets.
+As described in the [DSL specification](dsl), attributes can be used as endpoint targets.
 They can only be used in send endpoints, and the return type of the attribute must be specified in the connect specification (because aspect files are not handled completely yet).
 
 Currently, synthesized, inherited, collection, and circular attributes are supported.