<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title>Contemplating Platforms</title>
  <subtitle>Super-fast Jekyll framework</subtitle>
  <updated>2026-05-22T10:07:04-07:00</updated>
  <id>https://samraza.github.io/</id>
  <generator uri="https://sparanoid.com/lab/amsf/" version="2.0.24">Almace Scaffolding</generator>

  <link rel="alternate" type="text/html" hreflang="en" href="https://samraza.github.io/" />
  <link rel="self" type="application/atom+xml" href="https://samraza.github.io/feed.xml" />

  <author>
    <name>Sam Raza</name>
    <uri>https://samraza.github.io/</uri>
    <email>hello@samraza.xyz</email>
  </author>

  
    
      

      

      <entry>
        <title>How I assembled together a product in my spare time.</title>
        <id>https://samraza.github.io/how-i-assembled-together-a-product-in-my-spare-time.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/how-i-assembled-together-a-product-in-my-spare-time.html" />
        <published>2026-04-25T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/terraprep-introduction.webp&quot; alt=&quot;Introducing Terraprep&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Introducing Terraprep&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;For the longest time I had hesitated on starting the journey of writing a large enough development project outside of my full-time job to keep me busy for months. It was always a mix of “what if no one uses it”, “I don’t know where I might start”, or “can I do it all by myself”.&lt;/p&gt;

&lt;p&gt;To be honest, after working in medium to large sized organisations for more than a decade, I got used to much larger than two-pizza teams, layers of politics and relatively slow delivery associated with large organisations. But when it clicked, all I had to do was sit down one evening with intention and start experimenting.&lt;/p&gt;

&lt;h2 id=&quot;focus-on-the-mvp&quot;&gt;Focus on the MVP&lt;/h2&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/terraprep-mvp.webp&quot; alt=&quot;Developer workstation with code on a laptop screen&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Photo by Ilya Pavlov on Unsplash&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;The first version was very simple. All you could do was create a simple TOML config file. However, that was sufficient and gave me more than enough confidence to continue.&lt;/p&gt;

&lt;p&gt;In the journey I learned that I needed to focus on a complete set of functional requirements. Otherwise I would be creating random ideas instead of a functional set of features.&lt;/p&gt;

&lt;h2 id=&quot;lean-into-the-agile&quot;&gt;Lean into the Agile&lt;/h2&gt;

&lt;p&gt;I have worked in a plethora of varying environments across big data, advertising, insurance and finance industries, with different development methodologies across the board.&lt;/p&gt;

&lt;p&gt;For me, this project meant that I needed to be agile while minimising waste. In simple terms, when I started the project all I had was a rough sketch of what I wanted and a blank terminal. No product owners, no backlogs, no sophisticated SDLC.&lt;/p&gt;

&lt;p&gt;As I started to build, I had to adapt quickly with my planning, strategy and execution while reducing waste and keeping my focus on a small set of functional features. This pushed me to use tools as and when I needed them. Eventually, towards the end of the beta release, I had a full set of open source and free SDLC tools, in addition to some paid ones, that I use daily for my projects.&lt;/p&gt;

&lt;h2 id=&quot;x-driven-development&quot;&gt;X Driven Development&lt;/h2&gt;

&lt;p&gt;Should I use behaviour driven, test driven or documentation driven development methodology? At first this thought did not even cross my mind.&lt;/p&gt;

&lt;p&gt;The reason is that my main skillset is traversing problems in multi-disciplinary technical spaces. I do not have one specific way of doing things. I have to adapt daily, and at times multiple times a day, depending on the team I am working with.&lt;/p&gt;

&lt;p&gt;In the end, I used a mix of methodologies depending on what I was trying to achieve at the time.&lt;/p&gt;

&lt;h2 id=&quot;dogfooding&quot;&gt;Dogfooding&lt;/h2&gt;

&lt;p&gt;Dogfooding means a product created should be used by the creators. This was the original motivation to build this tool.&lt;/p&gt;

&lt;p&gt;It was only after building the first few versions myself that I realised it could be turned into a product that others could use. By building this product end to end, I distilled my experience over the years into a system of SDLC tools, mechanisms and methodologies during the project.&lt;/p&gt;

&lt;h2 id=&quot;backlog-is-important&quot;&gt;Backlog is important&lt;/h2&gt;

&lt;p&gt;As soon as my first MVP was ready and I could see obvious bugs, fundamental issues and missing functionality that would confuse users, I realised all of those issues had to be tracked.&lt;/p&gt;

&lt;p&gt;This forced me to create a backlog, initially just a todo list, that would turn into part of my SDLC toolset. You can do a lot without a complicated backlog, but if you want to collaborate with others while building and releasing a product regularly or semi-regularly, you are better off creating one.&lt;/p&gt;

&lt;p&gt;So started my weeks of visualising and backporting all my functional requirements into a backlog that I could continue to use for myself or other collaborators.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/terraprep-backlog.png&quot; alt=&quot;Terraprep backlog&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Backlog&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;ai-is-a-friend-not-a-foe&quot;&gt;AI is a friend, not a foe&lt;/h2&gt;

&lt;p&gt;ChatGPT is the norm these days. Even though I started out by myself, I enjoy collaborating, bouncing ideas off others and getting their feedback.&lt;/p&gt;

&lt;p&gt;This is where I truly embraced the tool by OpenAI. Having an incredibly technical sidekick that can validate your ideas and provide opinionated technical perspectives can really boost productivity. Its ability to help debug, write basic test cases and suggest alternative ways of approaching a problem came in handy.&lt;/p&gt;

&lt;p&gt;From my personal experience, AI will truly transform the software development space in the coming years. How huge the impact will be is a separate conversation.&lt;/p&gt;

&lt;h2 id=&quot;compliment-workflows-with-the-right-tooling&quot;&gt;Compliment workflows with the right tooling&lt;/h2&gt;

&lt;p&gt;If there is one bias I have for software development and systems engineering, it is that you must use the right tools, especially if you are working on a sizable and semi-frequently released project.&lt;/p&gt;

&lt;p&gt;I have been using JetBrains products for quite a few years, and their tooling for the entire SDLC is incredible. They understand how to build software and are probably one of the biggest examples of dogfooding in the industry.&lt;/p&gt;

&lt;p&gt;The language I chose, Go, fits well with the requirements and the user base of the software. It is a cross-platform command-line utility that uses network access and platform APIs to build backends.&lt;/p&gt;

&lt;h2 id=&quot;refactor-refactor-refactor&quot;&gt;Refactor, refactor, refactor&lt;/h2&gt;

&lt;p&gt;You do not finish a project and throw it over the line, even if it delivers all the functions you had in mind.&lt;/p&gt;

&lt;p&gt;It requires consistent prototyping of ideas, building working functionality and refactoring until the entire application aligns with all the instruments that make up the orchestra. During my journey of building this application, I was on a constant cycle of build, test and refactor, to the point that the initial versions of the app do not look anything like the beta release.&lt;/p&gt;

&lt;h2 id=&quot;automation-is-the-key&quot;&gt;Automation is the key&lt;/h2&gt;

&lt;p&gt;I am an automation enthusiast. That is one of my main skillsets, so I tend not to let opportunities to automate systems and processes go to waste.&lt;/p&gt;

&lt;p&gt;When the time came to release the software to a central, publicly available repository, as well as versioned documentation, I did not waste time leveraging pipelines, build processes and automated repeated tasks. I wanted to hand off most of the work to some type of automated job. GitLab is my main way of automating the workflow.&lt;/p&gt;

&lt;h2 id=&quot;a-good-tool-will-productise-itself&quot;&gt;A good tool will productise itself&lt;/h2&gt;

&lt;p&gt;I did not start the project visualising it as a product. As time went by and my daily practice evolved, I started to think about how I would release the tool and how many other features could be built.&lt;/p&gt;

&lt;p&gt;Since I plan to open source parts, or all, of it at some point and collaborate with others, I also wanted to think about how I would achieve that. I did not want users to feel like I was providing subpar software. I wanted them to be able to integrate it into their existing pipelines and workflows.&lt;/p&gt;

&lt;p&gt;That forced my hand to make it available in a way that had all the signs of a product. So I thought to myself: why should I not turn this into a product?&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;The main reason I built this software is so that I can solve the problem for myself, and others, of creating Terraform remote backends.&lt;/p&gt;

&lt;p&gt;It is an issue I had noticed since the day I started using Terraform, and I never found a consistent way to solve it. Some suggested doing it manually, others suggested using APIs and scripts. So I decided to create Terraprep.&lt;/p&gt;

&lt;p&gt;Terraprep is a cross-platform command-line utility designed to assist users by configuring and deploying Terraform remote backends. It supports creation of multiple backend types and uses interactive prompts and TOML-based configurations. It is available to download at &lt;a href=&quot;https://www.terraprep.xyz/&quot;&gt;terraprep.xyz&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Originally published on &lt;a href=&quot;https://samraza.medium.com/how-i-assembled-together-a-product-in-my-spare-time-979342e5d696&quot;&gt;Medium&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Hero image by &lt;a href=&quot;https://unsplash.com/@fakurian&quot;&gt;Milad Fakurian&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/photos/black-and-white-road-during-night-time-wNsHBf_bTBo&quot;&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>    Introducing Terraprep</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>On building resilience with React and Rate-limited APIs</title>
        <id>https://samraza.github.io/on-building-resilience-with-react-and-rate-limited-apis.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/on-building-resilience-with-react-and-rate-limited-apis.html" />
        <published>2025-12-18T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/hero.webp&quot; alt=&quot;React and rate-limited API illustration&quot; loading=&quot;lazy&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;In the past few months, I have been diving deeper into some of my React adventures that began a few years ago. With more time on my hands lately, I have been able to jump in and build hands-on personal projects to develop a deeper understanding of the React.js ecosystem.&lt;/p&gt;

&lt;p&gt;As I refreshed my knowledge of React Hooks, I revisited &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; and its surprisingly powerful capabilities. Around the same time, I learned that the recent Cloudflare Dashboard outage had something to do with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; hook, so I decided to dig deeper and experiment with a few ideas. Below are the learnings that came out of my investigation.&lt;/p&gt;

&lt;h2 id=&quot;a-little-react-primer&quot;&gt;A little React Primer&lt;/h2&gt;

&lt;p&gt;For readers who do not know React at all, I will briefly describe the general premise. React is a JavaScript library for building user interfaces, originally created by Facebook. It helps you describe what the UI should look like for a given state.&lt;/p&gt;

&lt;p&gt;This is exactly why it is called React. Instead of manually manipulating the DOM with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;document.getElementById&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;innerHTML&lt;/code&gt;, or jQuery, you describe your UI as components using JSX and let React handle the DOM updates, essentially reacting to changes in state. JSX is a syntax extension that lets you write declarative, HTML-like code inside JavaScript.&lt;/p&gt;

&lt;p&gt;Any DOM tree updates are first calculated using what React calls the Virtual DOM before they are diffed and applied to the actual DOM. These updates, or the reactivity, are driven by browser events, user interactions, or custom events. All of these features make React code highly composable, reusable, and performant.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/react-component.webp&quot; alt=&quot;Simple React component example&quot; loading=&quot;lazy&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;Above is a very simple JSX-based component example where, just by adding a few CSS rules and some state, via props in this case, we transformed a static component into a styled, reusable, and dynamic state-driven UI element. Of course, this is a simple example for demonstration, but hopefully you get the idea.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/extended-app.png&quot; alt=&quot;An extended version of the previous React app&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;An extended version of previous app&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;hooks-and-side-effects&quot;&gt;Hooks and side-effects&lt;/h2&gt;

&lt;p&gt;Finally, we have React Hooks. Hooks in React are functionality that allow developers to use state and other React features inside function components without needing to write classes. These Hooks, which are just functions, give developers the ability to manage state, handle context, cache values and functions, defer re-renders, and perform other useful tasks.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;React Hooks were introduced in v16.8.0. You can see the original release docs here: &lt;a href=&quot;https://legacy.reactjs.org/docs/hooks-intro.html&quot;&gt;legacy.reactjs.org/docs/hooks-intro.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The full list of hooks is available here: &lt;a href=&quot;https://react.dev/reference/react/hooks&quot;&gt;react.dev/reference/react/hooks&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One of these hooks is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt;, which is essentially React’s way of allowing components to synchronise with external systems or APIs, and is commonly used to perform actions when the component loads or when certain state values change.&lt;/p&gt;

&lt;div class=&quot;language-js highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nf&quot;&gt;useEffect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;// Code to sync with an external system or API.&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;dependencyArray&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Before proceeding further, let’s talk about something called side-effects. I am not talking about the ones in medicine, but the idea is the same. An operation has a side effect if it has an observable effect other than its primary one.&lt;/p&gt;

&lt;p&gt;In the React world, a side-effect is essentially anything that is outside the control of React’s render cycle. So when we talk about side-effects inside the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; hook, we are talking about API calls to external systems, network/fetch requests, or DOM events. These external systems live outside of React’s render cycle, and React has no way to influence them.&lt;/p&gt;

&lt;p&gt;If the side-effect is not considered carefully, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; hook may lead to infinite re-renders. This is exactly what caused the self-inflicted DDoS on the Cloudflare dashboard when one of their component’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; hooks introduced a “problematic object in its dependency array”. Let’s dissect that sentence with a concrete example.&lt;/p&gt;

&lt;h2 id=&quot;infinite-re-renders&quot;&gt;Infinite re-renders&lt;/h2&gt;

&lt;p&gt;Here is another React app that fetches a quote from a public external API. The simple UI renders an &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;, a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;button&amp;gt;&lt;/code&gt; tag, and a custom &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Quote&lt;/code&gt; component with a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag holding the current count of quotes.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/quote-app.gif&quot; alt=&quot;Quote app fetching a quote from an API&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Quote App&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Upon page load, I want the component to automatically fetch a quote, update the state to show the quote, and update &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;quoteCount&lt;/code&gt; inside the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;p&amp;gt;&lt;/code&gt; tag. Finally, when the user clicks on the Get quote button, the function &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;getQuoteFromApi()&lt;/code&gt; is triggered to fetch a quote from an external API, update the quote value with a new one, and increment the value of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;quoteCount&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is a very common pattern used alongside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; in many React applications to interact and sync with external systems on first page load.&lt;/p&gt;

&lt;div class=&quot;language-js highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nf&quot;&gt;useEffect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;nf&quot;&gt;fetchAndSetQuote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Observe an empty array &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[]&lt;/code&gt; is being used as a dependency within the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; hook. This tells React to re-render the component if the value of any of the array elements change. Not understanding this, skipping the dependency array, or using a mutable object may lead to an infinite re-render bug.&lt;/p&gt;

&lt;h2 id=&quot;what-can-go-wrong&quot;&gt;What can go wrong&lt;/h2&gt;

&lt;p&gt;Let’s visit the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fetchAndSetQuote()&lt;/code&gt; function one more time and see the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;setQuoteCount((c) =&amp;gt; c + 1);&lt;/code&gt; line, which updates the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;quoteCount&lt;/code&gt; state. It is being updated every time the button is clicked. However, we do not want to re-render the page every time it is updated, hence we do not include &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;quoteCount&lt;/code&gt; in the dependency array because &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; is run on page load.&lt;/p&gt;

&lt;p&gt;Let’s see what happens when I add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;quoteCount&lt;/code&gt; to the dependency array or completely skip it.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/problematic-dependency.gif&quot; alt=&quot;Problematic dependency array without a rate-limited external API&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Problematic dependency array without rate-limited external API&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;As you can see, we end up with an infinite re-render loop until I stop the process or fix the array object. This is one of the caveats described in the React docs: &lt;a href=&quot;https://react.dev/reference/react/useEffect#caveats&quot;&gt;react.dev/reference/react/useEffect#caveats&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If some of your dependencies are objects or functions defined inside the component, there is a risk that they will cause the Effect to re-run more often than needed. To fix this, remove unnecessary object and function dependencies. You can also extract state updates and non-reactive logic outside of your Effect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;what-can-be-done&quot;&gt;What can be done&lt;/h2&gt;

&lt;p&gt;In addition to making sure a problematic object, which may cause the Effect to re-run more often than needed, is not introduced in the dependency array, I also mocked up a new service that serves quotes but introduced a rate-limit on how many quotes can be fetched from the service.&lt;/p&gt;

&lt;p&gt;When I introduce a problematic object or skip the dependency array altogether within &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt;, I get an infinite re-render loop as before, but my front-end stops making additional re-renders due to rate-limiting.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/rate-limited-api.gif&quot; alt=&quot;Wrong dependency array with a rate-limited external API&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;Wrong dependency array with rate-limited external API&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Of course, this is an oversimplification of what may have happened at Cloudflare, and it is possible that the engineering team at Cloudflare were already aware of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useEffect&lt;/code&gt; caveats and working towards fixing it before it became a big problem. Finally, a mix of these things led to a perfect storm, or as they mention, a thundering herd.&lt;/p&gt;

&lt;p&gt;Having said all that, I can see that Cloudflare are looking for a frontend-focused platform engineer for their Dashboard and associated services. Not surprising at all.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/cloudflare-role.png&quot; alt=&quot;Cloudflare platform engineer role&quot; loading=&quot;lazy&quot; /&gt;
&lt;/figure&gt;

&lt;h2 id=&quot;must-i-use-useeffect&quot;&gt;Must I use useEffect&lt;/h2&gt;

&lt;p&gt;There are alternatives that have been suggested over the last few years, and two of the most popular ones are TanStack Query, through &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;useQuery&lt;/code&gt;, and Redux, through RTK Query. They both provide solutions to make use of safer ways to fetch data from external APIs.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img class=&quot;size-fit&quot; src=&quot;/assets/img/writings/react-rate-limited-apis/tanstack-redux.png&quot; alt=&quot;TanStack and Redux logos&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;TanStack &amp;amp; Redux&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img src=&quot;/assets/img/writings/react-rate-limited-apis/usequery.gif&quot; alt=&quot;useQuery from TanStack&quot; loading=&quot;lazy&quot; /&gt;
  &lt;figcaption&gt;useQuery from TanStack&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;p&gt;Remember, these are pretty comprehensive libraries/frameworks, allowing you to manage state lifecycle and a plethora of other features. Their use is tied to the requirements and the complexity matrix. It is a trade-off that only engineering and product teams can decide on collectively.&lt;/p&gt;

&lt;h2 id=&quot;in-closing&quot;&gt;In closing&lt;/h2&gt;

&lt;p&gt;My exploration led me to a simple conclusion. I call it React’s KISS.&lt;/p&gt;

&lt;figure class=&quot;writing-image&quot;&gt;
  &lt;img class=&quot;size-fit&quot; src=&quot;/assets/img/writings/react-rate-limited-apis/kiss.png&quot; alt=&quot;React&apos;s KISS&quot; loading=&quot;lazy&quot; /&gt;
&lt;/figure&gt;

&lt;p&gt;It is becoming increasingly necessary to understand modern frontends, their architecture and usage of external services, as well as building resilience through patterns that can help minimise these issues.&lt;/p&gt;

&lt;p&gt;With the trend of increased AI usage, we must become more diligent about the resilience, security, and availability of our systems, especially if those systems are playing a crucial role in our day-to-day lives.&lt;/p&gt;

&lt;p&gt;Originally published on &lt;a href=&quot;https://faun.pub/on-building-resilience-with-react-and-rate-limited-apis-a395280521b1&quot;&gt;Medium/FAUN&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Hero image by &lt;a href=&quot;https://unsplash.com/@dokawastaken&quot;&gt;Tim Käbel&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/photos/closeup-photo-of-circuit-board-FCrYdP8gohg&quot;&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>  </summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Upgrading Guide from v1 to v2</title>
        <id>https://samraza.github.io/upgrading-from-v1-to-v2.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/upgrading-from-v1-to-v2.html" />
        <published>2018-07-23T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Almace Scaffolding now migrates from Less to Sass, this may make your existing projects non-upgradable, it needs quite a lot of work for you to do the migration if you use a custom theme that it’s powered by Less preprocessor. You have to compare your existing projects to &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/pull/85&quot;&gt;this Pull Request&lt;/a&gt; side to side to make sure every change you made are synced correctly.&lt;/p&gt;

&lt;p&gt;If you’re a casual blogger only change some color variables for your default theme, Curtana in this situation, that’s good, you can migrate to v2 easier: just run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$ grunt update&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You should also migrate your own styles in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user.less&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_user.scss&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_varaibles.scss&lt;/code&gt;. Due to Sass limitation, I don’t have variable hoisting features like native CSS or Less at hand, so I have to create two user-defined stylesheets:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assets/_scss/_variables.scss&lt;/code&gt; - This file should contain only Sass variables defined in theme Curtana. It will be loaded at the topmost of theme stylesheet &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;app.scss&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;assets/_scss/_user.scss&lt;/code&gt; - where users create style customization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From 2.0.0, Almace Scaffolding still has the ability to use Less with Grunt.js, however, it’s wise to write your theme in Sass for better future compatibility.&lt;/p&gt;

&lt;p&gt;If you’d like to stick with the Less version:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;v1.1.11 will be the last version that supports Less.&lt;/li&gt;
  &lt;li&gt;Less version of theme Curtana will be available as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf/amsf-curtana-less&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>Almace Scaffolding now migrates from Less to Sass, this may make your existing projects non-upgradable, it needs quite a lot of work for you to do the migration if you use a custom theme that it’s powered by Less preprocessor. You have to compare your existing projects to this Pull Request side to side to make sure every change you made are synced correctly.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Upgrading Guide: v1.1.0</title>
        <id>https://samraza.github.io/upgrading-guide-v1.1.0.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/upgrading-guide-v1.1.0.html" />
        <published>2017-01-07T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;There’re some significant changes in update v1.1.0, action required after you upgrade Almace Scaffolding.&lt;/p&gt;

&lt;p&gt;In your front-matter fields:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Replace all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg-headline&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;img-headline&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Replace all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg-headline-width&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;img-headline-width&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img-width&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Remove all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg-headline-height&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;img-headline-height&lt;/code&gt; as they’re deprecated and no longer available.&lt;/li&gt;
  &lt;li&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img-local: true&lt;/code&gt; if images are stored right inside your project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check the following front-matter data for post thumbnails:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Replace all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;thumb&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;thumbnail&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;thumb/&lt;/code&gt; prefix to your filename, ie. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;thumbnail: thumb/my-post.png&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;thumbnail-local: true&lt;/code&gt; if thumbnails are stored right inside your project.&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>There’re some significant changes in update v1.1.0, action required after you upgrade Almace Scaffolding.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Open Graph</title>
        <id>https://samraza.github.io/open-graph.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/open-graph.html" />
        <published>2017-01-06T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Theme Curtana has full Open Graph and Twitter Cards support.&lt;/p&gt;

&lt;p&gt;It will look for the image in the following order:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;page.thumbnail&lt;/code&gt; if defined in your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;If no specified &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;page.thumbnail&lt;/code&gt; defined, it uses &lt;a href=&quot;/custom-heading-background.html&quot;&gt;Heading Background Image&lt;/a&gt; (aka. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;page.heading-bg&lt;/code&gt;) if defined in your post front-matter field.&lt;/li&gt;
  &lt;li&gt;If no heading background image found, Curtana will try to grab the first image (wrapped inside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt;) in your post as your post thumbnail&lt;/li&gt;
  &lt;li&gt;If nothing found, it falls back to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;logo.png&lt;/code&gt; located at your site root.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You can always use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;page.thumb_force_logo&lt;/code&gt; in your post’s front-matter field to override the above lookup.&lt;/p&gt;

&lt;p&gt;Here’s a preview on Twitter:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/open-graph-preview.png&quot; alt=&quot;Twitter Cards (Open Graph compatible) Preview&quot; /&gt;&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>Theme Curtana has full Open Graph and Twitter Cards support.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Jekyll Theme Compatibility</title>
        <id>https://samraza.github.io/jekyll-theme-compatibility.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/jekyll-theme-compatibility.html" />
        <published>2016-11-07T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;With the recent release of Jekyll, it gets the built-in ability to support &lt;a href=&quot;https://jekyllrb.com/docs/themes/&quot;&gt;themes&lt;/a&gt;, since we’ve already added theme support in 2015, the original config variables &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;theme&lt;/code&gt; would be conflicted with the built-in one.&lt;/p&gt;

&lt;p&gt;To solve this issue, I’ve renamed our &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;theme&lt;/code&gt; option to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf_theme&lt;/code&gt;. And here’s what you need to do to resolve compatibility issues after upgrading to latest Almace Scaffolding:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Rename your original &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;theme&lt;/code&gt; option in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_amsf.yml&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf_theme&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf_theme_url&lt;/code&gt; with your theme Git URL.&lt;/li&gt;
  &lt;li&gt;Replace all &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.theme&lt;/code&gt; with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.amsf_theme&lt;/code&gt; in your page templates.&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>With the recent release of Jekyll, it gets the built-in ability to support themes, since we’ve already added theme support in 2015, the original config variables theme would be conflicted with the built-in one.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Introducing Curtana</title>
        <id>https://samraza.github.io/theme-curtana.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/theme-curtana.html" />
        <published>2016-06-01T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Curtana is the default theme of &lt;a href=&quot;https://sparanoid.com/lab/amsf/&quot;&gt;AMSF&lt;/a&gt; (Almace Scaffolding).&lt;/p&gt;

&lt;h3 id=&quot;features&quot;&gt;Features&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;A variant of &lt;a href=&quot;https://sparanoid.com/&quot;&gt;sparanoid.com&lt;/a&gt;, looking great on any modern browsers&lt;/li&gt;
  &lt;li&gt;Minimalism design, No jQuery, no &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;everybody-shake-ur-body.js&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Ideal for the personal blog, portfolio, product blog and Tumblr-like link blog&lt;/li&gt;
  &lt;li&gt;(Maybe) &lt;a href=&quot;https://github.com/sparanoid/sparanoid.com/commit/9b44b4c0f57c3dd1e828d828a95cc21b992785ce&quot;&gt;the first&lt;/a&gt; template that uses &lt;a href=&quot;https://www.w3.org/TR/css3-values/#viewport-relative-lengths&quot;&gt;viewport relative units&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Handcrafted stylesheets. No Bootstrap or other bloated frameworks are used, unminified CSS &amp;lt; 12 KB&lt;/li&gt;
  &lt;li&gt;Predefined CSS and Sass (SCSS) variables make it easier to change color schemes for posts&lt;/li&gt;
  &lt;li&gt;Dynamic color scheme for code highlighters powered by &lt;a href=&quot;https://sparanoid.com/lab/randomized/&quot;&gt;Randomized&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Open Graph and Twitter Cards support&lt;/li&gt;
  &lt;li&gt;No Internet Explorer support&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>Curtana is the default theme of AMSF (Almace Scaffolding).</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Deployment Methods</title>
        <id>https://samraza.github.io/deployment-methods.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/deployment-methods.html" />
        <published>2016-03-18T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Sites generated using Almace Scaffolding can be deployed in nearly any web hosting services. A few of the most common deployment techniques are described below. More deployment methods please refer to &lt;a href=&quot;https://jekyllrb.com/docs/deployment-methods/&quot;&gt;Jekyll - Deployment methods&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;cloudflare-pages&quot;&gt;Cloudflare Pages&lt;/h2&gt;

&lt;p&gt;The simplest way to deploy your AMSF site is using &lt;a href=&quot;https://pages.cloudflare.com/&quot;&gt;Cloudflare Pages&lt;/a&gt;. Just signup for Cloudflare and connect it with your GitHub account. Create a Pages project and use the following settings:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Framework preset: Jekyll&lt;/li&gt;
  &lt;li&gt;Build command: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt build&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Build output directory: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_site&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;web-hosting-providers-ftpsftp&quot;&gt;Web Hosting Providers (FTP/SFTP)&lt;/h2&gt;

&lt;p&gt;Just about any traditional web hosting provider will let you upload files to their servers over FTP. You can simply run the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt build&lt;/code&gt; command and upload all files generated under &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_site&lt;/code&gt; to the HTTP root folder of your hosting account.&lt;/p&gt;

&lt;h2 id=&quot;rsync&quot;&gt;rsync&lt;/h2&gt;

&lt;p&gt;There’s a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_deploy.yml&lt;/code&gt; at the root of your AMSF project containing a basic &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rsync&lt;/code&gt; configurations. Change these configurations to yours and then run:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt deploy:rsync
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can deploy it for specific environments, the following command will deploy your site to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;beta&lt;/code&gt; environment via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rsync&lt;/code&gt; method you defined in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_deploy.yml&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt deploy:rsync &lt;span class=&quot;nt&quot;&gt;--env&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;beta
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;amazon-s3-s3_website&quot;&gt;Amazon S3 (s3_website)&lt;/h2&gt;

&lt;p&gt;You can also deploy your site to Amazon S3 via &lt;a href=&quot;https://github.com/laurilehmijoki/s3_website&quot;&gt;s3_website&lt;/a&gt;, see &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;s3_website.example.yml&lt;/code&gt; for more info.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>Sites generated using Almace Scaffolding can be deployed in nearly any web hosting services. A few of the most common deployment techniques are described below. More deployment methods please refer to Jekyll - Deployment methods.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Multiple Themes Support</title>
        <id>https://samraza.github.io/multiple-themes-support.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/multiple-themes-support.html" />
        <published>2015-08-18T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;From version 0.0.31, you can now use multiple themes in Almace Scaffolding. See &lt;a href=&quot;/themes.html&quot;&gt;Themes&lt;/a&gt; for more information.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>From version 0.0.31, you can now use multiple themes in Almace Scaffolding. See Themes for more information.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Welcome</title>
        <id>https://samraza.github.io/welcome.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/welcome.html" />
        <published>2014-06-13T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;AMSF, a.k.a. &lt;strong&gt;Almace Scaffolding&lt;/strong&gt;, is a super-fast Jekyll framework fighting against the website obesity. It supports LiveReload, Sass, HTML minification, inlined stylesheets and more.&lt;/p&gt;

&lt;p class=&quot;largetype&quot;&gt;
  &lt;a href=&quot;/getting-started.html&quot;&gt;Getting Started →&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;Go to the &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding&quot;&gt;GitHub&lt;/a&gt; page for downloads, bug reports, and feature requests.&lt;/p&gt;

&lt;h2 id=&quot;features&quot;&gt;Features&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Theme switching, you can switch themes with just one command&lt;/li&gt;
  &lt;li&gt;A fully configured Jekyll setup with well-defined &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/blob/master/_app/feed-atom.xml&quot;&gt;Atom feed&lt;/a&gt; and &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/blob/master/_app/sitemap.xml&quot;&gt;sitemap&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Almace Scaffolding&lt;/strong&gt; ships a sleek responsive theme &lt;a href=&quot;https://github.com/amsf/amsf-curtana&quot;&gt;Curtana&lt;/a&gt;, a variant of &lt;a href=&quot;https://sparanoid.com/&quot;&gt;sparanoid.com&lt;/a&gt;, looking great on any modern browsers&lt;/li&gt;
  &lt;li&gt;Every minified page generates only one HTTP request &lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/blob/master/_config.example.yml&quot;&gt;Tons of configurable settings&lt;/a&gt; for your posts and site customization&lt;/li&gt;
  &lt;li&gt;Service Worker support for lightning-fast experience&lt;/li&gt;
  &lt;li&gt;Built with Grunt.js for easy development&lt;/li&gt;
  &lt;li&gt;Travis support&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;
      &lt;p&gt;Based on the theme you’re using, theme Curtana generates only one HTTP request for production build when your posts don’t have fancy sliders or other external media files. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;

          
          
        
      
        </content>

        
          <summary>AMSF, a.k.a. Almace Scaffolding, is a super-fast Jekyll framework fighting against the website obesity. It supports LiveReload, Sass, HTML minification, inlined stylesheets and more.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Getting Started</title>
        <id>https://samraza.github.io/getting-started.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/getting-started.html" />
        <published>2014-06-12T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#requirements&quot; id=&quot;markdown-toc-requirements&quot;&gt;Requirements&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#method-run-in-docker&quot; id=&quot;markdown-toc-method-run-in-docker&quot;&gt;Method: Run in Docker&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#custom-dependencies&quot; id=&quot;markdown-toc-custom-dependencies&quot;&gt;Custom Dependencies&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#method-run-locally&quot; id=&quot;markdown-toc-method-run-locally&quot;&gt;Method: Run Locally&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#upgrading&quot; id=&quot;markdown-toc-upgrading&quot;&gt;Upgrading&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#using-beta-release&quot; id=&quot;markdown-toc-using-beta-release&quot;&gt;Using Beta Release&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#download&quot; id=&quot;markdown-toc-download&quot;&gt;Download&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#jekyll-migration&quot; id=&quot;markdown-toc-jekyll-migration&quot;&gt;Jekyll Migration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;requirements&quot;&gt;Requirements&lt;/h2&gt;

&lt;p&gt;Almace Scaffolding has exactly the same requirements as Jekyll. For more info please refer to &lt;a href=&quot;https://jekyllrb.com/docs/installation/&quot;&gt;Installation - Jekyll&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;method-run-in-docker&quot;&gt;Method: Run in Docker&lt;/h2&gt;

&lt;p&gt;You can simply run Almace Scaffolding in Docker with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;compose&lt;/code&gt; command. Create your own &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docker-compose.yml&lt;/code&gt; file with the following content:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;3&apos;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;x-defaults&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nl&quot;&gt;&amp;amp;defaults&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;image&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;sparanoid/almace-scaffolding:latest&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;restart&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;always&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_app/_posts/:/app/_app/_posts/&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;ports&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;4321:4321&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;services&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;amsf&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;*defaults&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;serve&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is a minimal docker compose configuration with local &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_posts&lt;/code&gt; volume mounted inside the container. The &lt;a href=&quot;https://docs.docker.com/compose/compose-file/compose-file-v3/#volumes&quot;&gt;volumes&lt;/a&gt; option can be different based on your customization.&lt;/p&gt;

&lt;p&gt;Mount custom data, pages, posts to override them inside container:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;...&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_app/_data/:/app/_app/_data/&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_app/_pages/:/app/_app/_pages/&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_app/_posts/:/app/_app/_posts/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Override config file:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;...&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_config.yml:/app/_config.yml&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Use custom Gruntfile:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;...&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./Gruntfile.coffee:/app/Gruntfile.coffee&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Use custom AMSF config for custom themes and templates:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nn&quot;&gt;...&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;volumes&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_app/:/app/_app/&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_site/:/app/_site/&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;./_amsf.yml:/app/_amsf.yml&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can see the example repo at &lt;a href=&quot;https://github.com/amsf/docker-amsf-example&quot;&gt;amsf/docker-amsf-example&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;custom-dependencies&quot;&gt;Custom Dependencies&lt;/h3&gt;

&lt;p&gt;You can load custom dependencies (custom Grunt plugins or Jekyll plugins) in Docker by building your own Docker images. First you need to create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Dockerfile&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-dockerfile highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;FROM&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; sparanoid/almace-scaffolding:latest&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Copy custom dependencies configs&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;COPY&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; Gemfile* /app/&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;COPY&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; package.json /app/package.json&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;COPY&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; yarn.lock /app/yarn.lock&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Reinstall project specific dependencies&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;RUN &lt;/span&gt;bundle &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; yarn &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then build your image with Docker Compose:&lt;/p&gt;

&lt;div class=&quot;language-yml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;3&apos;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;x-defaults&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nl&quot;&gt;&amp;amp;defaults&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;build&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;.&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;dockerfile&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Dockerfile&lt;/span&gt;
&lt;span class=&quot;nn&quot;&gt;...&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;method-run-locally&quot;&gt;Method: Run Locally&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/fork&quot;&gt;Fork&lt;/a&gt; or clone the repo.&lt;/li&gt;
  &lt;li&gt;Install dependencies with Ruby gem &lt;a href=&quot;https://bundler.io/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bundler&lt;/code&gt;&lt;/a&gt; and Node.js package manager &lt;a href=&quot;https://www.npmjs.org/&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt init&lt;/code&gt; to initialize your project.&lt;/li&gt;
  &lt;li&gt;Run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt serve&lt;/code&gt; to fire up a local server.&lt;/li&gt;
  &lt;li&gt;Edit and customize your site.&lt;/li&gt;
  &lt;li&gt;Change Git remote to your own repo.&lt;/li&gt;
  &lt;li&gt;Push and deploy.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So in short for geeks:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git clone https://github.com/sparanoid/almace-scaffolding my-site
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;my-site
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bundle &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; yarn &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt init
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt serve
&lt;span class=&quot;c&quot;&gt;# ...editing&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git remote set-url origin https://github.com/sparanoid/my-site.git
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git push &lt;span class=&quot;nt&quot;&gt;-u&lt;/span&gt; origin master
&lt;span class=&quot;c&quot;&gt;# ...publishing&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; grunt deploy:rsync &lt;span class=&quot;nt&quot;&gt;--env&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;prod
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;upgrading&quot;&gt;Upgrading&lt;/h3&gt;

&lt;p&gt;It will be easy if you’re a casual blogger and keep every core and template file untouched. You can use the following command to update Almace Scaffolding core files:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt amsf-update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It checks the latest Almace Scaffolding build from GitHub and updates core files automatically. Please keep in mind that if you changed some of the AMSF core files this action will &lt;strong&gt;override&lt;/strong&gt; the changes you made. So it’s recommended to keep your project under version control, you will always be able to compare changes for Almace Scaffolding.&lt;/p&gt;

&lt;h3 id=&quot;using-beta-release&quot;&gt;Using Beta Release&lt;/h3&gt;

&lt;p&gt;By default, when you run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf-update&lt;/code&gt; you will get updated files from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;release&lt;/code&gt; branch. However, I’m continuously working on Almace Scaffolding, so there may have testing branches you can try and give me feedback if you’re interested. You can check the AMSF GitHub repository for available branches, and it’s very easy to switch:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt amsf-update &lt;span class=&quot;nt&quot;&gt;--branch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;feat/service-worker
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The branch &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;master&lt;/code&gt; is the one which is always available to check out and also has the latest changes:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt amsf-update &lt;span class=&quot;nt&quot;&gt;--branch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you messed up with the testing branch, don’t worry, you can just run a normal update to revert them back:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt amsf-update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;download&quot;&gt;Download&lt;/h2&gt;

&lt;p&gt;Go to the &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding&quot;&gt;GitHub repository&lt;/a&gt; for downloads, bug reports, and feature requests.&lt;/p&gt;

&lt;h2 id=&quot;jekyll-migration&quot;&gt;Jekyll Migration&lt;/h2&gt;

&lt;p&gt;You can simply copy all posts from your old Jekyll setup into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_app/_posts&lt;/code&gt;, you can also transfer your custom pages into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_app/_pages/&lt;/code&gt;.&lt;/p&gt;

          
          
        
      
        </content>

        
      </entry>
    
  
    
      

      

      <entry>
        <title>Customizing Styles</title>
        <id>https://samraza.github.io/customizing-styles.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/customizing-styles.html" />
        <published>2014-06-11T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;You can customize the basic look and feel without touching the theme files by changing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user.js&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user.scss&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── _app/
|   ├── assets/
|   |   └── _js/
|   |   |   └── user.js
|   |   └── _scss/
|   |   |   └── user.scss
|   |   └── themes/
|   |   |   └── ...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;These files won’t be overwritten when you update Almace Scaffolding or update your themes.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>You can customize the basic look and feel without touching the theme files by changing user.js and user.scss:</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Configuration</title>
        <id>https://samraza.github.io/configuration.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/configuration.html" />
        <published>2014-06-11T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;configuration-settings&quot;&gt;Configuration Settings&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;All AMSF built-in settings can be configured at &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/blob/master/_config.yml&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Theme specific variables can be found at &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;./_app/_data/theme-name.yml&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Additional variables are stored in &lt;a href=&quot;https://github.com/sparanoid/almace-scaffolding/blob/master/_app/_data&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;./_app/_data/&lt;/code&gt;&lt;/a&gt; directory. They can be accessed by Jekyll. (&lt;a href=&quot;https://jekyllrb.com/docs/datafiles/&quot;&gt;More info&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;You should also change &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;favicon.*&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apple-touch-icon.png&lt;/code&gt; to yours.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;logo.png&lt;/code&gt; is mainly used by Open Graph and Twitter Cards when there’s no featured image in a post, you should also design your own.&lt;/li&gt;
  &lt;li&gt;More customization please refer to theme-specific documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;tips&quot;&gt;Tips&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Not familiar with &lt;a href=&quot;https://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt;? Try &lt;a href=&quot;https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet&quot;&gt;Markdown Cheatsheet&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;You can use Jekyll’s &lt;a href=&quot;https://jekyllrb.com/docs/templates/#code-snippet-highlighting&quot;&gt;built-in syntax highlighting&lt;/a&gt;, I’ve included a default theme for this project.&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://kramdown.gettalong.org/quickref.html#tables&quot;&gt;Tables&lt;/a&gt; and &lt;a href=&quot;https://kramdown.gettalong.org/quickref.html#footnotes&quot;&gt;footnotes&lt;/a&gt; are also available to use.&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>Configuration Settings</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Themes</title>
        <id>https://samraza.github.io/themes.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/themes.html" />
        <published>2014-06-10T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;overview&quot;&gt;Overview&lt;/h2&gt;

&lt;p&gt;In the latest build, I’ve added multiple themes support, finally, you can switch themes with just one command.&lt;/p&gt;

&lt;p class=&quot;note&quot;&gt;This is an experimental feature and may change until the feature stabilizes.&lt;/p&gt;

&lt;h2 id=&quot;installing-themes&quot;&gt;Installing Themes&lt;/h2&gt;

&lt;p&gt;The AMSF framework ships a default theme &lt;a href=&quot;https://github.com/amsf/amsf-curtana&quot;&gt;Curtana&lt;/a&gt;. You can also install as many themes as you like and switch to the one you prefer at any time.&lt;/p&gt;

&lt;h3 id=&quot;via-git-github&quot;&gt;Via Git (GitHub)&lt;/h3&gt;

&lt;p&gt;The easiest way to install a new theme is via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;theme-add&lt;/code&gt;, the following command will install theme Curtana from its official repo &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf/amsf-curtana&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt theme-add &lt;span class=&quot;nt&quot;&gt;--theme&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;curtana
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you’d install a custom theme from other users, append &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--user&lt;/code&gt; in your command, the following command will install a new theme named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bootstrap-sass&lt;/code&gt; from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sparanoid/amsf-bootstrap-sass&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt theme-add &lt;span class=&quot;nt&quot;&gt;--theme&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;bootstrap-sass &lt;span class=&quot;nt&quot;&gt;--user&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;sparanoid
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;manually-install&quot;&gt;Manually Install&lt;/h3&gt;

&lt;p&gt;You can also install themes manually. find an AMSF theme (Curtana, for example), download the package and uncompress all files to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.amsf-cache/themes&lt;/code&gt; directory, the file structure should look like:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── .amsf-cache/ (Almace Scaffolding cache directory)
|   ├── themes/
|   |   └── curtana/
|   |   |   └── assets/
|   |   |   └── includes/
|   |   |   └── layouts/
|   |   |   └── pages/
|   |   |   └── config.yml
└── _app/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then execute the following command:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt activate &lt;span class=&quot;nt&quot;&gt;--theme&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;curtana
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your current theme will be backed up to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.amsf-cache/themes/your-old-theme/&lt;/code&gt; and the new theme &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;curtana&lt;/code&gt; will be installed to the appropriate directories.&lt;/p&gt;

&lt;h2 id=&quot;upgrading-themes&quot;&gt;Upgrading Themes&lt;/h2&gt;

&lt;p&gt;You can update your current activated theme by the following command. The activated theme will be downloaded from GitHub automatically if there’s any update:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt theme-update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please note that only themes added via GitHub can be updated.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>Overview</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Creating Your Own Theme</title>
        <id>https://samraza.github.io/creating-themes.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/creating-themes.html" />
        <published>2014-06-09T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;overview&quot;&gt;Overview&lt;/h2&gt;

&lt;p&gt;You can create your own theme in AMSF, theme files are located in the following location (I use default theme Curtana here for better understanding):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── _app/
|   ├── _data/
|   |   └── curtana.yml
|   ├── _includes/
|   |   └── themes/
|   |   |   └── curtana/
|   |   |   |   └── includes/
|   |   |   |   └── layouts/
|   ├── _pages/
|   |   └── themes/
|   |   |   └── curtana/
|   |   |   |   └── example-page.md
|   |   |   |   └── ...
|   ├── assets/
|   |   └── themes/
|   |   |   └── curtana/
|   |   |   |   └── _js/
|   |   |   |   └── _scss/
|   |   |   |   └── ...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The theme specific config &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;curtana.yml&lt;/code&gt; should have the same filename as your theme name. It should contain theme-specific variables and can also override AMSF built-in settings.&lt;/p&gt;

&lt;p&gt;More info about theme structure you can check out my default theme &lt;a href=&quot;https://github.com/amsf/amsf-curtana&quot;&gt;Curtana&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can also have multiple themes in your project, as many as you like. For example if you also have themes Bootstrap and Ghost installed, the file structure should be:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── _app/
|   ├── _data/
|   |   └── bootstrap.yml
|   |   └── curtana.yml
|   |   └── ghost.yml
|   ├── _includes/
|   |   └── themes/
|   |   |   └── bootstrap/
|   |   |   |   └── includes/
|   |   |   |   └── layouts/
|   |   |   └── curtana/
|   |   |   |   └── includes/
|   |   |   |   └── layouts/
|   |   |   └── ghost/
|   |   |   |   └── includes/
|   |   |   |   └── layouts/
|   ├── _pages/
|   |   └── themes/
|   |   |   └── bootstrap/
|   |   |   |   └── example-about.md
|   |   |   |   └── example-blog.md
|   |   |   |   └── example-fluid-container.md
|   |   |   |   └── ...
|   |   |   └── curtana/
|   |   |   |   └── example-about.md
|   |   |   |   └── example-news.md
|   |   |   |   └── ...
|   |   |   └── ghost/
|   |   |   |   └── example-archive.md
|   |   |   |   └── example-page.md
|   |   |   |   └── example-tagcloud.md
|   |   |   |   └── ...
|   ├── assets/
|   |   └── themes/
|   |   |   └── bootstrap/
|   |   |   |   └── _coffee/
|   |   |   |   └── _scss/
|   |   |   |   └── images/
|   |   |   └── curtana/
|   |   |   |   └── _js/
|   |   |   |   └── _scss/
|   |   |   |   └── svg/
|   |   |   └── ghost/
|   |   |   |   └── _js/
|   |   |   |   └── _less/
|   |   |   |   └── fonts/
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;amsf-options&quot;&gt;AMSF Options&lt;/h2&gt;

&lt;p&gt;There’re several built-in options you can use in your theme. These options can also be overridden in theme-specific config.&lt;/p&gt;

&lt;h3 id=&quot;sitename&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.name&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;footer&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;class=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;footer&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;{{ site.name }}&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/atom.xml&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Atom&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;footer&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;class=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;footer&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Almace Scaffolding&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/atom.xml&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Atom&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;sitedescription&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.description&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Site description will appear in the document meta and Atom feed subtitle.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;og:description&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ site.description }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;og:description&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;A super-fast Jekyll framework fighting against the website obesity.&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;sitefile&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.file&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Media assets URL used in posts, without trailing slash. In most cases this URL should be powered by a CDN provider.&lt;/p&gt;

&lt;p&gt;Config:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;//d349cztnlupsuf.cloudfront.net&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;img&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ site.file }}/post-thumbnail.jpg&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;img&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;//d349cztnlupsuf.cloudfront.net/post-thumbnail.jpg&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;sitetwitter&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.twitter&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Site Twitter account handle.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;https://twitter.com/{{ site.twitter }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Follow @{{ site.twitter }} on Twitter&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;https://twitter.com/sparanoid&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Follow @sparanoid on Twitter&lt;span class=&quot;nt&quot;&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;siteforce_utf_8&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.force_utf_8&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;Force UTF-8 encoding, enable this will simply add &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;&lt;/code&gt; to the head of your pages.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{% if site.force_utf_8 %}
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;charset=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
{% endif %}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;siterobots&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.robots&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;You can define your own records in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Config:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;robots&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;User-agent:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;*&quot;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Disallow:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;/ajax/&quot;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Disallow:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;/@async&quot;&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Disallow:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;/log/&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;theme-features&quot;&gt;Theme Features&lt;/h2&gt;

&lt;p&gt;There’re some features can be integrated into your theme.&lt;/p&gt;

&lt;h3 id=&quot;basic-multi-language-support&quot;&gt;(Basic) Multi-Language Support&lt;/h3&gt;

&lt;p&gt;You can define post/page language in your front-matter field:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;lang&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;zh-tw&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;An additional &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lang&lt;/code&gt; HTML attribute will be added to your final rendering:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;article&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;lang=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;zh-tw&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
  ...
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If your post/page content is multilingual, you can also define multiple languages in array:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;lang&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;zh-tw&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;en-us&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please note that only the first item defined in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lang&lt;/code&gt; array will be used in final &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lang&lt;/code&gt; output, the additional languages will be available in JSON feed output:&lt;/p&gt;

&lt;div class=&quot;language-json highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;languages&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;zh-tw&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;en-us&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;categories&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;note&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;miscellaneous&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;smooshing-assets&quot;&gt;Smooshing Assets&lt;/h3&gt;

&lt;p&gt;For better performance, Almace Scaffolding will find all the CSS, script links and images in compiled HTML, and outputs a version with all the CSS, scripts and images (Base64) written inline. Sounds cool? but it needs theme support. Here’s how:&lt;/p&gt;

&lt;p&gt;You can simply add the query string &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;?assets-inline&lt;/code&gt; at the end of the file you’d like to be inlined in production site:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- This CSS will be inlined into HTML --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;link&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;rel=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;stylesheet&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ &apos;/css/app.css?assets-inline&apos; | prepend: amsf_theme_assets }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- This script will be inlined into HTML --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ &apos;/js/app.js?assets-inline&apos; | prepend: amsf_theme_assets }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;user-custom-styles-support&quot;&gt;User Custom Styles Support&lt;/h3&gt;

&lt;p&gt;Define the following code snippet into your theme styles (Sass) will allow users to custom your theme without touching the theme files:&lt;/p&gt;

&lt;div class=&quot;language-css highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;//&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;Import&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;user&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;custom&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;styles&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;@import&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&quot;../../../_scss/custom&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;user-custom-scripts-support&quot;&gt;User Custom Scripts Support&lt;/h3&gt;

&lt;p&gt;Define the following code snippet into your theme template (it’s recommended to put it in footer) will allow users to add custom scripts without touching the theme files:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- User custom scripts --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;src=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ &apos;/js/user.js?assets-inline&apos; | prepend: amsf_user_assets }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;page--post-specific-css-block-support&quot;&gt;Page / Post Specific CSS Block Support&lt;/h3&gt;

&lt;p&gt;This allows your user to define page / post specific CSS blocks in front-matter data:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- Page-wide custom CSS --&amp;gt;&lt;/span&gt;
{{ amsf_page_css }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;google-analytics-support&quot;&gt;Google Analytics Support&lt;/h3&gt;

&lt;p&gt;This allows your user to be able to use Google Analytics for their site, tracking ID can be changed in the config file:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- Google Analytics tracking code --&amp;gt;&lt;/span&gt;
{{ amsf_google_analytics }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;post-published-time&quot;&gt;Post Published Time&lt;/h3&gt;

&lt;p&gt;This allows you to get the published time of the current post.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;article:published_time&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ amsf_page_pubdate | date_to_xmlschema }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;article:published_time&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;2014-01-01T00:00:00+08:00&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;post-modified-time&quot;&gt;Post Modified Time&lt;/h3&gt;

&lt;p&gt;This allows you to get the modified time of the current post.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;article:modified_time&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{{ amsf_page_update | date_to_xmlschema }}&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;meta&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;property=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;article:modified_time&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;content=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;2014-01-03T03:17:49+08:00&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;post-reading-time&quot;&gt;Post Reading Time&lt;/h3&gt;

&lt;p&gt;This allows you to show the average reading time of current post.&lt;/p&gt;

&lt;p&gt;Template:&lt;/p&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Reading time: {{ amsf_page_reading_time }}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gh&quot;&gt;# Less than 200 words&lt;/span&gt;
Reading time: Less than 1 min

&lt;span class=&quot;gh&quot;&gt;# Around 200 words&lt;/span&gt;
Reading time: 1 min

&lt;span class=&quot;gh&quot;&gt;# More than 200 words&lt;/span&gt;
Reading time: 34 mins

&lt;span class=&quot;gh&quot;&gt;# More than 1 hour&lt;/span&gt;
Reading time: 1 hr
Reading time: 1 hr 1 min
Reading time: 3 hrs 20 mins
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;publishing-themes&quot;&gt;Publishing Themes&lt;/h2&gt;

&lt;p&gt;You really like your custom design and wanna show it off to the world? Cool, you can create (pack) you own theme by the following command:&lt;/p&gt;

&lt;div class=&quot;language-sh highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;grunt theme-save
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The activated theme will be saved to AMSF cache (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.amsf-cache/&lt;/code&gt;) with correct file and directory structure, then you can upload your theme to GitHub.&lt;/p&gt;

&lt;p&gt;Still confusing? see my default theme &lt;a href=&quot;https://github.com/amsf/amsf-curtana&quot;&gt;Curtana&lt;/a&gt; for reference.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>Overview</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Syntax Highlighting</title>
        <id>https://samraza.github.io/syntax-highlighting.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/syntax-highlighting.html" />
        <published>2014-06-06T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Code highlighting demo, powered by Rouge. More info about code highlighting can be found at &lt;a href=&quot;https://jekyllrb.com/docs/templates/#code-snippet-highlighting&quot;&gt;Jekyll’s documentation&lt;/a&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;.code-text (@link, @text) when (lightness(@link) &amp;gt;= 50%) and (lightness(@link) &amp;lt; lightness(@text)) {
  @return-color: lighten(@text, 20%);
  @return-value: 30%;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-diff highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;{
  &quot;scripts&quot;: {
&lt;span class=&quot;gd&quot;&gt;-   &quot;precommit&quot;: &quot;npm test&quot;,
-   &quot;commitmsg&quot;: &quot;commitlint -E GIT_PARAMS&quot;
&lt;/span&gt;  },
&lt;span class=&quot;gi&quot;&gt;+ &quot;husky&quot;: {
+   &quot;hooks&quot;: {
+     &quot;pre-commit&quot;: &quot;npm test&quot;,
+     &quot;commit-msg&quot;: &quot;commitlint -E HUSKY_GIT_PARAMS&quot;
+   }
+ }
&lt;/span&gt;}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;show&lt;/span&gt;
  &lt;span class=&quot;vi&quot;&gt;@widget&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;respond_to&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# show.html.erb&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;json&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;render&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;json: &lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@widget&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-php highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hello, world!&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;puts&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hi, &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;print_hi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;Tom&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#=&amp;gt; prints &apos;Hi, Tom&apos; to STDOUT.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-html&quot; data-lang=&quot;html&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Title!&lt;span class=&quot;nt&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;h1&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;title&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;class=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;heading&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Example&lt;span class=&quot;nt&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;foo&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Hello, World!&lt;span class=&quot;nt&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;text/javascript&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;style &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;text/css&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;#foo&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nl&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;div class=&quot;language-js highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// Load the http module to create an http server.&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;http&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// Configure our HTTP server to respond with Hello World to all requests.&lt;/span&gt;
&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;server&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;createServer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;function &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;writeHead&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Content-Type&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;text/plain&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
  &lt;span class=&quot;nx&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Hello World&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// Listen on port 8000, IP defaults to 127.0.0.1&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;server&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;listen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// Put a friendly message on the terminal&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;console&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Server running at https://127.0.0.1:8000/&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-css highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nc&quot;&gt;.code-text&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;@link&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;50%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;lightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;@return-color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;lighten&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;20%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;@return-value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;30%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;!doctype html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Title!&lt;span class=&quot;nt&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;h1&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;title&quot;&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;class=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;heading&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Example&lt;span class=&quot;nt&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;p&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;id=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;foo&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;Hello, World!&lt;span class=&quot;nt&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;script &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;text/javascript&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;nt&quot;&gt;&amp;lt;style &lt;/span&gt;&lt;span class=&quot;na&quot;&gt;type=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;text/css&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;#foo&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nl&quot;&gt;font-weight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;bold&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-llvm highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;; copied from https://llvm.org/docs/LangRef.html#module-structure&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;; Declare the string constant as a global constant.&lt;/span&gt;
&lt;span class=&quot;vg&quot;&gt;@.str&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;private&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unnamed_addr&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;constant&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;13&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;c&quot;hello world\0A\00&quot;&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;; External declaration of the puts function&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;declare&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i32&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;@puts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;i8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;nocapture&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;nounwind&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;; Definition of main function&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i32&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;@main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;   &lt;span class=&quot;c1&quot;&gt;; i32()*&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;; Convert [13 x i8]* to i8  *...&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;%cast210&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;getelementptr&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;13&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]*&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;@.str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i64&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i64&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;

  &lt;span class=&quot;c1&quot;&gt;; Call puts function to write out the string to stdout.&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;call&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i32&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;@puts&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;i8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;%cast210&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;ret&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;i32&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;; Named metadata&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;!1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;metadata&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;!{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;i32&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;42&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;!foo&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;!{&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;!1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;xsl:template&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;match=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&amp;lt;/xsl:template&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-moonscript highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;util&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;my.module&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a_table&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;foo:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;bar&apos;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;interpolated:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;foo-&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;#{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;other&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stuff&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;&quot;string&quot;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;do:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;keyword&apos;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;MyClass&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;extends&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;SomeClass&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;new:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@init&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arg2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;default&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@derived&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@init&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;super&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

  &lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;other:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@foo&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-apache highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nc&quot;&gt;AddDefaultCharset&lt;/span&gt; UTF-8

&lt;span class=&quot;nc&quot;&gt;RewriteEngine&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;On&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Serve gzipped version if available and accepted&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;AddEncoding&lt;/span&gt; x-gzip .gz
&lt;span class=&quot;nc&quot;&gt;RewriteCond&lt;/span&gt; %{HTTP:Accept-Encoding} gzip
&lt;span class=&quot;nc&quot;&gt;RewriteCond&lt;/span&gt; %{REQUEST_FILENAME}.gz -f
&lt;span class=&quot;nc&quot;&gt;RewriteRule&lt;/span&gt; ^(.*)$ $1.gz [QSA,L]
&lt;span class=&quot;p&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt; \.css\.gz$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;  &lt;span class=&quot;nc&quot;&gt;ForceType&lt;/span&gt; text/css
  &lt;span class=&quot;nc&quot;&gt;Header&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;append&lt;/span&gt; Vary Accept-Encoding
&lt;span class=&quot;p&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt; \.js\.gz$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;  &lt;span class=&quot;nc&quot;&gt;ForceType&lt;/span&gt; application/javascript
  &lt;span class=&quot;nc&quot;&gt;Header&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;append&lt;/span&gt; Vary Accept-Encoding
&lt;span class=&quot;p&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt; \.html\.gz$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;  &lt;span class=&quot;nc&quot;&gt;ForceType&lt;/span&gt; text/html
  &lt;span class=&quot;nc&quot;&gt;Header&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;append&lt;/span&gt; Vary Accept-Encoding
&lt;span class=&quot;p&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;FilesMatch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-prolog highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;DA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;

&lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;times&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;plus&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;times&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;times&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;DA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
   &lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;and&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;B&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;DB&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;

&lt;span class=&quot;ss&quot;&gt;equal&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;
&lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;
&lt;span class=&quot;ss&quot;&gt;diff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;not&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;equal&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;X&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-ocaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;(* Binary tree with leaves car­rying an integer. *)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;type&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Leaf&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Node&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;of&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;rec&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;exists_leaf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;match&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;with&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Leaf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;v&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Node&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;left&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;right&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;exists_leaf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;left&lt;/span&gt;
      &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;exists_leaf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;test&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;right&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;has_even_leaf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;exists_leaf&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;fun&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;mod&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-sql highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;SELECT&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;FROM&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`users`&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;WHERE&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;`user`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;`id`&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-smalltalk highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nf&quot;&gt;quadMultiply:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;i1&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;and:&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;i2&lt;/span&gt;
    &lt;span class=&quot;c&quot;&gt;&quot;This method multiplies the given numbers by each other
    and the result by 4.&quot;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; mul &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;|&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;mul&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;:=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;i1&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;i2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;mul&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;4&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-racket highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;#&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;lang&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;racket&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;;; draw a graph of cos and deriv^3(cos)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;require&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;deriv&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt; &lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;thrice&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;lambda&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))))&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;plot&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;list&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;thrice&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;deriv&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;-5&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;cos&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;-5&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;#:color&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;&apos;blue&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;;; Print the Greek alphabet&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;in-range&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;25&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)])&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;displayln&lt;/span&gt;
   &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;integer-&amp;gt;char&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;char-&amp;gt;integer&lt;/span&gt; &lt;span class=&quot;sc&quot;&gt;#\u3B1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))))&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;;; An echo server&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;define&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;listener&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;tcp-listen&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;12345&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;let&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;echo-server&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;define-values&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;tcp-accept&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;listener&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;thread&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;λ&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
             &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;copy-port&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
             &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;close-output-port&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;out&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;echo-server&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-puppet highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;service&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;ntp&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;py&quot;&gt;name&lt;/span&gt;      &lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$service_name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;py&quot;&gt;ensure&lt;/span&gt;    &lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;running&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;py&quot;&gt;enable&lt;/span&gt;    &lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
  &lt;span class=&quot;kp&quot;&gt;subscribe&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;File&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;ntp.conf&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-dart highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;collection&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;collection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-tcl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;proc cross_sum &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;s&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;expr &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;join &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;split $s &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; +&lt;span class=&quot;p&quot;&gt;]}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-csharp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// reverse byte order (16-bit)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;UInt16&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;ReverseBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;UInt16&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;UInt16&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)((&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0xFFU&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;8&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0xFF00U&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-vb highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;Private&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Sub&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Form_Load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;&apos; Execute a simple message box that says &quot;Hello, World!&quot;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;MsgBox&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;Hello, World!&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;End&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;Sub&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;# write Fibonacci series up to n
&lt;/span&gt;    &lt;span class=&quot;sh&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Print a Fibonacci series up to n.&lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/env perl&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;warnings&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;a: &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;foo&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Markdown has cool &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;reference links&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;ref 1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
and &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;regular links too&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://example.com&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;ref 1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]:&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;https://example.com&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;set PHP-FPM parameters&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;lineinfile&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;dest&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;/etc/php-fpm.conf&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;regexp&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;^&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;insertafter&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;^;&quot;&lt;/span&gt;
    &lt;span class=&quot;na&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;with_items&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;param&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;error_log&apos;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;/var/log/php-fpm/error.log&apos;&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;param&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;log_level&apos;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;error&apos;&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;param&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;emergency_restart_threshold&apos;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;10&apos;&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

          
          
        
      
        </content>

        
          <summary>Code highlighting demo, powered by Rouge. More info about code highlighting can be found at Jekyll’s documentation.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Markdown Features Test</title>
        <id>https://samraza.github.io/markdown-features-test.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/markdown-features-test.html" />
        <published>2014-06-06T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;indented-code-blocks&quot;&gt;Indented Code Blocks&lt;/h2&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;def show
  @widget = Widget(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @widget }
  end
end
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;liquid-tag-with-linenos-support&quot;&gt;Liquid Tag with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;linenos&lt;/code&gt; Support&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;show&lt;/span&gt;
  &lt;span class=&quot;vi&quot;&gt;@widget&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Widget&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;params&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;ss&quot;&gt;:id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;respond_to&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;html&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# show.html.erb&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;format&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;json&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;render&lt;/span&gt; &lt;span class=&quot;ss&quot;&gt;json: &lt;/span&gt;&lt;span class=&quot;vi&quot;&gt;@widget&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;gfm-code-blocks-fenced_code_blocks&quot;&gt;GFM Code Blocks (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fenced_code_blocks&lt;/code&gt;)&lt;/h2&gt;

&lt;div class=&quot;language-css highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;/* Background color function */&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.code-bg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;@v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;50%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;@return-bg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;mix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;#000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;lighten&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;30%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;10%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nc&quot;&gt;.code-bg&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;@v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;when&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;lightness&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;50%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;@return-bg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;mix&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;#fff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;darken&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;10%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;70%&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;smartypants&quot;&gt;SmartyPants&lt;/h3&gt;

&lt;p&gt;“Aha! What’s up, man?” – Jony said.&lt;/p&gt;

&lt;h2 id=&quot;tables&quot;&gt;Tables&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Name&lt;/th&gt;
      &lt;th&gt;Upvotes&lt;/th&gt;
      &lt;th&gt;Downvotes&lt;/th&gt;
      &lt;th&gt;Abstentions&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Alice&lt;/td&gt;
      &lt;td&gt;10&lt;/td&gt;
      &lt;td&gt;11&lt;/td&gt;
      &lt;td&gt;2&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Bob&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
      &lt;td&gt;3&lt;/td&gt;
      &lt;td&gt;1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Charlie&lt;/td&gt;
      &lt;td&gt;7&lt;/td&gt;
      &lt;td&gt;9&lt;/td&gt;
      &lt;td&gt;4&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Totals&lt;/td&gt;
      &lt;td&gt;21&lt;/td&gt;
      &lt;td&gt;23&lt;/td&gt;
      &lt;td&gt;7&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;intra-emphasis&quot;&gt;Intra-emphasis&lt;/h2&gt;

&lt;p&gt;foo_bar_baz&lt;/p&gt;

&lt;h2 id=&quot;auto-link&quot;&gt;Auto-link&lt;/h2&gt;

&lt;p&gt;https://sparanoid.com/&lt;/p&gt;

&lt;h2 id=&quot;strikethroughs&quot;&gt;Strikethroughs&lt;/h2&gt;

&lt;p&gt;This is &lt;del&gt;good&lt;/del&gt; bad.&lt;/p&gt;

&lt;h2 id=&quot;space-after-headers&quot;&gt;Space after Headers&lt;/h2&gt;

&lt;p&gt;###This is not a header.&lt;/p&gt;

&lt;h2 id=&quot;superscripts&quot;&gt;Superscripts&lt;/h2&gt;

&lt;p&gt;This is the 2^(nd) time.&lt;/p&gt;

&lt;h2 id=&quot;footnotes&quot;&gt;Footnotes&lt;/h2&gt;

&lt;p&gt;This&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; is&lt;sup id=&quot;fnref:2&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; a sentence&lt;sup id=&quot;fnref:3&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;h2 id=&quot;id-日本語タイトル&quot;&gt;ID 日本語タイトル&lt;/h2&gt;

&lt;p&gt;Expected id should be &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;id-ri-ben-yu-taitoru&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;id-中文標題&quot;&gt;ID 中文標題&lt;/h2&gt;

&lt;p&gt;Expected id should be &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;id-zhong-wen-biao-ti&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot;&gt;
      &lt;p&gt;Lorem lean startup ipsum &lt;strong&gt;product market fit customer development&lt;/strong&gt; acquihire technical cofounder. User engagement A/B testing shrink a market venture capital pitch deck. Social bookmarking group buying &lt;a href=&quot;#&quot;&gt;crowded market&lt;/a&gt; pivot onboarding freemium prototype ping pong. Early stage disruptive ecosystem community outreach dynamic location based strategic investor. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://web.archive.org/web/20160425094356/http://blog.readability.com:80/2012/06/announcement/&quot;&gt;An Important Announcement&lt;/a&gt; by Richard Ziade at Readability &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot;&gt;
      &lt;p&gt;Good afterble constanoon, this sweet hongi is as bung as a stuffed morepork. Mean while, in the marae, Dr Ropata and Hairy Maclary from Donaldson’s Dairy were up to no good with a bunch of bloody troties. &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;

          
          
        
      
        </content>

        
          <summary>Indented Code Blocks</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Markup Example</title>
        <id>https://samraza.github.io/markup-example.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/markup-example.html" />
        <published>2014-06-05T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;Lorem lean startup ipsum &lt;strong&gt;product market fit customer development&lt;/strong&gt; acquihire technical cofounder. User engagement A/B testing shrink a market venture capital pitch deck. Social bookmarking group buying &lt;a href=&quot;#&quot;&gt;crowded market&lt;/a&gt; pivot onboarding freemium prototype ping pong. Early stage disruptive ecosystem community outreach dynamic location based strategic investor.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Two days ago the Chinese website &lt;a href=&quot;https://www.taobao.com/&quot;&gt;Taobao&lt;/a&gt; held a discount promotion to celebrate what’s known as “double sticks day” in China. In a single 24hr period, they conducted 19bn RMB (US$3.06bn) of business.&lt;/p&gt;
  &lt;footer&gt;
    &lt;cite&gt;&lt;a href=&quot;https://web.archive.org/web/20150223182728/http://westiseast.co.uk:80/blog/taobao-sales-19-billion-bonanza/&quot;&gt;Chris West&lt;/a&gt;&lt;/cite&gt;
  &lt;/footer&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Nullam id dolor id nibh ultricies vehicula ut id elit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Good afterble constanoon, this sweet hongi is as bung as a stuffed morepork. Mean while, in the marae, Dr Ropata and Hairy Maclary from Donaldson’s Dairy were up to no good with a bunch of bloody troties.&lt;/p&gt;

&lt;h2 id=&quot;inline-html-elements&quot;&gt;Inline HTML elements&lt;/h2&gt;

&lt;p&gt;HTML defines a long list of available inline tags, a complete list of which can be found on the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Element&quot;&gt;Mozilla Developer Network&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;To bold text&lt;/strong&gt;, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;strong&amp;gt;&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;To italicize text&lt;/em&gt;, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;em&amp;gt;&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Abbreviations, like &lt;abbr title=&quot;HyperText Markup Langage&quot;&gt;HTML&lt;/abbr&gt; should use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;abbr&amp;gt;&lt;/code&gt;, with an optional &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;title&lt;/code&gt; attribute for the full phrase.&lt;/li&gt;
  &lt;li&gt;Citations, like &lt;cite&gt;— Sparanoid &amp;amp; Mark otto&lt;/cite&gt;, should use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;cite&amp;gt;&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;Deleted&lt;/del&gt; text should use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;del&amp;gt;&lt;/code&gt; and &lt;ins&gt;inserted&lt;/ins&gt; text should use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;ins&amp;gt;&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Superscript &lt;sup&gt;text&lt;/sup&gt; uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;sup&amp;gt;&lt;/code&gt; and subscript &lt;sub&gt;text&lt;/sub&gt; uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;sub&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;ul&gt;
  &lt;li&gt;With the exception of Nietzsche, no other madman has contributed so much to human sanity as has Louis Althusser. He is mentioned twice in the Encyclopaedia Britannica as someone’s teacher. There could be no greater lapse: for two important decades (the 60s and the 70s), Althusser was at the eye of all the important cultural storms. He fathered quite a few of them.&lt;/li&gt;
  &lt;li&gt;This newly-found obscurity forces me to summarize his work before suggesting a few (minor) modifications to it.
    &lt;ul&gt;
      &lt;li&gt;Society consists of practices: economic, political and ideological.
        &lt;ul&gt;
          &lt;li&gt;Althusser defines a practice as:&lt;/li&gt;
          &lt;li&gt;“Any process of transformation of a determinate product, affected by a determinate human labour, using determinate means (of production)”
            &lt;ul&gt;
              &lt;li&gt;The economic practice (the historically specific mode of production) transforms raw materials to finished products using human labour and other means of production, all organized within defined webs of inter-relations. The political practice does the same with social relations as the raw materials. Finally, ideology is the transformation of the way that a subject relates to his real life conditions of existence.
                &lt;ul&gt;
                  &lt;li&gt;This is a rejection of the mechanistic worldview (replete with bases and superstructures). It is a rejection of the Marxist theorization of ideology. It is a rejection of the Hegelian fascist “social totality”. It is a dynamic, revealing, modern day model.&lt;/li&gt;
                  &lt;li&gt;“The objective internal reference … the system of questions commanding the answers given”&lt;/li&gt;
                &lt;/ul&gt;
              &lt;/li&gt;
              &lt;li&gt;Subjects to what? The answer: to the material practices of the ideology. This (the creation of subjects) is done by the acts of “hailing” or “interpellation”. These are acts of attracting attention (hailing) , forcing the individuals to generate meaning (interpretation) and making them participate in the practice.
                &lt;ul&gt;
                  &lt;li&gt;Subjects to what? The answer: to the material practices of the ideology. This (the creation of subjects) is done by the acts of “hailing” or “interpellation”. These are acts of attracting attention (hailing) , forcing the individuals to generate meaning (interpretation) and making them participate in the practice.&lt;/li&gt;
                  &lt;li&gt;What happens in a pluralistic environment rich in competing ideologies?
                    &lt;ul&gt;
                      &lt;li&gt;Clarifying the HOW, though, does not shed light on the WHY.
                        &lt;ul&gt;
                          &lt;li&gt;is the fact that in the new one, the second text is articulated with the lapses in the first text … (Marx measures) the problematic contained&lt;/li&gt;
                        &lt;/ul&gt;
                      &lt;/li&gt;
                    &lt;/ul&gt;
                  &lt;/li&gt;
                &lt;/ul&gt;
              &lt;/li&gt;
              &lt;li&gt;Ideology is a practice with lived and material dimensions. It has costumes, rituals, behaviour patterns, ways of thinking. The State employs Ideological Apparatuses (ISAs) to reproduce ideology through practices and productions: (organized) religion, the education system, the family, (organized) politics, the media, the industries of culture.&lt;/li&gt;
            &lt;/ul&gt;
          &lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;These theoretical tools were widely used to analyze the Advertising and the film industries.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
  &lt;li&gt;Ordered list&lt;/li&gt;
  &lt;li&gt;Ordered list
    &lt;ol&gt;
      &lt;li&gt;Ordered list
        &lt;ol&gt;
          &lt;li&gt;Ordered list&lt;/li&gt;
          &lt;li&gt;Ordered list
            &lt;ol&gt;
              &lt;li&gt;Ordered list
                &lt;ol&gt;
                  &lt;li&gt;Ordered list&lt;/li&gt;
                  &lt;li&gt;Ordered list&lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
              &lt;li&gt;Ordered list
                &lt;ol&gt;
                  &lt;li&gt;Ordered list&lt;/li&gt;
                &lt;/ol&gt;
              &lt;/li&gt;
              &lt;li&gt;Ordered list&lt;/li&gt;
            &lt;/ol&gt;
          &lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
      &lt;li&gt;Ordered list
        &lt;ol&gt;
          &lt;li&gt;Ordered list&lt;/li&gt;
          &lt;li&gt;Ordered list&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;Ordered list&lt;/li&gt;
&lt;/ol&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;this-should-be-replaced&quot;&gt;“This should be replaced.”&lt;/h2&gt;

&lt;p&gt;“This should be replaced.”&lt;/p&gt;

&lt;p&gt;This is a normal paragraph.&lt;/p&gt;

&lt;h2 id=&quot;this-should-be-replaced-1&quot;&gt;‘This should be replaced.’&lt;/h2&gt;

&lt;p&gt;‘This should be replaced.’&lt;/p&gt;

&lt;p&gt;This is a normal paragraph.&lt;/p&gt;

&lt;h2 id=&quot;this-should-be-replaced-2&quot;&gt;「This should be replaced.」&lt;/h2&gt;

&lt;p&gt;「This should be replaced.」&lt;/p&gt;

&lt;p&gt;This is a normal paragraph.&lt;/p&gt;

&lt;h2 id=&quot;this-should-be-replaced-3&quot;&gt;『This should be replaced.』&lt;/h2&gt;

&lt;p&gt;『This should be replaced.』&lt;/p&gt;

&lt;p&gt;This is a normal paragraph.&lt;/p&gt;

&lt;h2 id=&quot;this-should-be-replaced-4&quot;&gt;（This should be replaced.）&lt;/h2&gt;

&lt;p&gt;（This should be replaced.）&lt;/p&gt;

&lt;p&gt;This is a normal paragraph.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Most of these elements are styled by browsers with few modifications on our part.&lt;/p&gt;

&lt;p&gt;Maui and his rough as guts piece of pounamu, what a stink buzz. Bro, quater-acre patches are really naff good with bung mates, aye. You have no idea how beached as our random kais were aye. Every time I see those beautiful lengths of number 8 wire it’s like Castle Hill all over again aye, do you happen to have a bucket or a hose bro?&lt;/p&gt;

&lt;h2 id=&quot;h2-headings&quot;&gt;H2 Headings&lt;/h2&gt;

&lt;p&gt;You have no idea how pretty suss our same same but different toasted sandwiches were aye. Every time I see those carked it keas it’s like the dairy all over again aye, you don’t know his story, bro. Anyway, Hairy Maclary from Donaldson’s Dairy is just Mrs Falani in disguise, to find the true meaning of life, one must start frying up with the hangi, mate. After the rugby ball is jumped the ditch, you add all the stink girl guide biscuits to the trotie you’ve got yourself a meal.&lt;/p&gt;

&lt;h3 id=&quot;h3-headings&quot;&gt;H3 Headings&lt;/h3&gt;

&lt;p&gt;You have no idea how pretty suss our same same but different toasted sandwiches were aye. Every time I see those carked it keas it’s like the dairy all over again aye, you don’t know his story, bro. Anyway, Hairy Maclary from Donaldson’s Dairy is just Mrs Falani in disguise, to find the true meaning of life, one must start frying up with the hangi, mate. After the rugby ball is jumped the ditch, you add all the stink girl guide biscuits to the trotie you’ve got yourself a meal.&lt;/p&gt;

&lt;h4 id=&quot;h4-headings&quot;&gt;H4 Headings&lt;/h4&gt;

&lt;p&gt;You have no idea how pretty suss our same same but different toasted sandwiches were aye. Every time I see those carked it keas it’s like the dairy all over again aye, you don’t know his story, bro. Anyway, Hairy Maclary from Donaldson’s Dairy is just Mrs Falani in disguise, to find the true meaning of life, one must start frying up with the hangi, mate. After the rugby ball is jumped the ditch, you add all the stink girl guide biscuits to the trotie you’ve got yourself a meal.&lt;/p&gt;

&lt;h5 id=&quot;h5-headings&quot;&gt;H5 Headings&lt;/h5&gt;

&lt;p&gt;You have no idea how pretty suss our same same but different toasted sandwiches were aye. Every time I see those carked it keas it’s like the dairy all over again aye, you don’t know his story, bro. Anyway, Hairy Maclary from Donaldson’s Dairy is just Mrs Falani in disguise, to find the true meaning of life, one must start frying up with the hangi, mate. After the rugby ball is jumped the ditch, you add all the stink girl guide biscuits to the trotie you’ve got yourself a meal.&lt;/p&gt;

&lt;h6 id=&quot;h6-headings&quot;&gt;H6 Headings&lt;/h6&gt;

&lt;p&gt;You have no idea how pretty suss our same same but different toasted sandwiches were aye. Every time I see those carked it keas it’s like the dairy all over again aye, you don’t know his story, bro. Anyway, Hairy Maclary from Donaldson’s Dairy is just Mrs Falani in disguise, to find the true meaning of life, one must start frying up with the hangi, mate. After the rugby ball is jumped the ditch, you add all the stink girl guide biscuits to the trotie you’ve got yourself a meal.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;He was alone then; when he sat in that same chair his wife now sits in, and I shared with him the positive result to his HIV test. Though he seemed disinterested, vaguely detached, he had obviously heard of HIV before. His chart from the local clinic indicated a previous history of and treatment for anal gonorrhea, two acute cases of syphilis in the past three years, and a urinary tract infection last month. His only listed sexual contact, his wife. Who, strangely enough, only tested positive for one of the syphilis infections.&lt;/p&gt;

&lt;p&gt;“Mistake, this! I am married, not a giver of ass.”&lt;/p&gt;

&lt;p&gt;Giver of ass? That’s one for the archive, I think.&lt;/p&gt;

&lt;p&gt;Unwilling to engage his obvious denials, I ignore the comment and instead explain that due to a higher than acceptable potential of a false positive result, we won’t consider his oral test as confirmatory until the more accurate blood analysis is in.&lt;/p&gt;

&lt;p&gt;“I no understand”, he says to the room in general.&lt;/p&gt;

&lt;p&gt;His annoyance is obvious. Abrasively, he offers me his exposed forearm. This, I assume, is my cue to draw his blood. Ignoring the indignant anger beginning to rise, I tighten my jaw, then swab the fat vein with betadine, working the cool, brown liquid off in concentric circles, using strong medicinal smelling alcohol. I use the betadine, as most of these men work in the mines, and dirt three layers thick on exposed skin is the norm. As the first tube in the vacationer fills with blood, he asks,&lt;/p&gt;

&lt;p&gt;“So how I get this thing?”&lt;/p&gt;

&lt;p&gt;Ah, I see we are going to play the circuitous dance of ignorance. Sounding just a little too clinical, I begin the HIV 101 mantra.&lt;/p&gt;

&lt;p&gt;“Well, people acquire HIV through certain types of sex with an infected person, through sharing needles with an infected person, and sometimes through a blood transfusion. Have you ever had a blood transfusion, sir?”&lt;/p&gt;

&lt;p&gt;I take the dismissive wave of his hand as a no to the transfusion question. I don’t make a great attempt to navigate a comfort zone here; instinct and experience telling me he has already set the script of what is to follow.&lt;/p&gt;

&lt;p&gt;“She is fucking other cocks my whore devil wife”?
Bingo! A narrative that over the next six weeks I will hear from several other men as well.&lt;/p&gt;

&lt;p&gt;“These whores, all they want is the cock!”
Careful Skippy, you really aren’t as convincing as you think you are.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;
    “She is fucking other cocks my whore devil wife”?
    &lt;br /&gt;
    Bingo! A narrative that over the next six weeks I will hear from several other men as well.
  &lt;/p&gt;

  &lt;p&gt;
    “These whores, all they want is the cock!”
    &lt;br /&gt;
    Careful Skippy, you really aren’t as convincing as you think you are.
  &lt;/p&gt;

  &lt;footer&gt;
    &lt;cite&gt;from &lt;a href=&quot;https://medium.com/absurdist/a-world-away-c2b692bd808e&quot;&gt;A World Away&lt;/a&gt; by alto&lt;/cite&gt;
  &lt;/footer&gt;
&lt;/blockquote&gt;

&lt;details&gt;
  &lt;summary&gt;Supported Fonts&lt;/summary&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&quot;https://www.microsoft.com/typography/otspec/features_fj.htm#qwid&quot;&gt;Microsoft Registered features - qwid&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;https://typekit.com/fonts/kozuka-mincho-pr6n&quot;&gt;Kozuka Mincho Pr6n&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/details&gt;

&lt;h2 id=&quot;chinese-paragraph&quot;&gt;Chinese Paragraph&lt;/h2&gt;

&lt;p lang=&quot;zh-cn&quot;&gt;「名词成灾」的流行病里，灾情最严重的该是所谓「科学至上」（scientism）。在现代的工业社会里，科学早成显贵，科技更是骄子，所以知识分子的口头与笔下，有意无意，总爱用一些「学术化」的抽象名词，好显得客观而精确。有人称之为「伪术语」（pseudo-jargon）。例如：明明是 first step，却要说成 initial phase：明明是 letter，却要说成 communication，都属此类。&lt;/p&gt;

&lt;h2 id=&quot;japanese-paragraph&quot;&gt;Japanese Paragraph&lt;/h2&gt;

&lt;p lang=&quot;ja&quot;&gt;『雪国』の主な舞台は、上越国境の清水トンネルを抜けた湯沢温泉であるが、この作品も『伊豆の踊子』同様に、川端康成の旅の出会いから生まれたもので、雪中の火事も実際に起ったことだと川端は語っている。川端は作品内で故意に地名を隠しているが、1934 年（昭和 9 年）6 月 13 日より 1937 年まで新潟県湯沢町の高半旅館（現：高半ホテル）に逗留していたことを随筆『「雪国」の旅』で述べている。&lt;/p&gt;

&lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gu&quot;&gt;## H2 Heading&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;### H3 Heading&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;#### H4 Heading&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;##### H5 Heading&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;###### H6 Heading&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;newsletters-signup-form&quot;&gt;Newsletters Signup Form&lt;/h2&gt;

&lt;form action=&quot;//sparanoid.us2.list-manage.com/subscribe/post?u=eef500b1fe3fe595f03a27605&amp;amp;id=7bbabe95a9&quot; method=&quot;post&quot;&gt;
  &lt;input name=&quot;cm-uykhir-uykhir&quot; type=&quot;email&quot; placeholder=&quot;Your Email&quot; required=&quot;&quot; /&gt;
&lt;/form&gt;

          
          
        
      
        </content>

        
          <summary>Lorem lean startup ipsum product market fit customer development acquihire technical cofounder. User engagement A/B testing shrink a market venture capital pitch deck. Social bookmarking group buying crowded market pivot onboarding freemium prototype ping pong. Early stage disruptive ecosystem community outreach dynamic location based strategic investor.</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Custom HTML Markups</title>
        <id>https://samraza.github.io/custom-html-markups.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/custom-html-markups.html" />
        <published>2014-06-01T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;note-store-and-download&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.note&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.store&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.download&lt;/code&gt;&lt;/h2&gt;

&lt;p&gt;A paragraph block with a thin border line.&lt;/p&gt;

&lt;h3 id=&quot;usage&quot;&gt;Usage&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Download&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;download&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; it from GitHub
{: .download}

Love this plugin? please consider &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;buying me a cup of coffee&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;donate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;.
{: .store}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;example&quot;&gt;Example&lt;/h3&gt;

&lt;p class=&quot;download&quot;&gt;&lt;a href=&quot;https://github.com/sparanoid/sparanoid.com/&quot;&gt;Download&lt;/a&gt; it from GitHub&lt;/p&gt;

&lt;p class=&quot;store&quot;&gt;Love this plugin? please consider buying me a cup of coffee.&lt;/p&gt;

&lt;h2 id=&quot;largetype&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.largetype&lt;/code&gt;&lt;/h2&gt;

&lt;p&gt;Make normal paragraph text large enough.&lt;/p&gt;

&lt;h3 id=&quot;usage-1&quot;&gt;Usage&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;PayPal&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;donate&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
{: .largetype}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;example-1&quot;&gt;Example&lt;/h3&gt;

&lt;p class=&quot;largetype&quot;&gt;&lt;a href=&quot;https://sparanoid.com/donate/&quot;&gt;PayPal&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;browser&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.browser&lt;/code&gt;&lt;/h2&gt;

&lt;p&gt;A simple browser frame using pure CSS.&lt;/p&gt;

&lt;h3 id=&quot;usage-2&quot;&gt;Usage&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
{: .browser}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;example-2&quot;&gt;Example&lt;/h3&gt;

&lt;p class=&quot;browser&quot;&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/delicious.com.png&quot; alt=&quot;Delicious Preview&quot; class=&quot;no-lightense&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;lightense-images&quot;&gt;&lt;a href=&quot;https://sparanoid.com/work/lightense-images/&quot;&gt;Lightense Images&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;A simple library inspired by &lt;a href=&quot;https://github.com/tholman&quot;&gt;Tim Holman&lt;/a&gt; to view large images up close using simple mouse interaction, and the full screen.&lt;/p&gt;

&lt;h3 id=&quot;usage-3&quot;&gt;Usage&lt;/h3&gt;

&lt;p&gt;Add the following setting to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;plugin: lightense
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Markdown markup:&lt;/p&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/photo.jpg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Lightense Images is activated globally by default, if you want to disable this effect for specific image, you can simply apply &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.no-lightense&lt;/code&gt; CSS class to your image or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .no-lightense}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please note that if you’re using HTML markup, you should wrap your images into a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;p&amp;gt;&lt;/code&gt; container.&lt;/p&gt;

&lt;h3 id=&quot;example-3&quot;&gt;Example&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/moonstruck-princess-ext-red.jpg&quot; alt=&quot;Moonstruck Princess Extended - Red&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;image-sizes&quot;&gt;Image Sizes&lt;/h2&gt;

&lt;p&gt;There’re different size helpers for images. They’re available using the following CSS classes:&lt;/p&gt;

&lt;h3 id=&quot;small-size&quot;&gt;Small Size&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .size-small}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/moonstruck-princess-ext-orange.jpg&quot; alt=&quot;Moonstruck Princess Extended - orange&quot; class=&quot;size-small&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;medium-size&quot;&gt;Medium Size&lt;/h3&gt;

&lt;p&gt;The medium size is the default size of images, so you don’t need additional CSS classes for it.&lt;/p&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/moonstruck-princess-ext-yellow.jpg&quot; alt=&quot;Moonstruck Princess Extended - Yellow&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;large-size&quot;&gt;Large Size&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .size-large}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/moonstruck-princess-ext-green.jpg&quot; alt=&quot;Moonstruck Princess Extended - Green&quot; class=&quot;size-large&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;aligned-images&quot;&gt;Aligned Images&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .size-left}

&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .size-right}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/moonstruck-princess-ext-blue.jpg&quot; alt=&quot;Moonstruck Princess Extended - Blue&quot; class=&quot;size-left&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Aligned images are smaller images beside the text, you can just apply &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.size-left&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.size-right&lt;/code&gt; to your images and nothing special markup required. However, that aligned images will be responded to normal large size for small desktops or mobile devices.&lt;/p&gt;

&lt;h3 id=&quot;small-images&quot;&gt;Small Images&lt;/h3&gt;

&lt;p&gt;Useful for images smaller than container width.&lt;/p&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .no-resize}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/who-can-run.png&quot; alt=&quot;Run?&quot; class=&quot;no-resize&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;small-images-center&quot;&gt;Small Images (center)&lt;/h3&gt;

&lt;div class=&quot;language-md highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;p&quot;&gt;![&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Image&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://sparanoid.com/logo.png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;{: .no-resize.center}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;https://d349cztnlupsuf.cloudfront.net/who-can-run.png&quot; alt=&quot;Run?&quot; class=&quot;no-resize center&quot; /&gt;&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>.note, .store, and .download</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Custom Color Scheme</title>
        <id>https://samraza.github.io/custom-color-scheme.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/custom-color-scheme.html" />
        <published>2014-05-01T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;This is an example how to change your post color scheme for specific posts. You can simply add the following variables to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;scheme-text: &quot;#0029ff&quot;
scheme-link: &quot;#ff00b4&quot;
scheme-hover: &quot;#ff00b4&quot;
scheme-code: &quot;#ad00ff&quot;
scheme-bg: &quot;#00ebff&quot;
scheme-hero-text: &quot;#00ebff&quot;
scheme-hero-link: &quot;#00ebff&quot;
scheme-hero-bg: &quot;#0029ff&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can also ignore other variables if you only want to change the background:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;scheme-bg: &quot;#00ebff&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

          
          
        
      
        </content>

        
          <summary>This is an example how to change your post color scheme for specific posts. You can simply add the following variables to your post front-matter field:</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Unique Post Styling via Custom CSS</title>
        <id>https://samraza.github.io/custom-css.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/custom-css.html" />
        <published>2014-04-01T00:00:00-07:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;This is an example how to change your post styling via CSS. You can simply add the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;css&lt;/code&gt; option to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;scheme-text: &quot;#000&quot;
scheme-link: &quot;#a73300&quot;
scheme-hover: &quot;#ff4e00&quot;
scheme-code: &quot;#a73300&quot;
css: |
  body {
    background-image: linear-gradient(to bottom, #fff500, #ff8f00);
  }
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Please note that syntax highlighting may look ugly with the custom background color.&lt;/p&gt;

          
          
        
      
        </content>

        
          <summary>This is an example how to change your post styling via CSS. You can simply add the css option to your post front-matter field:</summary>
        
      </entry>
    
  
    
  
    
      

      

      <entry>
        <title>External Link Post</title>
        <id>https://samraza.github.io/external-link-post.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/external-link-post.html" />
        <published>2014-02-01T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;This is an example of a Tumblr-like external link post. You can simply add the following setting to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;link&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;https://sparanoid.com/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

          
          
        
          &lt;p&gt;&lt;a href=&quot;https://sparanoid.com/&quot;&gt;&lt;small&gt;◉ Direct Link to Original Site&lt;/small&gt;&lt;/a&gt;&lt;/p&gt;
        
      
        </content>

        
          <summary>This is an example of a Tumblr-like external link post. You can simply add the following setting to your post front-matter field:</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Custom Heading Image</title>
        <id>https://samraza.github.io/custom-heading-image.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/custom-heading-image.html" />
        <published>2014-02-01T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;This is an example of custom post heading image. You can simply add the following setting to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;heading-img&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;svg/heading-image.svg&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-img-local&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-img-width&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;400&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;In Almace Scaffolding v1.1.0, the original &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;svg-headline*&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;img-headline*&lt;/code&gt; options are deprecated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;dl&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Heading image filename, if a relative URL (non-external URL) is provided, the file will be prefixed with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.file&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img-local&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;To avoid relative URL prefixed by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.file&lt;/code&gt;, you can set this option to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt; to prefix it with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf_user_assets&lt;/code&gt;, then you can store your images in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_app/assets/&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img-width&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Set the width of your heading image. The value will be converted to viewport unit automatically. ie. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-img-width: 400&lt;/code&gt; will be converted to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;width: 40vw&lt;/code&gt;;&lt;/dd&gt;
&lt;/dl&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Pro Tips&lt;/strong&gt;: Keep a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;title&amp;gt;&lt;/code&gt; tag for your SVG can help Safari generate correct post title for its Reader mode:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nt&quot;&gt;&amp;lt;svg&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;xmlns=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;http://www.w3.org/2000/svg&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Cool Article&lt;span class=&quot;nt&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
…
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

          
          
        
      
        </content>

        
          <summary>This is an example of custom post heading image. You can simply add the following setting to your post front-matter field:</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>Custom Heading Background</title>
        <id>https://samraza.github.io/custom-heading-background.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/custom-heading-background.html" />
        <published>2014-02-01T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;p&gt;This is an example of custom heading background. You can simply add the following setting to your post &lt;a href=&quot;https://jekyllrb.com/docs/frontmatter/&quot;&gt;front-matter field&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;na&quot;&gt;heading-bg&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;img/heading-background.jpg&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-local&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-color&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;#8141b1&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-size&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;100px&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;100px&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-position&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;bottom&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-repeat&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;repeat&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;heading-bg-text&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;#fff&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;dl&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Background image filename, if a relative URL (non-external URL) is provided, the file will be prefixed with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.file&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-local&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;To avoid relative URL prefixed by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;site.file&lt;/code&gt;, you can set this option to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt; to prefix it with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;amsf_user_assets&lt;/code&gt;, then you can store your images in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_app/assets/&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-color&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Background color, recommend setting its value matches your image color tone.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-size&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Background size, default value is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cover&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-position&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Background position, default value is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;center center&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-repeat&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Background repeat, default value is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;no-repeat&lt;/code&gt;.&lt;/dd&gt;
  &lt;dt&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;heading-bg-text&lt;/code&gt;&lt;/dt&gt;
  &lt;dd&gt;Text color of the heading, set it based on your background image.&lt;/dd&gt;
&lt;/dl&gt;

&lt;blockquote&gt;
  &lt;p&gt;Heading image copyright info:
© 士郎正宗・Production I.G／講談社・「攻殻機動隊」製作委員会&lt;/p&gt;
&lt;/blockquote&gt;

          
          
        
      
        </content>

        
          <summary>This is an example of custom heading background. You can simply add the following setting to your post front-matter field:</summary>
        
      </entry>
    
  
    
      

      

      <entry>
        <title>GitHub Pages Setup Guide</title>
        <id>https://samraza.github.io/github-pages-setup.html</id>
        <link rel="alternate" type="text/html" href="https://samraza.github.io/github-pages-setup.html" />
        <published>2014-01-01T00:00:00-08:00</published>

        
          <updated>2026-05-22T10:06:26-07:00</updated>
        

        <author>
          <name>Sam Raza</name>
          <uri>https://samraza.xyz/</uri>
          <email>hello@samraza.xyz</email>
        </author>

        <content type="html" xml:base="https://samraza.github.io/">
          
            &lt;h2 id=&quot;the-problem&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;In short answer: yes, but additional actions required.&lt;/p&gt;

&lt;p&gt;tl;dr: You can serve AMSF as a static site on GitHub Pages, but not a Jekyll site using Jekyll renderer provided by GitHub Pages.&lt;/p&gt;

&lt;p&gt;There’re some factors that prevent it from generating pages using GitHub Pages renderer:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Many features Almace Scaffolding provides like LiveReload, Sass support, inline SVG, and HTML minification are implemented using &lt;a href=&quot;https://gruntjs.com/&quot;&gt;Grunt.js&lt;/a&gt;, it’s not supported by GitHub Pages.&lt;/li&gt;
  &lt;li&gt;Almace Scaffolding uses the latest pre-release Jekyll, so not all features are supported by GitHub Pages renderers.&lt;/li&gt;
  &lt;li&gt;GItHub Pages build server &lt;a href=&quot;https://help.github.com/articles/pages-don-t-build-unable-to-run-jekyll#source-setting&quot;&gt;overwrites the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;source&lt;/code&gt; settings&lt;/a&gt;. This prevents it from generating pages from current file structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;the-solution-for-users-or-organization-sites&quot;&gt;The Solution for Users or Organization Sites&lt;/h2&gt;

&lt;p&gt;Since GitHub Pages for users or organization sites can only be served from the root directory of your master branch. You have to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Make sure your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;baseurl&lt;/code&gt; is set to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;&quot;&lt;/code&gt; (empty) in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Build your site locally (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt build&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;Use your own method, create a script, bash, whatever it works to move the generated pages to the root directory of your repository.&lt;/li&gt;
  &lt;li&gt;Upload Jekyll generated static files to your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;username.github.io&lt;/code&gt; repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’d like to keep all things under Git control, you can try the following file structure:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;├── _amsf/ (Almace Scaffolding source code)
├── *.html (Jekyll-generated static pages)
└── README.md (your own readme)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can see this &lt;a href=&quot;https://github.com/amsf/amsf.github.io/&quot;&gt;live demo&lt;/a&gt; how it actually works.&lt;/p&gt;

&lt;h2 id=&quot;the-solution-for-project-sites&quot;&gt;The Solution for Project Sites&lt;/h2&gt;

&lt;p&gt;Things can be simpler if you need AMSF for your project sites since GitHub Pages supports serve your site from a subdirectory:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Make the following changes in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Change &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;destination&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docs&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Change &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;baseurl&lt;/code&gt; to the name of your repository slug, ie. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/my-project&lt;/code&gt;.&lt;/li&gt;
      &lt;li&gt;Change &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;flatten_base&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;true&lt;/code&gt;.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Build your site locally (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grunt build&lt;/code&gt;).&lt;/li&gt;
  &lt;li&gt;Push changes to GitHub&lt;/li&gt;
&lt;/ul&gt;

          
          
        
      
        </content>

        
          <summary>The Problem</summary>
        
      </entry>
    
  
</feed>
