diff --git a/README.md b/README.md
index f9cfe5d..3af55d7 100644
--- a/README.md
+++ b/README.md
@@ -1,14 +1,20 @@
# Talk Gooder
+![PyPI - License](https://img.shields.io/pypi/l/talkgooder?color=blue)
+![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/brianwarner/talkgooder/pre-release.yml?label=Build%20and%20test)
+![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/brianwarner/talkgooder/release.yml?label=Publish%20to%20PyPI)
+![PyPI - Downloads](https://img.shields.io/pypi/dm/talkgooder)
+
`talkgooder` attempts to smooth out grammar, punctuation, and number-related corner cases when formatting text for human consumption. It is intended for applications where you know there's a noun and are trying to generate text, but you don't know much about it.
It handles:
-* Plurals
-* Possessives
-* Numbers to words
-* "There is" vs. "There are"
-* "A" vs. "An"
+* Plurals: "one cat" vs. "zero cats"
+* Possessives: "the cat's toy" vs. "both cats' toys"
+* Numbers to words: 2 == "two", 16 == 16
+* "There is" vs. "There are": "There is one cat" vs. "There are two cats"
+* "A" vs. "An": "A cat" vs. "An orange cat"
+* "Was" vs. "Were": "There was one cat" vs. "There were two cats"
``talkgooder`` is currently specific to American English, but it is extensible to other languages.
diff --git a/docs/.buildinfo b/docs/.buildinfo
index 71bc819..f8dfc89 100644
--- a/docs/.buildinfo
+++ b/docs/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 84312769acdb3225cceb4714f4036a2f
+config: 9d9755ef37820184fe52322f4c5eb4ae
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/.buildinfo.bak b/docs/.buildinfo.bak
index fe4f022..71bc819 100644
--- a/docs/.buildinfo.bak
+++ b/docs/.buildinfo.bak
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: c275350ed3fba61546b0b0ef51753182
+config: 84312769acdb3225cceb4714f4036a2f
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/docs/_modules/index.html b/docs/_modules/index.html
index 062f33c..5a27cb8 100644
--- a/docs/_modules/index.html
+++ b/docs/_modules/index.html
@@ -5,14 +5,14 @@
- Overview: module code — talkGooder 0.0.post1.dev1+gbbb2af3 documentation
+ Overview: module code — talkGooder 1.1.0.post1.dev1+g2d50de4.d20241124 documentation
-
+
diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt
index d7a60a3..625ffed 100644
--- a/docs/_sources/index.rst.txt
+++ b/docs/_sources/index.rst.txt
@@ -22,6 +22,7 @@ Functions
talkgooder.num2word :no-index:
talkgooder.plural :no-index:
talkgooder.possessive :no-index:
+ talkgooder.wasWere :no-index:
-----
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index 78712ab..0b4eaa7 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '0.0.post1.dev1+gbbb2af3',
+ VERSION: '1.1.0.post1.dev1+g2d50de4.d20241124',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/docs/genindex.html b/docs/genindex.html
index bcfcf68..6b31f71 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -5,14 +5,14 @@
- Index — talkGooder 0.0.post1.dev1+gbbb2af3 documentation
+ Index — talkGooder 1.1.0.post1.dev1+g2d50de4.d20241124 documentation
-
+
diff --git a/docs/index.html b/docs/index.html
index c27ae1f..8702a3e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -6,14 +6,14 @@
- talkGooder documentation — talkGooder 0.0.post1.dev1+gbbb2af3 documentation
+ talkGooder documentation — talkGooder 1.1.0.post1.dev1+g2d50de4.d20241124 documentation
-
+
@@ -87,14 +87,19 @@
talkGooder documentation
Talk Gooder
+
+
+
+
talkgooder
attempts to smooth out grammar, punctuation, and number-related corner cases when formatting text for human consumption. It is intended for applications where you know there’s a noun and are trying to generate text, but you don’t know much about it.
It handles:
-Plurals
-Possessives
-Numbers to words
-“There is” vs. “There are”
-“A” vs. “An”
+Plurals: “one cat” vs. “zero cats”
+Possessives: “the cat’s toy” vs. “both cats’ toys”
+Numbers to words: 2 == “two”, 16 == 16
+“There is” vs. “There are”: “There is one cat” vs. “There are two cats”
+“A” vs. “An”: “A cat” vs. “An orange cat”
+“Was” vs. “Were”: “There was one cat” vs. “There were two cats”
talkgooder
is currently specific to American English, but it is extensible to other languages.
Contributions are welcome at github.com/brianwarner/talkgooder !
@@ -118,6 +123,9 @@ Functionstalkgooder.possessive
Convert a noun to its possessive, because apostrophes can be hard.
+talkgooder.wasWere
+Given a quanity, determine if article should be ws
or were
.
+
diff --git a/docs/objects.inv b/docs/objects.inv
index f3f8468..8690110 100644
--- a/docs/objects.inv
+++ b/docs/objects.inv
@@ -1,6 +1,6 @@
# Sphinx inventory version 2
# Project: talkGooder
-# Version: 0.0.post1.dev1+gbbb2af3
+# Version: 1.1.0.post1.dev1+g2d50de4.d20241124
# The remainder of this file is compressed using zlib.
xڍ0F>Mt-G6&`b\%y{)
ƄnZ&R5}(jT-Pb?pr酻t5F5Ni-i&qeS?1sŵ/(`7@Sґ?/U>5(-Ȱ?=àY{[
Z.\Bf%7^s[
\ No newline at end of file
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index 7b6b591..31d3ef6 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -5,14 +5,14 @@
- Python Module Index — talkGooder 0.0.post1.dev1+gbbb2af3 documentation
+ Python Module Index — talkGooder 1.1.0.post1.dev1+g2d50de4.d20241124 documentation
-
+
diff --git a/docs/search.html b/docs/search.html
index 725b72f..c630e79 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -5,7 +5,7 @@
- Search — talkGooder 0.0.post1.dev1+gbbb2af3 documentation
+ Search — talkGooder 1.1.0.post1.dev1+g2d50de4.d20241124 documentation
@@ -13,7 +13,7 @@
-
+
diff --git a/docs/searchindex.js b/docs/searchindex.js
index 3603d57..e763f05 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"Functions": [[0, "functions"]], "Talk Gooder": [[0, "talk-gooder"]], "talkGooder documentation": [[0, null]]}, "docnames": ["index"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst"], "indexentries": {"aan() (in module talkgooder)": [[0, "talkgooder.aAn", false]], "isare() (in module talkgooder)": [[0, "talkgooder.isAre", false]], "module": [[0, "module-talkgooder", false]], "num2word() (in module talkgooder)": [[0, "talkgooder.num2word", false]], "plural() (in module talkgooder)": [[0, "talkgooder.plural", false]], "possessive() (in module talkgooder)": [[0, "talkgooder.possessive", false]], "talkgooder": [[0, "module-talkgooder", false]], "waswere() (in module talkgooder)": [[0, "talkgooder.wasWere", false]]}, "objects": {"": [[0, 0, 0, "-", "talkgooder"]], "talkgooder": [[0, 1, 1, "", "aAn"], [0, 1, 1, "", "isAre"], [0, 1, 1, "", "num2word"], [0, 1, 1, "", "plural"], [0, 1, 1, "", "possessive"], [0, 1, 1, "", "wasWere"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:function"}, "terms": {"": 0, "0": 0, "1": 0, "2": 0, "9": 0, "A": 0, "For": 0, "It": 0, "The": 0, "There": 0, "aan": 0, "about": 0, "accommod": 0, "addit": 0, "addl_irregular": 0, "addl_sam": 0, "addl_special_": 0, "alwai": 0, "american": 0, "an": 0, "apa": 0, "apostroph": 0, "appli": 0, "applic": 0, "appropri": 0, "ar": 0, "articl": 0, "attempt": 0, "becaus": 0, "begin": 0, "between": 0, "brianwarn": 0, "can": 0, "caps_mod": 0, "case": 0, "cat": 0, "com": 0, "complic": 0, "consist": 0, "consumpt": 0, "contribut": 0, "convert": 0, "corner": 0, "current": 0, "default": 0, "depend": 0, "determin": 0, "dict": 0, "digit": 0, "don": 0, "e": 0, "els": 0, "en": 0, "end": 0, "english": 0, "equival": 0, "everyth": 0, "exampl": 0, "except": 0, "expand": 0, "extens": 0, "float": 0, "forc": 0, "form": 0, "format": 0, "g": 0, "gener": 0, "github": 0, "given": 0, "grammar": 0, "handl": 0, "hard": 0, "hello": 0, "human": 0, "i": 0, "infer": 0, "int": 0, "integ": 0, "intend": 0, "irregular": 0, "isar": 0, "item": 0, "its": 0, "know": 0, "languag": 0, "like": 0, "list": 0, "local": 0, "lower": 0, "made": 0, "manual": 0, "mice": 0, "most": 0, "mous": 0, "much": 0, "must": 0, "noun": 0, "num2word": 0, "number": 0, "odd": 0, "one": 0, "other": 0, "out": 0, "pair": 0, "paramet": 0, "peopl": 0, "per": 0, "person": 0, "piano": 0, "plural": 0, "possess": 0, "provid": 0, "punctuat": 0, "quaniti": 0, "quantiti": 0, "rais": 0, "reason": 0, "relat": 0, "repres": 0, "return": 0, "rule": 0, "same": 0, "should": 0, "singular": 0, "situat": 0, "smooth": 0, "so": 0, "soft": 0, "sourc": 0, "specif": 0, "specifi": 0, "str": 0, "string": 0, "style": 0, "suffix": 0, "suppli": 0, "support": 0, "t": 0, "text": 0, "thi": 0, "try": 0, "two": 0, "type": 0, "typeerror": 0, "u": 0, "upon": 0, "upper": 0, "us": 0, "user": 0, "v": 0, "valueerror": 0, "vowel": 0, "w": 0, "wa": 0, "waswer": 0, "welcom": 0, "were": 0, "when": 0, "where": 0, "whether": 0, "which": 0, "word": 0, "written": 0, "you": 0}, "titles": ["talkGooder documentation"], "titleterms": {"document": 0, "function": 0, "gooder": 0, "talk": 0, "talkgood": 0}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"Functions": [[0, "functions"]], "Talk Gooder": [[0, "talk-gooder"]], "talkGooder documentation": [[0, null]]}, "docnames": ["index"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst"], "indexentries": {"aan() (in module talkgooder)": [[0, "talkgooder.aAn", false]], "isare() (in module talkgooder)": [[0, "talkgooder.isAre", false]], "module": [[0, "module-talkgooder", false]], "num2word() (in module talkgooder)": [[0, "talkgooder.num2word", false]], "plural() (in module talkgooder)": [[0, "talkgooder.plural", false]], "possessive() (in module talkgooder)": [[0, "talkgooder.possessive", false]], "talkgooder": [[0, "module-talkgooder", false]], "waswere() (in module talkgooder)": [[0, "talkgooder.wasWere", false]]}, "objects": {"": [[0, 0, 0, "-", "talkgooder"]], "talkgooder": [[0, 1, 1, "", "aAn"], [0, 1, 1, "", "isAre"], [0, 1, 1, "", "num2word"], [0, 1, 1, "", "plural"], [0, 1, 1, "", "possessive"], [0, 1, 1, "", "wasWere"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:function"}, "terms": {"": 0, "0": 0, "1": 0, "16": 0, "2": 0, "9": 0, "A": 0, "For": 0, "It": 0, "The": 0, "There": 0, "aan": 0, "about": 0, "accommod": 0, "addit": 0, "addl_irregular": 0, "addl_sam": 0, "addl_special_": 0, "alwai": 0, "american": 0, "an": 0, "apa": 0, "apostroph": 0, "appli": 0, "applic": 0, "appropri": 0, "ar": 0, "articl": 0, "attempt": 0, "becaus": 0, "begin": 0, "between": 0, "both": 0, "brianwarn": 0, "can": 0, "caps_mod": 0, "case": 0, "cat": 0, "com": 0, "complic": 0, "consist": 0, "consumpt": 0, "contribut": 0, "convert": 0, "corner": 0, "current": 0, "default": 0, "depend": 0, "determin": 0, "dict": 0, "digit": 0, "don": 0, "e": 0, "els": 0, "en": 0, "end": 0, "english": 0, "equival": 0, "everyth": 0, "exampl": 0, "except": 0, "expand": 0, "extens": 0, "float": 0, "forc": 0, "form": 0, "format": 0, "g": 0, "gener": 0, "github": 0, "given": 0, "grammar": 0, "handl": 0, "hard": 0, "hello": 0, "human": 0, "i": 0, "infer": 0, "int": 0, "integ": 0, "intend": 0, "irregular": 0, "isar": 0, "item": 0, "its": 0, "know": 0, "languag": 0, "like": 0, "list": 0, "local": 0, "lower": 0, "made": 0, "manual": 0, "mice": 0, "most": 0, "mous": 0, "much": 0, "must": 0, "noun": 0, "num2word": 0, "number": 0, "odd": 0, "one": 0, "orang": 0, "other": 0, "out": 0, "pair": 0, "paramet": 0, "peopl": 0, "per": 0, "person": 0, "piano": 0, "plural": 0, "possess": 0, "provid": 0, "punctuat": 0, "quaniti": 0, "quantiti": 0, "rais": 0, "reason": 0, "relat": 0, "repres": 0, "return": 0, "rule": 0, "same": 0, "should": 0, "singular": 0, "situat": 0, "smooth": 0, "so": 0, "soft": 0, "sourc": 0, "specif": 0, "specifi": 0, "str": 0, "string": 0, "style": 0, "suffix": 0, "suppli": 0, "support": 0, "t": 0, "text": 0, "thi": 0, "toi": 0, "try": 0, "two": 0, "type": 0, "typeerror": 0, "u": 0, "upon": 0, "upper": 0, "us": 0, "user": 0, "v": 0, "valueerror": 0, "vowel": 0, "w": 0, "wa": 0, "waswer": 0, "welcom": 0, "were": 0, "when": 0, "where": 0, "whether": 0, "which": 0, "word": 0, "written": 0, "you": 0, "zero": 0}, "titles": ["talkGooder documentation"], "titleterms": {"document": 0, "function": 0, "gooder": 0, "talk": 0, "talkgood": 0}})
\ No newline at end of file
diff --git a/docsrc/index.rst b/docsrc/index.rst
index d7a60a3..625ffed 100644
--- a/docsrc/index.rst
+++ b/docsrc/index.rst
@@ -22,6 +22,7 @@ Functions
talkgooder.num2word :no-index:
talkgooder.plural :no-index:
talkgooder.possessive :no-index:
+ talkgooder.wasWere :no-index:
-----