You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4.1 KiB

+++ authors = ["author-demo"] categories = ["paige", "shortcodes"] date = "2023-09-18T21:34:51-07:00" description = "Demonstration of the Paige code shortcode." tags = ["code", "figures"] title = "Code Shortcode" +++

Paige provides a paige/code shortcode for displaying code.

Basic

Code:

{{</* paige/code */>}}
q = 'q = %r; print(q %% q)'; print(q % q)
{{</* /paige/code */>}}

Result:

{{< paige/code >}} q = 'q = %r; print(q %% q)'; print(q % q) {{< /paige/code >}}


Code:

{{</* paige/code */>}}
                       ---
                    -        --
                --( /     \ )XXXXXXXXXXXXX
            --XXX(   O   O  )XXXXXXXXXXXXXXX-
           /XXX(       U     )        XXXXXXX\
         /XXXXX(              )--   XXXXXXXXXXX\
        /XXXXX/ (      O     )   XXXXXX   \XXXXX\
        XXXXX/   /            XXXXXX   \   \XXXXX----
        XXXXXX  /          XXXXXX         \  ----  -
---     XXX  /          XXXXXX      \           ---
  --  --  /      /\  XXXXXX            /     ---=
    -        /    XXXXXX              '--- XXXXXX
      --\/XXX\ XXXXXX                      /XXXXX
        \XXXXXXXXX                        /XXXXX/
         \XXXXXX                         /XXXXX/
           \XXXXX--  /                -- XXXX/
            --XXXXXXX---------------  XXXXX--
               \XXXXXXXXXXXXXXXXXXXXXXXX-
                 --XXXXXXXXXXXXXXXXXX-
{{</* /paige/code */>}}

Result:

{{< paige/code >}} --- - -- --( / \ )XXXXXXXXXXXXX --XXX( O O )XXXXXXXXXXXXXXX- /XXX( U ) XXXXXXX
/XXXXX( )-- XXXXXXXXXXX
/XXXXX/ ( O ) XXXXXX \XXXXX
XXXXX/ / XXXXXX \ \XXXXX---- XXXXXX / XXXXXX \ ---- - --- XXX / XXXXXX \ --- -- -- / /\ XXXXXX / ---= - / XXXXXX '--- XXXXXX --/XXX\ XXXXXX /XXXXX \XXXXXXXXX /XXXXX/ \XXXXXX /XXXXX/ \XXXXX-- / -- XXXX/ --XXXXXXX--------------- XXXXX-- \XXXXXXXXXXXXXXXXXXXXXXXX- --XXXXXXXXXXXXXXXXXX- {{< /paige/code >}}

Lang parameter

Code:

{{</* paige/code lang="c" */>}}
float Q_rsqrt( float number )
{
	long i;
	float x2, y;
	const float threehalfs = 1.5F;

	x2 = number * 0.5F;
	y  = number;
	i  = * ( long * ) &y;
	i  = 0x5f3759df - ( i >> 1 );
	y  = * ( float * ) &i;
	y  = y * ( threehalfs - ( x2 * y * y ) );

	return y;
}
{{</* /paige/code */>}}

Result:

{{< paige/code lang="c" >}} float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F;

x2 = number * 0.5F;
y  = number;
i  = * ( long * ) &y;
i  = 0x5f3759df - ( i >> 1 );
y  = * ( float * ) &i;
y  = y * ( threehalfs - ( x2 * y * y ) );

return y;

} {{< /paige/code >}}

Options parameter

Code:

{{</* paige/code options="linenos=true,hl_lines=10" */>}}
float Q_rsqrt( float number )
{
	long i;
	float x2, y;
	const float threehalfs = 1.5F;

	x2 = number * 0.5F;
	y  = number;
	i  = * ( long * ) &y;
	i  = 0x5f3759df - ( i >> 1 );
	y  = * ( float * ) &i;
	y  = y * ( threehalfs - ( x2 * y * y ) );

	return y;
}
{{</* /paige/code */>}}

Result:

{{< paige/code options="linenos=true,hl_lines=10" >}} float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F;

x2 = number * 0.5F;
y  = number;
i  = * ( long * ) &y;
i  = 0x5f3759df - ( i >> 1 );
y  = * ( float * ) &i;
y  = y * ( threehalfs - ( x2 * y * y ) );

return y;

} {{< /paige/code >}}

Figure

Code:

{{</* paige/figure caption="Quine" */>}}
{{</* paige/code lang="python" */>}}
q = 'q = %r; print(q %% q)'; print(q % q)
{{</* /paige/code */>}}
{{</* /paige/figure */>}}

Result:

{{< paige/figure caption="Quine" >}} {{< paige/code lang="python" >}} q = 'q = %r; print(q %% q)'; print(q % q) {{< /paige/code >}} {{< /paige/figure >}}