Skip to content

Commit fec7be9

Browse files
intro: update link and page references
1 parent 91b2e41 commit fec7be9

File tree

2 files changed

+36
-32
lines changed

2 files changed

+36
-32
lines changed

docs/introduction/learning-path.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Practice writing and evaluating Clojure code using [:fontawesome-solid-book-open
3232

3333
Take a quick look at the Syntax of Clojure. The syntax is very small, so this will take about 15 minutes to 1 hour (dependent on your own experiences with coding). Don't try to remember all the syntax and functions, they will come through practise.
3434

35-
- eg. [:fontawesome-solid-book-open: Clojure in 15 minutes](clojure-in-15-minutes.md)
35+
- eg. [:fontawesome-solid-book-open: Clojure in 15 minutes](./clojure-in-15-minutes.md)
3636

3737

3838
## REPL Connected Editor
@@ -62,9 +62,9 @@ Gain an appreciation that a software system should strive for a simple design is
6262

6363
Spend an hour watching the author of the Clojure Language, [:globe_with_meridians: Rich Hickey, talk about Simple made Easy](https://www.infoq.com/presentations/Simple-Made-Easy) or read the ([:globe_with_meridians: transcript of talk](https://github.com/matthiasn/talk-transcripts/blob/master/Hickey_Rich/SimpleMadeEasy.md)) to emerse in the foundational concepts of Clojure.
6464

65-
Review the [:fontawesome-solid-book-open: Clojure Big Ideas](concepts/) presented by Stuart Halloway and further [:fontawesome-solid-book-open: video presentations by Rich Hickey](concepts/clojure-from-the-author.md){target=_blank .mkdocs-button}.
65+
Review the [:fontawesome-solid-book-open: Clojure Big Ideas](./concepts/) presented by Stuart Halloway and further [:fontawesome-solid-book-open: video presentations by Rich Hickey](./concepts/clojure-from-the-author.md){target=_blank .mkdocs-button}.
6666

67-
[:fontawesome-solid-book-open: Rich Hickey video lecture series](concepts/clojure-from-the-author.md){target=_blank .mkdocs-button}
67+
[:fontawesome-solid-book-open: Rich Hickey video lecture series](./concepts/clojure-from-the-author.md){target=_blank .mkdocs-button}
6868

6969

7070
## Practice Practice Practice

docs/introduction/repl-workflow.md

+33-29
Original file line numberDiff line numberDiff line change
@@ -70,20 +70,23 @@ Expressions in rich comment blocks can represent how to use the functions that m
7070
) ; End of rich comment block
7171
```
7272

73-
Rich comment blocks are very useful for rapidly iterating over different design decisions by including the same function but with different implementations. Hide [clj-kondo linter](https://practical.li/clojure/clojure-cli/install/code-analysis.html){target=_blank} warnings for redefined vars (`def`, `defn`) when using this approach.
73+
Rich comment blocks are very useful for rapidly iterating over different design decisions by including the same function but with different implementations.
7474

75-
```clojure
76-
;; Rich comment block with redefined vars ignored
77-
#_{:clj-kondo/ignore [:redefined-var]}
78-
(comment
79-
(defn value-added-tax []
80-
;; algorithm design - first idea)
75+
Hide [clj-kondo linter](https://practical.li/clojure/reference/code-analysis/){target=_blank} warnings for redefined vars (`def`, `defn`) when using this approach.
8176

82-
(defn value-added-tax []
83-
;; algorithm design - second idea)
77+
!!! EXAMPLE ""
78+
```clojure
79+
;; Rich comment block with redefined vars ignored
80+
#_{:clj-kondo/ignore [:redefined-var]}
81+
(comment
82+
(defn value-added-tax []
83+
;; algorithm design - first idea)
84+
85+
(defn value-added-tax []
86+
;; algorithm design - second idea)
8487

85-
) ;; End of rich comment block
86-
```
88+
) ;; End of rich comment block
89+
```
8790

8891
The "Rich" in the name is an honourary mention to Rich Hickey, the author and benevolent dictator of Clojure design.
8992

@@ -113,15 +116,15 @@ Pretty print shows the structure of results from function calls in a human-frien
113116
Tools to view and navigate code
114117

115118
* [:fontawesome-solid-book-open: Cider inspector](https://practical.li/spacemacs/evaluating-clojure/inspect/){target=_blank} is an effective way to navigate nested data and page through large data sets.
116-
* [:fontawesome-solid-book-open: Portal Inspector](https://practical.li/clojure/clojure-tools/data-inspector/portal){target=_blank} to visualise many kinds of data in many different forms.
119+
* [:fontawesome-solid-book-open: Portal Inspector](https://practical.li/clojure/data-inspector/portal){target=_blank} to visualise many kinds of data in many different forms.
117120

118121
![Portal - view and navigate Clojure data and event logs](https://raw.githubusercontent.com/practicalli/graphic-design/live/portal/portal-data-browser-example.png)
119122

120123
## Code Style and idiomatic Clojure
121124

122125
Clojure aware editors should automatically apply formatting that follows the [:globe_with_meridians: Clojure Style guide](https://github.com/bbatsov/clojure-style-guide){target=_blank}.
123126

124-
Live linting with [clj-kondo](:fontawesome-brands-github: <https://github.com/borkdude/clj-kondo){target=_blank>} suggests common idioms and highlights a wide range of syntax errors as code is written, minimizing bugs and therefore speeding up the development process.
127+
Live linting with [:fontawesome-brands-github: clj-kondo](https://github.com/borkdude/clj-kondo){target=_blank} suggests common idioms and highlights a wide range of syntax errors as code is written, minimizing bugs and therefore speeding up the development process.
125128

126129
![Clojure code static analysis for live linting](https://raw.githubusercontent.com/practicalli/graphic-design/live/spacemacs/screenshots/spacemacs-clojure-live-linting-flycheck-errors-light.png#only-light)
127130
![Clojure code static analysis for live linting](https://raw.githubusercontent.com/practicalli/graphic-design/live/spacemacs/screenshots/spacemacs-clojure-live-linting-flycheck-errors-dark.png#only-dark)
@@ -140,22 +143,23 @@ Live linting with [clj-kondo](:fontawesome-brands-github: <https://github.com/bo
140143

141144
As data structures are identified in REPL experiments, create data specification to validate the keys and value types of that data.
142145

143-
```clojure
144-
;; ---------------------------------------------------
145-
;; Address specifications
146-
(spec/def ::house-number string?)
147-
(spec/def ::street string?)
148-
(spec/def ::postal-code string?)
149-
(spec/def ::city string?)
150-
(spec/def ::country string?)
151-
(spec/def ::additional string?)
152-
153-
(spec/def ::address ; Composite data specification
154-
(spec/keys
155-
:req-un [::street ::postal-code ::city ::country]
156-
:opt-un [::house-number ::additional]))
157-
;; ---------------------------------------------------
158-
```
146+
!!! EXAMPLE ""
147+
```clojure
148+
;; ---------------------------------------------------
149+
;; Address specifications
150+
(spec/def ::house-number string?)
151+
(spec/def ::street string?)
152+
(spec/def ::postal-code string?)
153+
(spec/def ::city string?)
154+
(spec/def ::country string?)
155+
(spec/def ::additional string?)
156+
157+
(spec/def ::address ; Composite data specification
158+
(spec/keys
159+
:req-un [::street ::postal-code ::city ::country]
160+
:opt-un [::house-number ::additional]))
161+
;; ---------------------------------------------------
162+
```
159163

160164
As the public API is designed, specifications for each functions arguments are added to validate the correct data is used when calling those functions.
161165

0 commit comments

Comments
 (0)