diff --git a/.codespellrc b/.codespellrc
new file mode 100644
index 0000000..8988271
--- /dev/null
+++ b/.codespellrc
@@ -0,0 +1,8 @@
+[codespell]
+# Ref: https://github.com/codespell-project/codespell#using-a-config-file
+skip = .git,.git-meta,.gitignore,.gitattributes,package-lock.json,*.lock,*.css,*.min.*,.codespellrc,*/spec/sites/*
+check-hidden = true
+# ignore-regex =
+ignore-words-list =
+ # nd - ordinal suffix in regex patterns like (st|nd|rd|th)
+ nd
diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml
new file mode 100644
index 0000000..1ed0f27
--- /dev/null
+++ b/.github/workflows/codespell.yml
@@ -0,0 +1,23 @@
+# Codespell configuration is within .codespellrc
+---
+name: Codespell
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+
+permissions:
+ contents: read
+
+jobs:
+ codespell:
+ name: Check for spelling errors
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Codespell
+ uses: codespell-project/actions-codespell@8f01853be192eb0f849a5c7d721450e7a467c579 # v2.2
diff --git a/INSTALLATION.md b/INSTALLATION.md
index cfba99b..6750618 100644
--- a/INSTALLATION.md
+++ b/INSTALLATION.md
@@ -42,7 +42,7 @@ gem install sitediff -v '1.2.1'
## Docker
There is a `Dockerfile` in the root of the SiteDiff git repository. It uses
-the Docker offical Ruby image. Note that SiteDiff will use port `13080` for the result server. The following Docker image tags are available to be pulled.
+the Docker official Ruby image. Note that SiteDiff will use port `13080` for the result server. The following Docker image tags are available to be pulled.
* latest (master branch)
* 1.0.0
diff --git a/README.md b/README.md
index f270315..2e80b24 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@
- [ignore_whitespace](#ignore_whitespace)
- [remove_html_comments](#remove_html_comments)
- [before / after](#before--after)
- - [includes](#incudes)
+ - [includes](#includes)
- [dom_transform](#dom_transform)
- [remove](#remove)
- [strip](#strip)
diff --git a/config/sitediff.example.yaml b/config/sitediff.example.yaml
index 59c307d..13a5ad8 100644
--- a/config/sitediff.example.yaml
+++ b/config/sitediff.example.yaml
@@ -46,7 +46,7 @@ selector: 'body'
# General regular expression rules, applied to both versions of the site.
sanitization:
- # Normalize input tags containg random tokens.
+ # Normalize input tags containing random tokens.
- title: Remove form-build-id
pattern: ''
substitute: ''
diff --git a/lib/sitediff/api.rb b/lib/sitediff/api.rb
index 5010a48..8e1d9c4 100644
--- a/lib/sitediff/api.rb
+++ b/lib/sitediff/api.rb
@@ -20,7 +20,7 @@ def initialize(directory, config_file = nil)
end
##
- # Intialize a SiteDiff project.
+ # Initialize a SiteDiff project.
#
# Calling:
# SiteDiff::Api.init(