šŸ“ Highlight and fix possible encoding issues in web typography
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commitā€¦
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitattributes
Default.sublime-commands
License.md
Readme.md
hypertext_typographer.py
hypertext_typographer.sublime-settings

Readme.md

Hypertext Typographer

For Sublime Text 2.

Highlight typographical errors in HTML and fix them in a flash.

Copywriters and clients use Microsoft Word to compose copy for websites. This is a sad but unavoidable fact of life. This Sublime Text 2 plugin is intended to detect such errors in realtime, and allow easy replacement of the most common special characters inserted by rich text editors.

The intent is not to function as a dumb html_escape function, nor is it to replace or enhance the built-in HTML syntax error highlighting. It is instead intended to stop only the frustrating and difficult to spot typographical issues in their tracks.

What is detected?

  • "Smart" or "Typographers'" quotes (ā€œ, ā€, ā€˜, ā€™)
  • Horizontal Ellipses (ā€¦)
  • Dashes (ā€’, ā€“, ā€”, ā€•)
  • Fractions (Ā½, Ā¼, Ā¾)

What is not detected?

As this is intended for detecting issues within copy, specifically, several characters which you should usually be escaping or replacing with character entities are not highlighted or replaced by Hypertext Typographer by default.

  • Ampersands (&)
  • Standard Quotes (", ')
  • Greater Than (>) and Less Than (<) signs.

The reason behind this is that the highlighting logic is blunt; it matches any of these characters in HTML and HTML-like files without context sensitivity, and because generally your syntax highlighting will show these anyway.

You can always add these to your configuration file, or any other replacements you wish to include.

Installation

Package Control (Recommended)

  1. Install Sublime Package Control.
  2. Run Package Control: Install Package from the Command Palette
  3. Find and install the Hypertext Typographer plugin

Manually

Go to your Packages subdirectory under ST2's data directory:

  • Windows: %APPDATA%\Sublime Text 2
  • OS X: ~/Library/Application Support/Sublime Text 2
  • Linux: ~/.config/sublime-text-2
  • Portable Installation: Sublime Text 2/Data

Then clone this repository:

git clone https://github.com/grapegravity/HypertextTypographer.git

That's it!

Options

Several options are available to customise the behaviour and appearance. The config keys are in the config files accessible through the "Preferences" menu.

Bind the escape command to a shortcut

In order to use the escape feature, one must add the mapping by hand (this should go into "Key Bindings - User"):

{
	"keys": ["ctrl+shift+t"],
	"command": "escape_typography"
}

Here, pressing Ctrl + Shift + T will replace any invalid HTML typography detected with plan alternatives.

If you want full XML escaping, you can instead use:

{
	"keys": ["ctrl+shift+t"],
	"command": "escape_typography",
	"args": {
		"mode": "escape"
	}
}

Change the highlighting color

One may also change the highlighting color, providing a scope name such as "invalid", "comment"... in "File Settings - User":

{ "hypertext_typographer_highlight_color": "invalid" }

Actually, "invalid" is the default value. If you'd like to use a custom color, it should be defined as a color scope in your theme file.

Disabling highlighting for large files

Highlighting may be disabled for large files. The default threshold is around 1M chars. This is configurable (in "File Settings - User"); unit is number of chars:

{
	"hypertext_typographer_file_max_size": 1000
}

Even though the typographical issues are not highlighted, one can still use either replacement command as normal.

Acknowledgements

This is based upon Trailing Spaces by Jean-Denis Vauguet.