From 351e021b5d9a02ffbf2f163f404ef0bb0c91b3ab Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Thu, 19 Mar 2026 23:23:17 -0400 Subject: [PATCH 01/10] feat: add logo to assets --- assets/logo.png | Bin 0 -> 424 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/logo.png diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fb8e0bddf0034a5c995866503ed1cc1fb7262d0d GIT binary patch literal 424 zcmV;Z0ayNsP)u{&@YFDf5M~G`v zSkunX?^^%>QQXBQhyx%8{AA)`0Ek9+Hcm-&xgp7b%*lgYxd zavkqU=v8tAasfcElCu+$u*1lhNnyrJ>Kh{`(9H`epKx6td|hExt1$jEt>+RmC;9-K5R$lq SYh!!>0000 Date: Fri, 20 Mar 2026 19:32:57 -0400 Subject: [PATCH 02/10] style: add icon to README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8fd37f8..78b2bc2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# go-cuckoo +# 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. -- 2.49.1 From 9ab96db43f9f3d06723bc4cf37641dcdee39927d Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 19:50:07 -0400 Subject: [PATCH 03/10] style: use SVG instead in README.md --- README.md | 2 +- assets/logo.svg | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 assets/logo.svg diff --git a/README.md b/README.md index 78b2bc2..74fccd3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Cuckoo +# Cuckoo A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. diff --git a/assets/logo.svg b/assets/logo.svg new file mode 100644 index 0000000..2a6becd --- /dev/null +++ b/assets/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file -- 2.49.1 From 87a1d386fe9c87a4f415e85bb9675f26f5581bd7 Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 20:10:43 -0400 Subject: [PATCH 04/10] style: update logo --- README.md | 6 +++++- assets/logo.png | Bin 424 -> 418 bytes assets/logo.svg | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 74fccd3..1d6feb7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ -# Cuckoo +
+ +# Go Cuckoo + +
A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. diff --git a/assets/logo.png b/assets/logo.png index fb8e0bddf0034a5c995866503ed1cc1fb7262d0d..3fb0ab73d249b71d044d88feda9f8ff889ef0132 100644 GIT binary patch delta 392 zcmV;30eAkW1EK?vB!6j1L_t(IjopwjOF~f?h9AR8$V(R#f-7FI0ykmGn{$U&d&J{&9f0w8xpf1S%1r{_(;_X1$M@+B*Np%|^ffF* zAAnkSKo|-X0}xe!lZugZEdt-;>h1}EUhho{r|s37WgCQ{AeS_$_XaCLE@@)f2BmTn zfWY^F1z{+#Y=48CYXKf%C>ZtUbcRb>li7NL)?@}%xHvmx)Spu-H*r$24Hzv~(<(tk zg$QtZl*UQLbfaY(yjDLn1kf2SsdWbcw5PL36yP|25NXyw<*Jb03Ud=wK`K~JuzB2s mDOJKMAH629SbS+1;2S@VoqWz&g>nD@002ovPDHLkU;%R#B!6#7L_t(Ijm?p zy$AejscPO<)x7=daHsQXSF7wth-*_=)6UTETL1u2+{Gq{1Aia~{AA)`0Ek9+Hcm-&xgp7b%*lgYxdavkqU=v8tAasfcElCu+$u*1lhNnyrJ>Kh{` z(9H`eg_6`ycj sAADV5RjV-mGp*+#bZh#}`zQJUoDh<@gKJ}a00000Ne4wvM6N<$f-7IToB#j- diff --git a/assets/logo.svg b/assets/logo.svg index 2a6becd..cac05b2 100644 --- a/assets/logo.svg +++ b/assets/logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file -- 2.49.1 From c049f430acdb3ae35651a690b1a9d6b5e8ecb7fb Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 20:20:19 -0400 Subject: [PATCH 05/10] style: no center --- README.md | 4 ---- assets/logo128x128.png | Bin 0 -> 963 bytes assets/{logo.png => logo16x16.png} | Bin 3 files changed, 4 deletions(-) create mode 100644 assets/logo128x128.png rename assets/{logo.png => logo16x16.png} (100%) diff --git a/README.md b/README.md index 1d6feb7..227c609 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -
- # Go Cuckoo -
- A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. diff --git a/assets/logo128x128.png b/assets/logo128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..0c92048645008ded69c6d029daff38f0d6728ce9 GIT binary patch literal 963 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrVD9pCaSW-L^Y)ITcSxed(T~wC z&YoVvX@L`+1p5pwm~mwaHd-%Sf5Ci3*+upZWw}Zkx7gp_VQJDx+#+4z6c{3Mh^?io z<-m&E+2=g(wP~LFzrA)(`MsTTdN$|xehw1_+Jg#y#LK?;$~5QWN9#@Za^fa^4anivzNUS+swYDtc zdcS$;-g|Gd=D$C4W=m>q>DRSu>hIs3a=juy-BE7;hFyxUm+oMOYlNAx!}%S5%>4SL zm0{QJZ`qb2AAdXc68DPNmX4Y8-}m(Lp58T^`ORCM6YuLE`s|-0T=TokYu^5_)hBn& zRxV(NyB+S0GCl*N3ZHAS^Z#ePnr5@_>b*%{kMBDB@A=*x^}*NF-|w4pef|FU`2VNH z{ZCjj6*G9CgaFW#^yduObM-g*@2#y3k$eB^5BvGA)gPOC+t%dgzd!Zs!i9^A9(&tX zee%0@cg~T*;+9i?zBOB;g$U4Nn~NE~+x+^w?A_w?eEe_nU4L)cu_Nza(vH*5uRja_ z^7+TbOxxu%W=Kpf{r-QYRn>eaEa7_Y9OIme#k=}*&A$9&d{_D7$=&qdahKQMdH>zJ z^j7NY;^Ij!U%E!-&%5&5{KIan{#bXuq;^fU{=JXy&(=>1z3#sI>uyW8(3f9#p1&XU zU*+|?+U{%afA`#f$cG%AkXU&mbKu*|;$1b5Z)HZ7*KU}tyyLszsoyngOU^yq@&33B zgDZL}@O!5i9vXU8V$JT_7fV))pF6$lb+PwO%LA`>^1D9QkKJE=@BKINf?IQCzi}RU zkDl=E%zwlGAdR)i@4@c~TlE*)^1grc%bXwo_n?kDHpg{+=Un3>Z&k2FjelPJ%?ZUU uyXE&iyf?f2xBQfO|MfLqeU`-%obS}xn~z%W68Mk{$}yg Date: Fri, 20 Mar 2026 20:24:06 -0400 Subject: [PATCH 06/10] feat: add link to `pkg.go.dev` in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 227c609..ff26908 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Go Cuckoo -A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. +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). -- 2.49.1 From 1e237891e0814e711adf538513fa4a62859620aa Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 20:39:14 -0400 Subject: [PATCH 07/10] feat: add markdown lint target and job --- .gitea/workflows/ci.yml | 9 +++++++++ Makefile | 7 +++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 7bc91e1..c12887b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -39,6 +39,15 @@ jobs: - name: Run mutation tests run: make lint-makefile + lint-markdown: + name: Markdown Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Run markdown lint + run: make lint-markdown + test-unit: name: Unit Tests runs-on: ubuntu-latest 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)" -- 2.49.1 From a32681a39bbbf0378b8e779988dcc708ed06fbf3 Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 20:59:47 -0400 Subject: [PATCH 08/10] test: added markdownlint config, and bugged README --- .claude/settings.json | 7 +++++++ .markdownlint.yml | 17 +++++++++++++++++ README.md | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 .claude/settings.json create mode 100644 .markdownlint.yml 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/.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/README.md b/README.md index ff26908..0b9d031 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# Go Cuckoo +## Go Cuckoo, by `mvhutz`. Go Cuckoo 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). -- 2.49.1 From 762a868a70a1df1a6d474a1c4efb7142e4fc8fb6 Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 21:05:44 -0400 Subject: [PATCH 09/10] fix: use `DavidAnson/markdownlint-cli2-action` - Using `make lint-markdown` poses a 'Docker-in-Docker' problem, and the `markdownlint-cli2` container does not have any files that it should. - Use the dedicated `DavidAnson/markdownlint-cli2-action` GitHub action to process the test instead. --- .gitea/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index c12887b..5985296 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -45,8 +45,7 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Run markdown lint - run: make lint-markdown + - uses: DavidAnson/markdownlint-cli2-action@v19 test-unit: name: Unit Tests -- 2.49.1 From 7713d681ac2a71929e0ccbe0374fdf9e9824b057 Mon Sep 17 00:00:00 2001 From: "M.V. Hutz" Date: Fri, 20 Mar 2026 21:08:20 -0400 Subject: [PATCH 10/10] revert: fix h2 header in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b9d031..3ad99b0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -## Go Cuckoo, by `mvhutz`. Go Cuckoo +# Go Cuckoo, by `mvhutz`. Go Cuckoo 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). -- 2.49.1