<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Org:cardboardci on jrbeverly</title><link>https://workbench.jrbeverly.ca/tags/orgcardboardci/</link><description>Recent content in Org:cardboardci on jrbeverly</description><generator>Hugo</generator><language>en-CA</language><lastBuildDate>Mon, 20 Apr 2020 03:31:14 +0000</lastBuildDate><atom:link href="https://workbench.jrbeverly.ca/tags/orgcardboardci/index.xml" rel="self" type="application/rss+xml"/><item><title>dockerfiles</title><link>https://workbench.jrbeverly.ca/2020/04/cardboardci-dockerfiles/</link><pubDate>Mon, 20 Apr 2020 03:31:14 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2020/04/cardboardci-dockerfiles/</guid><description>&lt;h1 id="cardboardci-dockerfiles"&gt;cardboardci-dockerfiles&lt;/h1&gt;
&lt;p&gt;Dockerfiles for &lt;a
 href="https://hub.docker.com/r/cardboardci" target="_blank" rel="noreferrer"&gt;CardboardCI&amp;rsquo;s Docker images&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>bazel-docker-awscli</title><link>https://workbench.jrbeverly.ca/2019/11/cardboardci-bazel-docker-awscli/</link><pubDate>Tue, 26 Nov 2019 22:15:52 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/11/cardboardci-bazel-docker-awscli/</guid><description>&lt;h1 id="docker-awscli-built-with-bazel"&gt;Docker AWSCLI Built with Bazel&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.&lt;/p&gt;</description></item><item><title>docker-markdownlint</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-markdownlint/</link><pubDate>Sun, 27 Oct 2019 02:34:03 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-markdownlint/</guid><description>&lt;h1 id="docker-image-for-markdownlint"&gt;Docker image for MarkdownLint&lt;/h1&gt;
&lt;p&gt;A tool to check markdown files and flag style issues. To have markdownlint check your markdown files, simply run mdl with the filenames as a parameter:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mdl README.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Markdownlint can also take a directory, and it will scan all markdown files within the directory (and nested directories):&lt;/p&gt;</description></item><item><title>docker-ci-core</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-ci-core/</link><pubDate>Sun, 27 Oct 2019 02:27:12 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-ci-core/</guid><description>&lt;h1 id="ci-core"&gt;CI Core&lt;/h1&gt;
&lt;p&gt;CI-core is a special Docker image that is configured for running in CI environments. It is Ubuntu, with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A docker user&lt;/li&gt;
&lt;li&gt;A directory workspace&lt;/li&gt;
&lt;li&gt;Mechanisms for running build tools (json, web requests, etc)&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-cppcheck</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-cppcheck/</link><pubDate>Sun, 27 Oct 2019 02:27:01 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-cppcheck/</guid><description>&lt;h1 id="docker-image-for-cppcheck"&gt;Docker image for CppCheck&lt;/h1&gt;
&lt;p&gt;Cppcheck is an analysis tool for C/C++ code. It provides unique code analysis
to detect bugs and focuses on detecting undefined behaviour and dangerous
coding constructs. The goal is to detect only real errors in the code (i.e. have
very few false positives).&lt;/p&gt;</description></item><item><title>docker-dbxcli</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-dbxcli/</link><pubDate>Sun, 27 Oct 2019 02:26:48 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-dbxcli/</guid><description>&lt;h1 id="docker-image-for-aws-cli"&gt;Docker image for AWS CLI&lt;/h1&gt;
&lt;p&gt;A command line client for Dropbox built using the Go SDK&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supports basic file operations like ls, cp, mkdir, mv (via the Files API)&lt;/li&gt;
&lt;li&gt;Supports search&lt;/li&gt;
&lt;li&gt;Supports file revisions and file restore&lt;/li&gt;
&lt;li&gt;Chunked uploads for large files, paginated listing for large directories&lt;/li&gt;
&lt;li&gt;Supports a growing set of Team operations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see the source repository &lt;a
 href="https://github.com/dropbox/dbxcli" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>docker-htmlhint</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-htmlhint/</link><pubDate>Sun, 27 Oct 2019 02:25:50 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-htmlhint/</guid><description>&lt;h1 id="docker-image-for-htmlhint"&gt;Docker image for HTMLHint&lt;/h1&gt;
&lt;p&gt;The static code analysis tool you need for your HTML.&lt;/p&gt;
&lt;p&gt;You can see the source repository &lt;a
 href="https://github.com/htmlhint/HTMLHint" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can run awscli to manage your AWS services.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aws iam list-users
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aws s3 cp /tmp/foo/ s3://bucket/ --recursive --exclude &lt;span class="s2"&gt;&amp;#34;*&amp;#34;&lt;/span&gt; --include &lt;span class="s2"&gt;&amp;#34;*.jpg&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;aws sts assume-role --role-arn arn:aws:iam::123456789012:role/xaccounts3access --role-session-name s3-access-example
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="pull-latest-image"&gt;Pull latest image&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull cardboardci/htmlhint
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="test-interactively"&gt;Test interactively&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it cardboardci/htmlhint /bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="run-basic-aws-command"&gt;Run basic AWS command&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it -v &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;:/workspace cardboardci/htmlhint aws s3 cp file.txt s3://bucket/file.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="run-aws-cli-with-custom-profile"&gt;Run AWS CLI with custom profile&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -it -v &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="k"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;&lt;span class="k"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;:/workspace -v &lt;span class="s2"&gt;&amp;#34;~/.aws/&amp;#34;&lt;/span&gt;:/cardboardci/.aws/ cardboardci/htmlhint aws s3 cp file.txt s3://bucket/file.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="continuous-integration-services"&gt;Continuous Integration Services&lt;/h3&gt;
&lt;p&gt;For each of the following services, you can see an example of this image in that environment:&lt;/p&gt;</description></item><item><title>docker-luacheck</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-luacheck/</link><pubDate>Sun, 27 Oct 2019 02:25:40 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-luacheck/</guid><description>&lt;h1 id="docker-image-for-luacheck"&gt;Docker image for LuaCheck&lt;/h1&gt;
&lt;p&gt;Luacheck is a static analyzer and a linter for Lua. Luacheck detects various issues such as usage of undefined global variables, unused variables and values, accessing uninitialized variables, unreachable code and more. Most aspects of checking are configurable: there are options for defining custom project-related globals, for selecting set of standard globals (version of Lua standard library), for filtering warnings by type and name of related variable, etc. The options can be used on the command line, put into a config or directly into checked files as Lua comments.&lt;/p&gt;</description></item><item><title>docker-pylint</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-pylint/</link><pubDate>Sun, 27 Oct 2019 02:25:18 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-pylint/</guid><description>&lt;h1 id="docker-image-for-pylint"&gt;Docker image for PyLint&lt;/h1&gt;
&lt;p&gt;Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple refactoring suggestions.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s highly configurable, having special pragmas to control its errors and warnings from within your code, as well as from an extensive configuration file. It is also possible to write your own plugins for adding your own checks or for extending pylint in one way or another.&lt;/p&gt;</description></item><item><title>docker-rsvg</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-rsvg/</link><pubDate>Sun, 27 Oct 2019 02:25:06 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-rsvg/</guid><description>&lt;h1 id="docker-image-for-render-svgs"&gt;Docker image for Render SVGs&lt;/h1&gt;
&lt;p&gt;A utility to render Scalable Vector Graphics (SVG), associated with the GNOME Project. It renders SVG files to Cairo surfaces. Cairo is the 2D, antialiased drawing library that GNOME uses to draw things to the screen or to generate output for printing.&lt;/p&gt;</description></item><item><title>docker-rubocop</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-rubocop/</link><pubDate>Sun, 27 Oct 2019 02:24:56 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-rubocop/</guid><description>&lt;h1 id="docker-image-for-rubocop"&gt;Docker image for Rubocop&lt;/h1&gt;
&lt;p&gt;RuboCop is a Ruby static code analyzer and code formatter. Out of the box it will enforce many of the guidelines outlined in the community Ruby Style Guide.&lt;/p&gt;</description></item><item><title>docker-stylelint</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-stylelint/</link><pubDate>Sun, 27 Oct 2019 02:24:42 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-docker-stylelint/</guid><description>&lt;h1 id="docker-image-for-stylelint"&gt;Docker image for StyleLint&lt;/h1&gt;
&lt;p&gt;A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s mighty because it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;understands the latest CSS syntax including custom properties and level 4 selectors&lt;/li&gt;
&lt;li&gt;extracts embedded styles from HTML, markdown and CSS-in-JS object &amp;amp; template literals&lt;/li&gt;
&lt;li&gt;parses CSS-like syntaxes like SCSS, Sass, Less and SugarSS&lt;/li&gt;
&lt;li&gt;has over 170 built-in rules to catch errors, apply limits and enforce stylistic conventions&lt;/li&gt;
&lt;li&gt;supports plugins so you can create your own rules or make use of plugins written by the community&lt;/li&gt;
&lt;li&gt;automatically fixes some violations (experimental feature)&lt;/li&gt;
&lt;li&gt;is well tested with over 10000 unit tests&lt;/li&gt;
&lt;li&gt;supports shareable configs that you can extend or create your own of&lt;/li&gt;
&lt;li&gt;is unopinionated so you can tailor the linter to your exact needs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/stylelint/stylelint" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>readme</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-readme/</link><pubDate>Sun, 27 Oct 2019 02:06:14 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-readme/</guid><description>&lt;h1 id="cardboardci"&gt;CardboardCI&lt;/h1&gt;
&lt;p&gt;A collection of docker images that provide a common core for use in continuous integration.&lt;/p&gt;
&lt;p&gt;The idea of these images is to balance the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Frequency of updates&lt;/li&gt;
&lt;li&gt;Standard set of tooling&lt;/li&gt;
&lt;li&gt;Common Environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="background-notes"&gt;Background Notes&lt;/h2&gt;
&lt;p&gt;I encountered a lot of difficult with trying to automate the updating of those docker images. GitLab does not really have the idea of &lt;code&gt;bots&lt;/code&gt;. Instead it would require a personal access token for my account, if I wanted to make commits. I didn&amp;rsquo;t like, as that would grant access to pretty much every one of my repositories. At the time I was self-hosting Gitlab, so I opted to just create additional users that would be my bots.&lt;/p&gt;</description></item><item><title>slim-docker-with-gitlab</title><link>https://workbench.jrbeverly.ca/2019/10/cardboardci-slim-docker-with-gitlab/</link><pubDate>Sat, 05 Oct 2019 20:39:56 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/10/cardboardci-slim-docker-with-gitlab/</guid><description>&lt;h1 id="minimizing-docker-builds"&gt;Minimizing Docker Builds&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A GitlabCI repository designed to experiment with potential avenues for minimizing the size of a build image.&lt;/p&gt;
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Experiment with flags from &lt;code&gt;docker:1.13&lt;/code&gt; for minimizing the process&lt;/li&gt;
&lt;li&gt;Compress the build-context that is sent to the daemon (&lt;code&gt;compress&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Squash the layers using the &lt;code&gt;--squash&lt;/code&gt; flag&lt;/li&gt;
&lt;li&gt;Experiment with the tool &lt;code&gt;docker-slim&lt;/code&gt; for shrinking the build image&lt;/li&gt;
&lt;li&gt;Issues with permissions on the tooling are preventing deployment in Gitlab&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>docker-wkhtmltopdf</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-wkhtmltopdf/</link><pubDate>Sat, 02 Mar 2019 18:00:13 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-wkhtmltopdf/</guid><description>&lt;h1 id="docker-image-for-wkhtmltopdf"&gt;Docker image for WkHtmlToPDF&lt;/h1&gt;
&lt;p&gt;wkhtmltopdf and wkhtmltoimage are open source (LGPLv3) command line tools to render HTML into PDF and various image formats using the Qt WebKit rendering engine. These run entirely &amp;ldquo;headless&amp;rdquo; and do not require a display or display service.&lt;/p&gt;</description></item><item><title>docker-svgtools</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-svgtools/</link><pubDate>Sat, 02 Mar 2019 17:59:57 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-svgtools/</guid><description>&lt;h1 id="docker-image-for-svg-tools"&gt;Docker image for SVG Tools&lt;/h1&gt;
&lt;p&gt;SVG Tools are a collection of tools for working with vector graphics.&lt;/p&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/inkscape/inkscape" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can run awscli to manage your AWS services.&lt;/p&gt;</description></item><item><title>docker-surge</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-surge/</link><pubDate>Sat, 02 Mar 2019 17:59:56 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-surge/</guid><description>&lt;h1 id="docker-image-for-surge"&gt;Docker image for Surge&lt;/h1&gt;
&lt;p&gt;This is the CLI client for the surge.sh hosted service. It’s what gets installed when you run &lt;code&gt;npm install -g surge&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This CLI library manages access tokens locally and handles the upload and subsequent reporting when you publish a project using surge.&lt;/p&gt;</description></item><item><title>docker-shellcheck</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-shellcheck/</link><pubDate>Sat, 02 Mar 2019 17:59:54 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-shellcheck/</guid><description>&lt;h1 id="docker-image-for-shellcheck"&gt;Docker image for Shellcheck&lt;/h1&gt;
&lt;p&gt;ShellCheck is a GPLv3 tool that gives warnings and suggestions for bash/sh shell scripts:&lt;/p&gt;
&lt;p&gt;The goals of ShellCheck are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To point out and clarify typical beginner&amp;rsquo;s syntax issues that cause a shell to give cryptic error messages.&lt;/li&gt;
&lt;li&gt;To point out and clarify typical intermediate level semantic problems that cause a shell to behave strangely and counter-intuitively.&lt;/li&gt;
&lt;li&gt;To point out subtle caveats, corner cases and pitfalls that may cause an advanced user&amp;rsquo;s otherwise working script to fail under future circumstances.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/koalaman/shellcheck" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>docker-psscriptanalyzer</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-psscriptanalyzer/</link><pubDate>Sat, 02 Mar 2019 17:59:53 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-psscriptanalyzer/</guid><description>&lt;h1 id="docker-image-for-psscriptanalyzer"&gt;Docker image for PSScriptAnalyzer&lt;/h1&gt;
&lt;p&gt;PSScriptAnalyzer is a static code checker for Windows PowerShell modules and scripts. PSScriptAnalyzer checks the quality of Windows PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements.&lt;/p&gt;</description></item><item><title>docker-pdftools</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-pdftools/</link><pubDate>Sat, 02 Mar 2019 17:59:51 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-pdftools/</guid><description>&lt;h1 id="docker-image-for-pdftools"&gt;Docker image for PdfTools&lt;/h1&gt;
&lt;p&gt;Scientific articles are typically locked away in PDF format, a format designed primarily for printing but not so great for searching or indexing. The new pdftools package allows for extracting text and metadata from pdf files in R. From the extracted plain-text one could find articles discussing a particular drug or species name, without having to rely on publishers providing metadata, or pay-walled search engines.&lt;/p&gt;</description></item><item><title>docker-pdf2htmlex</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-pdf2htmlex/</link><pubDate>Sat, 02 Mar 2019 17:59:49 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-pdf2htmlex/</guid><description>&lt;h1 id="docker-image-for-pdf2htmlex"&gt;Docker image for Pdf2HtmlEX&lt;/h1&gt;
&lt;p&gt;pdf2htmlEX renders PDF files in HTML, utilizing modern Web technologies. Academic papers with lots of formulas and figures? Magazines with complicated layouts? No problem!&lt;/p&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Native HTML text with precise font and location.&lt;/li&gt;
&lt;li&gt;Flexible output: all-in-one HTML or on demand page loading (needs JavaScript).&lt;/li&gt;
&lt;li&gt;Moderate file size, sometimes even smaller than PDF.&lt;/li&gt;
&lt;li&gt;Supporting links, outlines (bookmarks), printing, SVG background, Type 3 fonts and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/coolwanglu/pdf2htmlEX" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>docker-netlify</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-netlify/</link><pubDate>Sat, 02 Mar 2019 17:59:48 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-netlify/</guid><description>&lt;h1 id="docker-image-for-netlify"&gt;Docker image for Netlify&lt;/h1&gt;
&lt;p&gt;The Netlify CLI facilitates the deployment of websites to Netlify, to improve the site building experience.&lt;/p&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/netlify/cli" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can run awscli to manage your AWS services.&lt;/p&gt;</description></item><item><title>docker-latex</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-latex/</link><pubDate>Sat, 02 Mar 2019 17:59:46 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-latex/</guid><description>&lt;h1 id="docker-image-for-latex"&gt;Docker image for LaTeX&lt;/h1&gt;
&lt;p&gt;LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents. LaTeX is available as free software.&lt;/p&gt;</description></item><item><title>docker-hugo</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-hugo/</link><pubDate>Sat, 02 Mar 2019 17:59:45 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-hugo/</guid><description>&lt;h1 id="docker-image-for-hugo"&gt;Docker image for Hugo&lt;/h1&gt;
&lt;p&gt;Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.&lt;/p&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/gohugoio/hugo/" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>docker-gitlab</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-gitlab/</link><pubDate>Sat, 02 Mar 2019 17:59:42 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-gitlab/</guid><description>&lt;h1 id="docker-image-for-gitlabcli"&gt;Docker image for GitLabCLI&lt;/h1&gt;
&lt;p&gt;What is GitLabCLI ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s a cross platform GitLab command line tool to quickly &amp;amp; naturally perform frequent tasks on GitLab project.&lt;/li&gt;
&lt;li&gt;It does not force you to hand craft json or use other unnatural ways (for example ids, concatenating of strings) like other CLI&amp;rsquo;s to interact with GitLab.&lt;/li&gt;
&lt;li&gt;It does not have any dependencies.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s self contained .NET core application - you don&amp;rsquo;t need to have .NET installed for it to work.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can see the source repository &lt;a
 href="https://github.com/nmklotas/GitLabCLI" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>docker-ecr</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-ecr/</link><pubDate>Sat, 02 Mar 2019 17:59:40 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-ecr/</guid><description>&lt;h1 id="docker-image-for-aws-cli--docker"&gt;Docker image for AWS CLI &amp;amp; Docker&lt;/h1&gt;
&lt;p&gt;The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts. This container includes docker, allowing deployments to Amazon Elastic Container Registry (ECR), a fully-managed Docker container registry.&lt;/p&gt;</description></item><item><title>docker-bats</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-bats/</link><pubDate>Sat, 02 Mar 2019 17:59:39 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-bats/</guid><description>&lt;h1 id="docker-image-for-bats-bash-automated-testing-system"&gt;Docker image for Bats (Bash Automated Testing System)&lt;/h1&gt;
&lt;p&gt;Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected.&lt;/p&gt;</description></item><item><title>docker-awscli</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-awscli/</link><pubDate>Sat, 02 Mar 2019 17:59:37 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-awscli/</guid><description>&lt;h1 id="docker-image-for-aws-cli"&gt;Docker image for AWS CLI&lt;/h1&gt;
&lt;p&gt;The AWS Command Line Interface (CLI) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.&lt;/p&gt;</description></item><item><title>docker-github</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-github/</link><pubDate>Sat, 02 Mar 2019 17:58:39 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-github/</guid><description>&lt;h1 id="docker-image-for-githubcli"&gt;Docker image for GitHubCLI&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;hub&lt;/code&gt; is an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal. &lt;code&gt;hub&lt;/code&gt; can be safely aliased as git so you can type &lt;code&gt;$ git &amp;lt;command&amp;gt;&lt;/code&gt;in the shell and get all the usual hub features.&lt;/p&gt;</description></item><item><title>docker-hadolint</title><link>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-hadolint/</link><pubDate>Sat, 02 Mar 2019 17:51:37 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/03/cardboardci-docker-hadolint/</guid><description>&lt;h1 id="docker-image-for-hadolint"&gt;Docker image for HadoLint&lt;/h1&gt;
&lt;p&gt;A smarter Dockerfile linter that helps you build best practice Docker images. The linter is parsing the Dockerfile into an AST and performs rules on top of the AST. It is standing on the shoulders of ShellCheck to lint the Bash code inside RUN instructions.&lt;/p&gt;</description></item><item><title>docker-win-awscli</title><link>https://workbench.jrbeverly.ca/2019/02/cardboardci-docker-win-awscli/</link><pubDate>Tue, 26 Feb 2019 17:40:22 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2019/02/cardboardci-docker-win-awscli/</guid><description>&lt;h1 id="docker-awscli"&gt;Docker AWSCLI&lt;/h1&gt;
&lt;p&gt;A docker image based on Windows containing the awscli.&lt;/p&gt;</description></item><item><title>docker-tflint</title><link>https://workbench.jrbeverly.ca/2018/12/cardboardci-docker-tflint/</link><pubDate>Wed, 26 Dec 2018 00:11:06 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2018/12/cardboardci-docker-tflint/</guid><description>&lt;h1 id="docker-image-for-tflint"&gt;Docker image for TfLint&lt;/h1&gt;
&lt;p&gt;TFLint is a Terraform linter focused on possible errors, best practices, etc.&lt;/p&gt;
&lt;p&gt;You can see the cli reference &lt;a
 href="https://github.com/terraform-linters/tflint" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can run awscli to manage your AWS services.&lt;/p&gt;</description></item><item><title>ci-wkhtmltopdf</title><link>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-wkhtmltopdf/</link><pubDate>Fri, 02 Nov 2018 00:52:06 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-wkhtmltopdf/</guid><description>&lt;h1 id="dockerized-wkhtmltopdf"&gt;Dockerized WKHtmlToPDF&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with &lt;a
 href="https://wkhtmltopdf.org/" target="_blank" rel="noreferrer"&gt;wkhtmltopdf&lt;/a&gt;
 installed. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-wkhtmltopdf/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can use this image locally with &lt;code&gt;docker run&lt;/code&gt;, calling &lt;code&gt;wkhtmltopdf&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>ci-optipng</title><link>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-optipng/</link><pubDate>Fri, 02 Nov 2018 00:52:03 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-optipng/</guid><description>&lt;h1 id="dockerized-optipng"&gt;Dockerized Optipng&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small Alpine image with OptiPNG installed. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-optipng/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-minify</title><link>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-minify/</link><pubDate>Fri, 02 Nov 2018 00:52:02 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2018/11/cardboardci-ci-minify/</guid><description>&lt;h1 id="dockerized-minify"&gt;Dockerized Minify&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with Minify. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-minify/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can use this image locally with &lt;code&gt;docker run&lt;/code&gt;, calling &lt;code&gt;minify&lt;/code&gt; as such:&lt;/p&gt;</description></item><item><title>vagrant-desktop-docker</title><link>https://workbench.jrbeverly.ca/2017/09/cardboardci-vagrant-desktop-docker/</link><pubDate>Sat, 23 Sep 2017 17:15:34 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/09/cardboardci-vagrant-desktop-docker/</guid><description>&lt;h1 id="vagrant-docker-desktop"&gt;Vagrant Docker Desktop&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;Provide a method of reproducible graphical development environments based on Linux. This repository provides a base Docker Desktop environment, sandboxed on your local computer.&lt;/p&gt;
&lt;h2 id="getting-started"&gt;Getting Started&lt;/h2&gt;
&lt;p&gt;You can use this locally with &lt;code&gt;vagrant up&lt;/code&gt;, calling as such:&lt;/p&gt;</description></item><item><title>ci-alpine</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-alpine/</link><pubDate>Wed, 31 May 2017 23:02:24 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-alpine/</guid><description>&lt;h1 id="docker-alpine-base"&gt;Docker Alpine Base&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with basic development libraries installed. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-alpine/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-pdf2htmlex</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-pdf2htmlex/</link><pubDate>Wed, 31 May 2017 23:02:17 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-pdf2htmlex/</guid><description>&lt;h1 id="dockerized-pdf2htmlex"&gt;Dockerized pdf2htmlEX&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with pdf2htmlEX installed. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-pdf2htmlex/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can use this image locally with &lt;code&gt;docker run&lt;/code&gt;, calling &lt;code&gt;pdf2htmlEX&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>ci-glibc</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-glibc/</link><pubDate>Wed, 31 May 2017 23:02:05 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-glibc/</guid><description>&lt;h1 id="dockerized-glibc"&gt;Dockerized GLibC&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with glibc installed, to allow binaries compiled against glibc to work. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-glibc/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-latex</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-latex/</link><pubDate>Wed, 31 May 2017 23:01:43 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-latex/</guid><description>&lt;h1 id="dockerized-latex"&gt;Dockerized LaTeX&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;Comprehensive TeX document production system for use as a continuous integration image. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-latex/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-boilerplate</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-boilerplate/</link><pubDate>Wed, 31 May 2017 23:01:35 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-boilerplate/</guid><description>&lt;h1 id="boilerplate-for-docker-repository"&gt;Boilerplate for Docker Repository&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A boilerplate template for specifying a docker image using the makefile build approach. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-boilerplate/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This model of creating docker image has been deprecated.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-baseimage</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-baseimage/</link><pubDate>Wed, 31 May 2017 23:01:25 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-baseimage/</guid><description>&lt;h1 id="docker-baseimage"&gt;Docker Baseimage&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image to act as a baseimage for continuous integration images. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-baseimage/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>ci-rsvg</title><link>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-rsvg/</link><pubDate>Wed, 31 May 2017 23:01:15 +0000</pubDate><guid>https://workbench.jrbeverly.ca/2017/05/cardboardci-ci-rsvg/</guid><description>&lt;h1 id="dockerized-rsvg"&gt;Dockerized RSvg&lt;/h1&gt;
&lt;h2 id="summary"&gt;Summary&lt;/h2&gt;
&lt;p&gt;A super small image with &lt;a
 href="http://manpages.ubuntu.com/manpages/zesty/man1/rsvg-convert.1.html" target="_blank" rel="noreferrer"&gt;librsvg&lt;/a&gt;
 installed. The project icon is from &lt;a
 href="https://github.com/cardboardci/ci-rsvg/blob/HEAD/docs/icon/icon.json" target="_blank" rel="noreferrer"&gt;cre.ativo mustard, HK from the Noun Project&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE: This image is marked EOL, and use is discouraged.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="usage"&gt;Usage&lt;/h2&gt;
&lt;p&gt;You can use this image locally with &lt;code&gt;docker run&lt;/code&gt;, calling &lt;code&gt;rsvg-convert&lt;/code&gt; to rasterize an image:&lt;/p&gt;</description></item></channel></rss>