Skip to content

Fix broken markdown links and add comprehensive API documentation#1694

Open
pscheid92 wants to merge 16 commits into
Humanizr:mainfrom
pscheid92:fix/broken-markdown-links
Open

Fix broken markdown links and add comprehensive API documentation#1694
pscheid92 wants to merge 16 commits into
Humanizr:mainfrom
pscheid92:fix/broken-markdown-links

Conversation

@pscheid92

Copy link
Copy Markdown

Summary

  • Fix broken links across the repo: corrected the GitHub Flow URL in CONTRIBUTING.md, fixed relative paths to CONTRIBUTING.md from docs, and repaired the prerelease NuGet
    badge link in the readme
  • Add comprehensive documentation pages covering all major Humanizer features: string transformations, date/time humanization, number conversions, enums, collections,
    ByteSize, configuration, custom vocabularies, and more
  • Add an API reference stub as an entry point for the docs

Fixes #1659

pscheid92 and others added 12 commits March 26, 2026 13:18
The old URL (http://scottchacon.com/2011/08/31/github-flow.html) no
longer resolves. Updated to the current HTTPS URL with trailing slash.
The docs linked to ../CONTRIBUTING.md but the file lives at
.github/CONTRIBUTING.md. Updated both docs/index.md and
docs/localization.md to use ../.github/CONTRIBUTING.md.
The prerelease badge was linking to the shields.io badge image URL
instead of the NuGet package page. Updated to point to
nuget.org/packages/Humanizer.
Cover the Transform method with built-in and custom IStringTransformer
implementations, and all inflector methods (Titleize, Pascalize,
Camelize, Underscore, Dasherize, Hyphenate, Kebaberize).
Cover enum Humanize with Description/Display attributes, LetterCasing,
and flags enums. Cover DehumanizeTo<T> with OnNoMatch behavior and
the non-generic overload.
Cover DateTime/DateTimeOffset/DateOnly humanization, TimeSpan
humanization with precision and ToAge, fluent date API, DateTime
to ordinal words, and TimeOnly clock notation.
Cover number to words, ordinal words, words to number, ordinalization,
Roman numerals, metric numerals, fluent number multipliers, and
tupleize.
Cover collection humanization with custom formatters and separators,
ToQuantity with ShowQuantityAs modes, and pluralization/singularization
with irregular and uncountable words.
Cover ByteSize creation, arithmetic, formatting, parsing, and
ByteRate. Cover heading conversions with abbreviated/full styles
and arrows. Cover TimeUnit symbol mappings.
Cover the Configurator class with all registries and strategy
properties. Cover custom vocabulary methods (AddPlural, AddSingular,
AddIrregular, AddUncountable) with matchEnding parameter.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes broken documentation links (including the contributing guide path and NuGet badge target) and substantially expands the /docs site with feature-focused reference pages plus an API reference landing page, addressing #1659.

Changes:

  • Fix broken markdown links (README NuGet prerelease badge; docs → contributing guide; CONTRIBUTING GitHub Flow URL).
  • Add comprehensive feature documentation pages across strings, dates/times, numbers, enums, collections, ByteSize, configuration, and extensibility.
  • Add an API reference stub page that links to the feature documentation.

Reviewed changes

Copilot reviewed 31 out of 31 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
readme.md Fix prerelease NuGet badge link target.
.github/CONTRIBUTING.md Fix GitHub Flow link URL.
docs/index.md Fix contributing guide link and ensure docs index links to new pages.
docs/localization.md Fix contributing guide link.
docs/api-reference.md Add API reference landing/stub page linking to feature docs.
docs/bytesize.md Add ByteSize feature documentation.
docs/collection-humanization.md Add collection humanization documentation.
docs/configuration.md Add Configurator/registry/strategy documentation.
docs/custom-vocabularies.md Add documentation for extending pluralization vocabularies.
docs/datetime-humanization.md Add DateTime/DateTimeOffset humanization documentation.
docs/datetime-ordinal-words.md Add DateTime/DateOnly ordinal-words documentation.
docs/enum-dehumanization.md Add enum dehumanization documentation.
docs/enum-humanization.md Add enum humanization documentation.
docs/fluent-date.md Add fluent date/time construction/manipulation documentation.
docs/heading.md Add compass heading humanization documentation.
docs/inflector-methods.md Add Pascalize/Camelize/Underscore/etc. documentation.
docs/metric-numerals.md Add metric numeral conversion/parsing documentation.
docs/number-to-numbers.md Add fluent numeric multiplier documentation.
docs/number-to-ordinal-words.md Add ordinal-words conversion documentation.
docs/number-to-words.md Add number-to-words documentation.
docs/ordinalization.md Add ordinal suffix (1st/2nd/…) documentation.
docs/pluralization.md Add pluralization documentation.
docs/roman-numerals.md Add Roman numeral conversion/parsing documentation.
docs/singularization.md Add singularization documentation.
docs/string-transformations.md Add IStringTransformer / Transform documentation.
docs/time-unit-symbols.md Add TimeUnit.ToSymbol() documentation.
docs/timeonly-clock-notation.md Add TimeOnly.ToClockNotation() documentation.
docs/timespan-humanization.md Add TimeSpan humanization documentation.
docs/to-quantity.md Add ToQuantity documentation.
docs/tupleize.md Add Tupleize documentation.
docs/words-to-number.md Add words-to-number parsing documentation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/words-to-number.md Outdated
Comment thread docs/timespan-humanization.md Outdated
Comment thread docs/timespan-humanization.md Outdated
Unrecognized words and null/empty/whitespace input both throw
ArgumentException, not FormatException or ArgumentNullException.
Match the default English resources (TimeSpanHumanize_SingleDay / SingleHour).
Default toWords=false produces numeric parts (1 Tag, 1 Stunde), not word forms.
Default toWords=false yields '1 Tag' / '1 день', not the word forms.
@pscheid92

Copy link
Copy Markdown
Author

Hello @clairernovotny, I applied the changes and also used Claude Code Opus 4.7 to check the documentation again (and applied an additional fix).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Broken links in docs

2 participants