diff --git a/.claude/settings.json b/.claude/settings.json
new file mode 100644
index 0000000..dca3cde
--- /dev/null
+++ b/.claude/settings.json
@@ -0,0 +1,7 @@
+{
+ "permissions": {
+ "allow": [
+ "Bash(curl -s -w \"\\\\n---HTTP_STATUS:%{http_code}---\" https://raw.githubusercontent.com/kubernetes/kubernetes/master/.markdownlint.yaml)"
+ ]
+ }
+}
diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml
index 7bc91e1..5985296 100644
--- a/.gitea/workflows/ci.yml
+++ b/.gitea/workflows/ci.yml
@@ -39,6 +39,14 @@ jobs:
- name: Run mutation tests
run: make lint-makefile
+ lint-markdown:
+ name: Markdown Lint
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+
+ - uses: DavidAnson/markdownlint-cli2-action@v19
+
test-unit:
name: Unit Tests
runs-on: ubuntu-latest
diff --git a/.markdownlint.yml b/.markdownlint.yml
new file mode 100644
index 0000000..f15868f
--- /dev/null
+++ b/.markdownlint.yml
@@ -0,0 +1,17 @@
+default: true
+heading-style:
+ style: atx
+ul-indent:
+ indent: 2
+line-length: false
+no-duplicate-heading:
+ siblings_only: true
+no-inline-html:
+ allowed_elements:
+ - br
+ - details
+ - summary
+ - img
+ - picture
+ - source
+first-line-heading: true
diff --git a/Makefile b/Makefile
index 2ea9847..bfd252d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-.PHONY: all help install clean test-unit test-mutation test-fuzz test docs lint-go lint-makefile lint
+.PHONY: all help install clean test-unit test-mutation test-fuzz test docs lint-go lint-makefile lint-markdown lint
help: ## Show this help
@grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | awk -F ':.*## ' '{printf " %-15s %s\n", $$1, $$2}'
@@ -32,7 +32,10 @@ lint-go: ## Lint Go code
lint-makefile: ## Lint the Makefile
checkmake Makefile
-lint: lint-go lint-makefile ## Lint all code
+lint-markdown: ## Lint Markdown files
+ docker run --rm -v $(CURDIR):/workdir davidanson/markdownlint-cli2 "**/*.md"
+
+lint: lint-go lint-makefile lint-markdown ## Lint all code
docs: ## Serve godoc locally
@echo ">>> Visit: http://localhost:6060/pkg/$$(go list -m)"
diff --git a/README.md b/README.md
index 8fd37f8..3ad99b0 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,3 @@
-# go-cuckoo
+#
Go Cuckoo
-A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time.
\ No newline at end of file
+A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. Read more about it in [the package documentation](https://pkg.go.dev/git.maximhutz.com/tools/go-cuckoo).
diff --git a/assets/logo.svg b/assets/logo.svg
new file mode 100644
index 0000000..cac05b2
--- /dev/null
+++ b/assets/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/logo128x128.png b/assets/logo128x128.png
new file mode 100644
index 0000000..0c92048
Binary files /dev/null and b/assets/logo128x128.png differ
diff --git a/assets/logo16x16.png b/assets/logo16x16.png
new file mode 100644
index 0000000..3fb0ab7
Binary files /dev/null and b/assets/logo16x16.png differ