fenced code blocks are bash not sh for proper syntax highlighting