No commit activity in last 3 years
No release in over 3 years
jekyll-pseudocode helps typeset pseudocode with minimal formatting
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 2.2
~> 12
~> 3.5

Runtime

>= 3.0
 Project Readme

jekyll-pseudocode-b

Gem Version

A pseudocode/algorithm formatter for sites powered by Jekyll.

This is a updated fork from wkm/jekyll-pseudo.

Sometimes you don't want to use a particular programming language to demonstrate a concept because of the syntactic overhead. jekyll-pseudocode-b lets you use a gently styled free-formated representation.

Table of Contents

  • Usage
  • Language
  • Output example
  • Auto-Formatted Syntax
  • Custom styles
  • About author

Usage:

  1. Install the jekyll-pseudocode-b gem by running.
gem install jekyll-pseudocode-b
  1. Add the following line to your site's Gemfile
gem 'jekyll-pseudocode-b'
  1. And add the following line to your site plugin's _config.yml
plugins:
  - jekyll-pseudocode-b

Note: if jekyll --version is less than 3.5 use:

gems:
  - jekyll-pseudocode-b

Language

  • Indentation is preserved
  • A word beginning with a capital letter is a keyword
  • A word followed by parentheses is a function name
  • All other words are variables
  • Words within double or single quotes are generally strings
  • Variables that calls a function can reproduce the following output: myVar.FUNCTION(a);
  • A word that starts with @ will be marked as 'special'. This is if you want to highlight a variable.

Output example

Output is annotated with <span> classes and can be styled using CSS. Typically keywords are made bold and variables are italicized. Using the following code lines:

{% pseudocode %}
Function swap(old, new)
  remaining <- quorumSize
  success <- False
  For Each host
    result[host] <- send(host, propose(old, new))
    If result[host] = "ok"
      remaining--

  If remaining > 1+quorumSize/2
    success <- True

  For Each result
    If success
      send(host, confirm(old, new))
    Else
      send(host, cancel(old, new))
{% endpseudocode %}

With a bit of formatting, the above code becomes:

Image

Auto-Formatted Syntax

The following table shows auto-formated symbols:

Syntax Symbol
<-
->
<--
-->
=>
<=
==
:=
= =
<
>
[
]
<->
<-->
$pi π
$tau 𝛕
$infinity

Custom styles

You can also create your own CSS style for pseudo-codes like the images below. Check on the css folder for CSS files examples.

Sample 0

Sample 1

About author

Wiktor Macura is the author of this plugin. This is fork for updated version with some new features. Also it's based on the fork of Victor Bazterra.