
s2k
Write Better with Vale: Is is possible to copy & paste code from the epub version without invisible characters?
Context
Hardware & OS:
OS: macOS Tahoe 26.0 arm64
Host: MacBook Pro
Observation
One of the code snippets as seen in epub is this:
When I mark the code and copy it into a text editor, I get
“ StylesPath = ../styles MinAlertLevel = suggestion [*.html] BasedOnStyles = Vale Vale.Spelling = error”
Excerpt From
Write Better with Vale
Brian P. Hogan
This material may be protected by copyright.
…and that’s fine. Removing the lower part and reformatting the part in the double quotes is easy enough. After doing that, I’m left with:
StylesPath = ../styles
MinAlertLevel = suggestion
[*.html]
BasedOnStyles = Vale
Vale.Spelling = error
This looks good, but alas it isn’t: Running vale .
in (an empty) folder containing only this ini file, I get:
> vale .
E100 [NewE201] Runtime error
The path ‘/Users/stephan/dev/vale_example_project/../styles’ does not exist.
Execution stopped with code 1.
It took me a while to find the issue.
Using cat
on the file doesn’t show anything suspecting:
> cat .vale.ini
StylesPath = ../styles
MinAlertLevel = suggestion
[*.html]
BasedOnStyles = Vale
Vale.Spelling = error
Dumping the file to show the characters and hex codes, I get this:
> fd -w16 .vale.ini
.vale.ini
53 74 79 6c 65 73 50 61 74 68 20 3d 20 e2 80 8b | S t y l e s P a t h ␠ = ␠
2e 2e 2f 73 74 79 6c 65 73 e2 80 8b e2 80 8b 0a | . . / s t y l e s ␊
4d 69 6e 41 6c 65 72 74 4c 65 76 65 6c 20 3d 20 | M i n A l e r t L e v e l ␠ = ␠
e2 80 8b 73 75 67 67 65 73 74 69 6f 6e e2 80 8b | s u g g e s t i o n
e2 80 8b 0a 0a 5b 2a 2e 68 74 6d 6c 5d e2 80 8b | ␊ ␊ [ * . h t m l ]
e2 80 8b 0a 42 61 73 65 64 4f 6e 53 74 79 6c 65 | ␊ B a s e d O n S t y l e
73 20 3d 20 e2 80 8b 56 61 6c 65 e2 80 8b | s ␠ = ␠ V a l e
e2 80 8b 0a 56 61 6c 65 2e 53 70 65 6c 6c 69 6e | ␊ V a l e . S p e l l i n
67 20 3d 20 e2 80 8b 65 72 72 6f 72 e2 80 8b 0a | g ␠ = ␠ e r r o r ␊
(fd
is for ‘file dump’, a Ruby tool I wrote [and available at https://github.com/s2k/fd\])
Aha! There are sequences of e2 80 8b
that vale
can’t cope with.
Now, this sequence (in UTF-8) is a ‘zero width space’ (→ U+200B ZERO WIDTH SPACE: – Unicode – Codepoints ) which also explains why it’s not visible.
My question is: Is it possible to not put this zero-width-space in the copied code snippet (or not in the epub file)?
Cheers
Stephan
Popular Pragmatic Bookshelf topics










Other popular topics










Categories:
Sub Categories:
Popular Portals
- /elixir
- /rust
- /wasm
- /ruby
- /erlang
- /phoenix
- /keyboards
- /rails
- /js
- /python
- /security
- /go
- /swift
- /vim
- /clojure
- /emacs
- /haskell
- /java
- /onivim
- /typescript
- /svelte
- /kotlin
- /crystal
- /c-plus-plus
- /tailwind
- /react
- /gleam
- /ocaml
- /elm
- /flutter
- /vscode
- /ash
- /html
- /opensuse
- /centos
- /php
- /deepseek
- /zig
- /scala
- /textmate
- /sublime-text
- /lisp
- /debian
- /nixos
- /react-native
- /agda
- /kubuntu
- /arch-linux
- /django
- /revery
- /ubuntu
- /spring
- /manjaro
- /nodejs
- /diversity
- /lua
- /julia
- /slackware
- /deno
- /c