Dealing with ScienCV formatting
Some tips for composing and making your new NIH biosketch not look like garbage
There’s been a fair amount of grumbling about the new NIH common form biosketch, and issues with the website, but there are some things you can do to avoid being driven (even more) insane.
Tip 1: Compose in a plain text editor
Microsoft word and Google docs are “rich text” editors, and formatting like bold and underline will not transfer over to your ScienCV biosketch. Use a plain text editor - the kind of thing that people write code in. This could be something like VS Code or RStudio / Posit, or even something simple like Textedit. If you really like the web-interface kinda thing, you can also try out https://hackmd.io - which will even render your markdown so you can see what it should look like.
Tip 2: Compose in markdown, even though ScienCV doesn’t (yet?) recognize it
Despite the NIH documentation saying “We definitely support markdown and definitely DON’T support HTML”, it looks like markdown is not supported and only HMTL tags work. But I’m suggesting writing in markdown anyway because (A) it’s easier to read and write in markdown than it is to do so inserting HTML tags, (B) markdown is easily converted to HTML with web-based or text-editor-based tools, and (C) hopefully at some point ScienCV will actually do what it says on the tin and support markdown, so you might as well get ahead of the game.
Another nice thing about hackmd is that it has nice cheat-sheets and even keyboard shortcuts like ctrl-b for bold that will add the right markdown formatting.
Tip 3: Make all your edits in the plain text editor - don’t try to work on the ScienCV website
You can’t save your work on ScienCV if you’re over the character limit, and there have been a lot of reports of the site crashing and tons of work being lost. Edit in markdown, convert to html, and then copy/paste. It’s a tiny bit more work, but will save you loads of time in the end.
Tip 4: Fix up your HTML to save characters
There are pretty strict character limits on ScienCV, and any markup will count towards that limit, but there are a few things you can do to save a few characters.
First, use the shortest html tags you can. A lot of markdown→ HTML converters will use <strong></strong> for bold, and <em></em> for italics. Instead, you can use <b></b> and <i></i> respectively. Also, lots of converters will add close-paragraph tags </p>, but you actually don’t need them. Just the opening <p> will do.
A lot of text-editors will allow you to do “regular expressions” find and replace. If so, you can use these regexes to fix everything at once:
Find:
<(/?)strong>Replace:<${1}b>Find:
<(/?)em>
Replace:<${1}i>Find:
</p>Replace:
Or you can use this little script if you have pandoc installed to convert direct from markdown and apply these changes:
#!/usr/bin/fish
for f in *.md
set newf (path basename -E $f).html
echo "Converting $f -> $newf"
pandoc $f -o $newf
sd '<(/?)strong>' '<${1}b>' $newf
sd '<(/?)em>' '<${1}i>' $newf
sd '</p>' '' $newf
endThis uses the fish shell and a command line utility called sd - if you’ve got a “normal” shell like bash or zsh and would like some help modifying this, let me know in comments!
Good luck folks!


