About Code Blocks Textformatter
Converts content within backticks into code blocks.
Textformatter modules that provide run-time formatting for blocks of text (typically used with Text/Textarea fields).
Close to stable, but users are advised to be cautious and test thoroughly.*
|Date Added||February 17, 2018|
|Last Updated||August 29, 2020|
This module's files should be placed in /site/modules/TextformatterCodeBlocks/
How to install or uninstall modules
ProcessWire Textformatter module for enabling Markdown style code blocks for text or RTE fields.
Note: this is not a complete Markdown implementation, but rather a home-baked implementation of just one small part of the Markdown syntax. For full Markdown support, check out the TextformatterMarkdownExtra module, bundled with ProcessWire releases by default.
- Copy (or clone) the TextformatterCodeBlocks directory to /site/modules/
- Go to Admin > Modules, hit "Refresh", and install TextformatterCodeBlocks
- Enable "Code Blocks Textformatter" for fields in which you wish to use code blocks
IMPORTANT: if you use Code Blocks Textformatter with a regular text or textarea field, make sure that you enable HTML Entity Encoder or use another method of escaping entities!
Code blocks should work fine when wrapped in
<pre> tags, so you can use them with RTE, such as CKEditor. This module supports two types of code blocks: fenced and inline.
Note: following code examples have been escaped for better readability when rendered in GitHub. In a nutshell the syntax for fenced code blocks is three backticks around a code block, and for inline code blocks just sourround a specific piece of code with single backticks.
``` <?php echo "This is a fenced code block."; ```
With fenced code blocks you can also specify the language for a syntax highlighter:
```php <?php echo "This PHP code is easier for a syntax highlighter to identify."; ```
The end result of fenced code blocks looks like this:
<pre class="code-block code-block--fenced"><code class="language-php"><?php echo "This PHP code is easier for a syntax highlighter to identify.";</code></pre>
<p>While fenced code blocks are great for longer code snippets, sometimes `<?php echo "inline code blocks"; ?>` make more sense.</p>
The end result of inline code blocks looks like this:
<p>While fenced code blocks are great for longer code snippets, sometimes <code class="code-block code-block--inline"><?php echo "inline code blocks"; ?></code> make more sense.</p>
Though syntax highlighting is not necessary for this module to work, it can be really helpful for your end users. You can use any syntax highlighter, but I would recommend Prism.js.
For detailed instructions on enabling Prism.js on your site, please visit http://prismjs.com/.
- Admin Helpers
- Core Modules
- Development Tools
- Field Types
- Input Fields
- Language Modules
- Language Packs
- Markup Generation
- Premium Modules
- Process Modules
- Proof of Concept
- Site Profiles
- Social, Feeds, Services
- Text Formatters
- Other Modules
- Users and Access
*Use modules at your own risk. There are no guarantees or warranties. It is recommended that you backup your site and database before installing new modules.