A collection of simple command-line utilities to extract strings and comments from source code
JavaScript C#

README.md

StringExtractors

A collection of simple command-line utilities to extract text, strings, and comments from various file types. Results are written to standard output where they can be redirected to a file and (for example) spell-checked. Wildcards are supported; errors abort the process.

C#: CSharpStringExtractor

Runs on .NET. Dependencies via NuGet. Roslyn for parsing. Wildcard matching includes subdirectories.

C:\StringExtractors\CSharpStringExtractor>NuGet restore -SolutionDirectory .
Installing 'Microsoft.Bcl.Metadata 1.0.9-alpha'...

C:\StringExtractors\CSharpStringExtractor>MSBuild
Build succeeded...

C:\StringExtractors\CSharpStringExtractor>bin\Debug\CSharpStringExtractor *.cs
[Extracted strings and comments]

HTML: HtmlStringExtractor

Runs on Node.js. Dependencies via npm. htmlparser2 for parsing, glob for globbing, and request for web access. Wildcard matching includes subdirectories when ** is used. Pass a URL to extract strings from the web.

C:\StringExtractors\HtmlStringExtractor>npm install
npm http GET https://registry.npmjs.org/htmlparser2...

C:\StringExtractors\HtmlStringExtractor>node HtmlStringExtractor.js *.htm
[Extracted text, attribute values, and comments]

C:\StringExtractors\HtmlStringExtractor>node HtmlStringExtractor.js http://example.com/page.html
[Extracted text, attribute values, and comments]

Note: HtmlStringExtractor can also be used with HTML-like formats such as XML, ASPX, and PHP.

JavaScript: JavaScriptStringExtractor

Runs on Node.js. Dependencies via npm. Esprima for parsing and glob for globbing. Wildcard matching includes subdirectories when ** is used.

C:\StringExtractors\JavaScriptStringExtractor>npm install
npm http GET https://registry.npmjs.org/esprima...

C:\StringExtractors\JavaScriptStringExtractor>node JavaScriptStringExtractor.js *.js
[Extracted strings and comments]

XML

See HtmlStringExtractor

License

MIT