<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects feed</title><description>The latest projects published on Armand Philippot&apos;s website.</description><link>https://armand.philippot.eu/</link><language>en-us</language><atom:link href="https://armand.philippot.eu/en/projects/feed.xml" rel="self" type="application/rss+xml"/><item><title>[Project] Armand.Philippot.Eu</title><link>https://armand.philippot.eu/en/projects/armand-philippot-eu/</link><guid isPermaLink="true">https://armand.philippot.eu/en/projects/armand-philippot-eu/</guid><description>Find out how this website is built.</description><pubDate>Sat, 25 Jan 2025 17:04:00 GMT</pubDate><content:encoded>&lt;p&gt;Early 2025, I &lt;a href=&quot;https://armand.philippot.eu/blog/posts/new-website&quot;&gt;announced the launch of this new website&lt;/a&gt;. I shortly mentioned my technical choices. Here, I’d like to bring a little more details.&lt;/p&gt;
&lt;h2 id=&quot;a-static-website-built-with-astro&quot;&gt;A static website built with Astro&lt;/h2&gt;
&lt;p&gt;This website is content-oriented and doesn’t require a lot of updates client-side. Generating a static website therefore seems more appropriate than an website rendered on demand.&lt;/p&gt;
&lt;h3 id=&quot;decision-drivers&quot;&gt;Decision drivers&lt;/h3&gt;
&lt;p&gt;Here a list more or less exhaustive of the features I wanted :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a contact form,&lt;/li&gt;
&lt;li&gt;a search form with an index generated at build time,&lt;/li&gt;
&lt;li&gt;several RSS feeds,&lt;/li&gt;
&lt;li&gt;i18n support,&lt;/li&gt;
&lt;li&gt;managing contents with Markdown (&lt;code&gt;.md&lt;/code&gt; and not &lt;code&gt;.mdx&lt;/code&gt; preferably), including frontmatter support (in YAML format for portability),&lt;/li&gt;
&lt;li&gt;extend the Markdown syntax with remark/rehype if needed,&lt;/li&gt;
&lt;li&gt;customize the rendering of Markdown elements,&lt;/li&gt;
&lt;li&gt;separate the website source code from the contents,&lt;/li&gt;
&lt;li&gt;include user settings (ie. changing theme),&lt;/li&gt;
&lt;li&gt;offers a comments area.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also wanted the site to work without Javascript and not have more scripts than necessary. So, I excluded Next.js that I was using with my previous website.&lt;/p&gt;
&lt;h3 id=&quot;considered-options&quot;&gt;Considered options&lt;/h3&gt;
&lt;p&gt;Among the most popular solutions, there are Hugo and Jekyll of course. I still wanted to explore the other possible choices with the help of the &lt;a href=&quot;https://jamstack.org/generators/&quot;&gt;Jamstack&lt;/a&gt; website. The list is pretty long so I haven’t looked at everything. The projects that seemed most interesting to me were Zola, Astro, Nikola, Metalsmith, Pelican, and Hexo.&lt;/p&gt;
&lt;h3 id=&quot;decision-outcome&quot;&gt;Decision outcome&lt;/h3&gt;
&lt;p&gt;After comparing the features I wanted to use and what the different &lt;abbr title=&quot;Static Site Generators&quot;&gt;SSGs&lt;/abbr&gt; offered, I chose to use &lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt; with &lt;a href=&quot;https://pagefind.app/&quot;&gt;Pagefind&lt;/a&gt; to deal with the search results.&lt;/p&gt;
&lt;p&gt;Astro seemed to be the only one that met all of my needs, or almost. I haven’t implemented a comment area yet, but I know it’s something possible. The only point I haven’t resolved is the use of &lt;code&gt;.md&lt;/code&gt; instead of &lt;code&gt;.mdx&lt;/code&gt; to write my contents while customizing the rendering.&lt;/p&gt;
&lt;p&gt;Regarding the components that require a bit of interactivity like the contact form, I chose to use &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements&quot;&gt;custom elements&lt;/a&gt; instead of a framework even if it’s possible with Astro !&lt;/p&gt;
&lt;h2 id=&quot;managing-the-contents&quot;&gt;Managing the contents&lt;/h2&gt;
&lt;h3 id=&quot;my-starting-wish&quot;&gt;My starting wish&lt;/h3&gt;
&lt;p&gt;I wanted portable contents editable from any text editor. Markdown seems to me to be a good choice. With the help of the &lt;a href=&quot;https://unifiedjs.com/&quot;&gt;unified&lt;/a&gt; ecosystem, I can extend the syntax to answer my editorial needs. From this observation, I thought I could avoid MDX and use the &lt;code&gt;.md&lt;/code&gt; extension for my contents.&lt;/p&gt;
&lt;h3 id=&quot;some-issues&quot;&gt;Some issues&lt;/h3&gt;
&lt;p&gt;Astro supports the use of a &lt;code&gt;components&lt;/code&gt; property while using &lt;code&gt;&amp;lt;Content /&amp;gt;&lt;/code&gt; to map some components to elements. However, this &lt;strong&gt;only works with MDX&lt;/strong&gt;. There are some discussion around this topic (especially the ones opened &lt;a href=&quot;https://github.com/withastro/roadmap/discussions/769&quot;&gt;by noghartt&lt;/a&gt; and &lt;a href=&quot;https://github.com/withastro/roadmap/discussions/423&quot;&gt;by wassfila&lt;/a&gt;) but I doubt it will ever be possible. &lt;/p&gt;
&lt;p&gt;Likewise, since Markdown is directly rendered as HTML, it doesn’t seem possible to inject a component using remark or rehype. At least, I haven’t found a way to do that yet. MDX, in another hand, is rendered as JSX; It is therefore possible to do this to avoid importing components into the content.&lt;/p&gt;
&lt;h3 id=&quot;my-decision&quot;&gt;My decision&lt;/h3&gt;
&lt;p&gt;So I chose to use MDX for now without actually using MDX: any written content can be copied/pasted into a Markdown file without any compatibility issues (I don’t use imports or variable declarations). That said, I will continue to look for a solution.&lt;/p&gt;
&lt;p&gt;Between the start of the project and the current version (&lt;code&gt;v1.0.3&lt;/code&gt;), I moved some styles declared in the components to the global scope. With this change, I reduced the number of components defined in the &lt;code&gt;components&lt;/code&gt; property. However, I can’t do without all the mapping unless I get a little more verbose in my files and move even more styles around.&lt;/p&gt;
&lt;p&gt;There is also the problem of injected components. Currently the only component I inject using Rehype is for my code blocks. I can find another solution I guess… We’ll see!&lt;/p&gt;
&lt;h2 id=&quot;deployment&quot;&gt;Deployment&lt;/h2&gt;
&lt;p&gt;In my decision drivers, I mentioned that I wanted to separate my source code from my contents. I achieved that by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;declaring the contents directory path as an environment variable&lt;/li&gt;
&lt;li&gt;creating a second repository housing my contents and the website source code as a Git submodule.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have some cache (or routing) issues when I run the &lt;code&gt;dev&lt;/code&gt; command in the second repository. So the solution is not perfect, but I’m fine with that. I don’t need the server when I’m writing. I only use it at the end to check the rendering.&lt;/p&gt;
&lt;p&gt;In this second repository, I’m using Docker to build an image of the website before pushing it to a private registry. Then, on my VPS, all I need to do is to fetch the image and to update my container.&lt;/p&gt;
&lt;h2 id=&quot;tldr&quot;&gt;TL;DR&lt;/h2&gt;
&lt;p&gt;This website is built with the help of Astro (using vanilla CSS/JS and some custom elements), Pagefind, MDX and Docker and I’m pretty satisfy with the result! Well, I say vanilla JS but I mostly use Typescript.&lt;/p&gt;</content:encoded><category>Astro</category></item><item><title>[Project] Dotig</title><link>https://armand.philippot.eu/en/projects/dotig/</link><guid isPermaLink="true">https://armand.philippot.eu/en/projects/dotig/</guid><description>A dotfiles manager.</description><pubDate>Tue, 21 Jan 2025 19:25:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;p&gt;This is not a new project: I moved this introduction from my old website and translated it into English. So the publication date doesn’t match the project date. This is an old project. Currently, it is not archived but it is not really maintained neither.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;I was looking for a way to manage my dotfiles efficiently with Git. I have tested some tools without being satisfy. So I decided to create my own dotfiles manager!&lt;/p&gt;
&lt;h2 id=&quot;introducing-dotig&quot;&gt;Introducing Dotig&lt;/h2&gt;
&lt;p&gt;Dotig allows you to manage your dotfiles with Git. Its mechanism is based on symlinks to deal with files and Git commands for the saving/versioning part.&lt;/p&gt;
&lt;p&gt;I wanted a short name easy to remind and preferably not taken yet. So I went with a name gathering the two essential notions by contracting them: “dot” (for dotfiles) and “git” using mirrored writing.&lt;/p&gt;
&lt;h2 id=&quot;what-i-wanted&quot;&gt;What I wanted&lt;/h2&gt;
&lt;p&gt;Dotig needed to be able to realize multiple actions to be really helpful:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;add dotfiles to a Git repository,&lt;/li&gt;
&lt;li&gt;update the symlinks,&lt;/li&gt;
&lt;li&gt;delete the symlinks,&lt;/li&gt;
&lt;li&gt;create a commit,&lt;/li&gt;
&lt;li&gt;push the commits to a remote repository,&lt;/li&gt;
&lt;li&gt;fetch the changes from a remote repository,&lt;/li&gt;
&lt;li&gt;update the Git submodules,&lt;/li&gt;
&lt;li&gt;show local repository status,&lt;/li&gt;
&lt;li&gt;check for Dotig upgrades,&lt;/li&gt;
&lt;li&gt;show the Dotig version number,&lt;/li&gt;
&lt;li&gt;show help.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also wanted to rely on the &lt;a href=&quot;https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html&quot;&gt;XDG specification&lt;/a&gt; for various reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I like to keep my &lt;code&gt;home&lt;/code&gt; clean, when each file is in the right place.&lt;/li&gt;
&lt;li&gt;This allows you not to hard-write a location and therefore to be able to easily transfer your dotfiles from one Linux distribution to another.&lt;/li&gt;
&lt;li&gt;I thought it would ease the OS compatibility (e.g. Mac/Linux): I’m no longer sure of that because of the casing (it seems to me that some configuration files starts with a capitalized letter in Mac).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So it places your files according to the following correspondences:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_CACHE&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.cache/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_cache/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_CONFIG&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.config/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_config/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_BIN&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.local/bin/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_bin/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_DATA&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.local/share/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_data/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_LIB&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.local/lib/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_lib/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;var&gt;$XDG_HOME_STATE&lt;/var&gt; or &lt;code&gt;/home/utilisateur/.local/state/&lt;/code&gt; (default) becomes
&lt;code&gt;$DOTFILES/home/xdg_sate/&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;all other files in &lt;var&gt;$HOME&lt;/var&gt; ( &lt;code&gt;/home/utilisateur/&lt;/code&gt; ) are moved by copying the structure in &lt;code&gt;$DOTFILES/home/&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dotig then follows the reverse mapping when creating the symbolic links.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot;&gt;How it works?&lt;/h2&gt;
&lt;p&gt;Dotig can be used with a menu offering a list of choices or as a CLI command.&lt;/p&gt;
&lt;p&gt;In the first case, you have to select an action to execute using numbers then to confirm your choice with &lt;kbd&gt;y&lt;/kbd&gt; or &lt;kbd&gt;n&lt;/kbd&gt; if needed.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/dotig-menu.CoVbqcmQ_1lGxvn.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/dotig-menu.CoVbqcmQ_1lGxvn.webp 583w&quot; alt=&quot;Screenshot of the Dotig menu displayed in a terminal&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 583px) 583px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;583&quot; height=&quot;463&quot;&gt;&lt;figcaption&gt;Overview of Dotig menu&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;In the second case, you can manage your dotfiles by writing the action in your terminal. For example, to update your symlinks, all you need to do is: &lt;code&gt;dotig update&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&quot;options&quot;&gt;Options&lt;/h3&gt;
&lt;p&gt;Dotig supports options when invoked. For example, to display your repository status before the Dotig menu, you can use the following command: &lt;code&gt;dotig -s&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you want to use Dotig using command line, you can also use some options for each command. You can display the available options for a command with the following format: &lt;code&gt;dotig command -h&lt;/code&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/dotig-features.CB01TcQZ_wouAP.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/dotig-features.CB01TcQZ_2vlPBU.webp 640w, https://armand.philippot.eu/_astro/dotig-features.CB01TcQZ_1H6IvU.webp 750w, https://armand.philippot.eu/_astro/dotig-features.CB01TcQZ_wouAP.webp 778w&quot; alt=&quot;Screenshot of the -h (&amp;#34;help&amp;#34;) option output&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 778px) 778px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;778&quot; height=&quot;442&quot;&gt;&lt;figcaption&gt;Overview of Dotig features&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;For example, when you use &lt;code&gt;dotig update -b&lt;/code&gt;, you can update your symlinks while looking for and deleting the broken ones.&lt;/p&gt;
&lt;h3 id=&quot;managing-multiple-repositories&quot;&gt;Managing multiple repositories&lt;/h3&gt;
&lt;p&gt;Dotig allows you to configure a second repository if you want to save some files in a private repository. You’ll need to define a &lt;code&gt;DOTFILES_PRIVATE&lt;/code&gt; environment variable then to use the &lt;code&gt;-p&lt;/code&gt; option.&lt;/p&gt;
&lt;div aria-label=&quot;Private doesn’t mean safe&quot;&gt;&lt;p&gt;I’m using the word “private” for private repository but I don’t advise you to save your passwords in their. It is rather intended for backup files containing email addresses (such as the Git configuration file for example) and that you don’t want to leave in plain sight.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;It is possible to use other repositories if needed but the feature is not built-in. So it’s less straightforward to achieve that. You’ll need to use &lt;code&gt;dotig -i&lt;/code&gt; and, when you are prompted to check if the repository is correct, you have to answer &lt;kbd&gt;n&lt;/kbd&gt; and to enter your repository URL. With this approach, you can only use Dotig with its menu.&lt;/p&gt;
&lt;h3 id=&quot;what-dotig-doesnt-do&quot;&gt;What Dotig doesn’t do&lt;/h3&gt;
&lt;p&gt;Some features might be missing. For example, you can’t have a list of all the tracked/non-tracked files.&lt;/p&gt;
&lt;p&gt;Also, Dotig doesn’t manage secrets. This could be interesting rather than a private repository but I haven’t look at how this could be implemented. I don’t need that.&lt;/p&gt;
&lt;h2 id=&quot;get-dotig&quot;&gt;Get Dotig&lt;/h2&gt;
&lt;p&gt;If you want to test the tool, you can find the source code in its &lt;a href=&quot;https://github.com/ArmandPhilippot/dotig&quot;&gt;GitHub repository&lt;/a&gt;. The file to download is named &lt;code&gt;dotig&lt;/code&gt;. It weighs about 70kb. The size comes from the fact that it is a little over 2,600 lines of code all the same. I could have splitted it but I wanted a portable solution.&lt;/p&gt;
&lt;p&gt;Once downloaded, put it in a directory included in your &lt;var&gt;$PATH&lt;/var&gt; (e.g. &lt;code&gt;~/.local/bin&lt;/code&gt; is included by default in Manjaro). You will also need to make sure that it has execution rights:&lt;/p&gt;
&lt;figure data-cli=&quot;true&quot; data-astro-cid-cputsvg3=&quot;true&quot; data-full-width=&quot;true&quot; data-astro-cid-255rxqgh=&quot;&quot;&gt;  &lt;figcaption aria-label=&quot;Extrait d’un fichier shell&quot; data-astro-cid-cputsvg3=&quot;&quot;&gt; shell &lt;/figcaption&gt;  &lt;pre tabindex=&quot;0&quot; data-astro-cid-cputsvg3=&quot;&quot; data-language=&quot;shell&quot;&gt;&lt;code&gt;&lt;span&gt;&lt;span&gt;chmod&lt;/span&gt;&lt;span&gt; +x&lt;/span&gt;&lt;span&gt; dotig&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;  &lt;/figure&gt;  
&lt;p&gt;Now you can use it from anywhere on your PC with the following command: &lt;code&gt;dotig&lt;/code&gt;.&lt;/p&gt;</content:encoded><category>Dotfiles</category></item><item><title>[Project] Coldark</title><link>https://armand.philippot.eu/en/projects/coldark/</link><guid isPermaLink="true">https://armand.philippot.eu/en/projects/coldark/</guid><description>Two themes (light and dark) in blue-gray tones.</description><pubDate>Sun, 05 Jan 2025 20:30:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;introducing-coldark&quot;&gt;Introducing Coldark&lt;/h2&gt;
&lt;p&gt;Coldark is a blue-gray theme with two flavors: light (Coldark – Cold) and dark (Coldark – Dark). It is available in several tools, including VS Code. Although this is primarily a personal theme, I am open to criticism, suggestions, and contributions.&lt;/p&gt;
&lt;h3 id=&quot;two-versions-in-16-colors&quot;&gt;Two versions in 16 colors&lt;/h3&gt;
&lt;p&gt;For the color harmonization, I was inspired by the &lt;a href=&quot;https://github.com/chriskempson/base16&quot;&gt;base16 project&lt;/a&gt; and the &lt;a href=&quot;https://www.nordtheme.com/&quot;&gt;Nord theme&lt;/a&gt;. So, Coldark uses 3 different color palettes and each version is now limited to 16 colors, like base16. However, the use of colors varies a bit from the latter.&lt;/p&gt;
&lt;p&gt;The first palette is common to both versions of the theme. It is a variation of Coldark’s main colors. It therefore remains in gray-blue tones. The other two take up the colors of the color wheel: we thus find red, orange, yellow, green, cyan, blue, purple and magenta. They each apply to a version of the theme.&lt;/p&gt;
&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-color-palette.kK8zFf_3_Z2lBcVN.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-color-palette.kK8zFf_3_Z2lBcVN.webp 500w&quot; alt=&quot;Coldark Color Preview&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 500px) 500px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;500&quot; height=&quot;706&quot;&gt;&lt;figcaption&gt;Coldark colors&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;Regarding syntax highlighting, I tried to comply with the &lt;a href=&quot;https://www.w3.org/WAI/standards-guidelines/wcag/&quot;&gt;Web Content Accessibility Guidelines (WCAG)&lt;/a&gt; to ensure a minimum of contrast. I wanted a theme that complies with the AAA standard. In the end, it’s more complicated than that. The dark version complies with this standard. For the light version, in order to keep a diversity of colors and a certain consistency with the dark version, I had to make exceptions; we are rather on the AA standard.&lt;/p&gt;
&lt;h3 id=&quot;supported-languages&quot;&gt;Supported languages&lt;/h3&gt;
&lt;p&gt;I have only tested it on Linux and Windows with the languages I use frequently:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS / SCSS&lt;/li&gt;
&lt;li&gt;Javascript / Typescript (including JSX / TSX)&lt;/li&gt;
&lt;li&gt;JSON&lt;/li&gt;
&lt;li&gt;YAML&lt;/li&gt;
&lt;li&gt;PHP&lt;/li&gt;
&lt;li&gt;Markdown&lt;/li&gt;
&lt;li&gt;Bash script&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I looked at its appearance with other languages, but, since I don’t use them, I don’t know if everything is consistent. Also, since I don’t have a Mac available, I couldn’t test with this operating system. Feel free to report any bugs.&lt;/p&gt;
&lt;h2 id=&quot;where-to-find-coldark&quot;&gt;Where to find Coldark?&lt;/h2&gt;
&lt;h3 id=&quot;vs-code-version&quot;&gt;VS Code version&lt;/h3&gt;
&lt;h4 id=&quot;installation&quot;&gt;Installation&lt;/h4&gt;
&lt;p&gt;To install it on VS Code, simply search for “&lt;em&gt;coldark&lt;/em&gt;” in the &lt;a href=&quot;https://marketplace.visualstudio.com/items?itemName=ArmandPhilippot.coldark&quot;&gt;marketplace&lt;/a&gt; (via the website or in the software). It is also available in the &lt;a href=&quot;https://open-vsx.org/extension/armandphilippot/coldark&quot;&gt;OpenVSX repositories&lt;/a&gt; if you are using an alternative version like VS Codium.&lt;/p&gt;
&lt;h4 id=&quot;in-pictures&quot;&gt;In pictures&lt;/h4&gt;
&lt;h5 id=&quot;light-theme&quot;&gt;Light theme&lt;/h5&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_Z2826kK.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_g9n6h.webp 640w, https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_1R5Cu0.webp 750w, https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_wABos.webp 828w, https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_1yOmKP.webp 1080w, https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_HsGiJ.webp 1280w, https://armand.philippot.eu/_astro/coldark-cold.Xr-ZJSSX_Z2826kK.webp 1400w&quot; alt=&quot;VS Code Home Screen Preview with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;Homepage&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_Z1AajDg.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_jOEo3.webp 640w, https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_1gaUbm.webp 750w, https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_Z127jAB.webp 828w, https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_ApBW3.webp 1080w, https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_2t60Bd.webp 1280w, https://armand.philippot.eu/_astro/coldark-cold-css.GLZOduA6_Z1AajDg.webp 1400w&quot; alt=&quot;Previewing a CSS file in VS Code with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;CSS&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Z1aW8sn.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Z1YHzOE.webp 640w, https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Ie8KD.webp 750w, https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Z2vTuDa.webp 828w, https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_28vrjx.webp 1080w, https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Z10UBRh.webp 1280w, https://armand.philippot.eu/_astro/coldark-cold-js.BvT3pJF4_Z1aW8sn.webp 1400w&quot; alt=&quot;Previewing a Javascript file in VS Code with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;JS&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_1L7ABh.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_2owk2y.webp 640w, https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_Z1JjxY4.webp 750w, https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_12zl2T.webp 828w, https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_Z17tABl.webp 1080w, https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_KbM2O.webp 1280w, https://armand.philippot.eu/_astro/coldark-cold-php.DMH0DJ55_1L7ABh.webp 1400w&quot; alt=&quot;Previewing a PHP file in VS Code with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;PHP&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h5 id=&quot;dark-theme&quot;&gt;Dark theme&lt;/h5&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_Z10lEsX.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_26qOHp.webp 640w, https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_Z1mO3HN.webp 750w, https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_2mS40A.webp 828w, https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_Z2nGkbj.webp 1080w, https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_1P98aw.webp 1280w, https://armand.philippot.eu/_astro/coldark-dark.Ccu8Neqo_Z10lEsX.webp 1400w&quot; alt=&quot;VS Code Home Screen Preview with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;Homepage&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_ZFn4kV.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_ZCoTgv.webp 640w, https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_iVlvN.webp 750w, https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_Z1YlSga.webp 828w, https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_1vcRfn.webp 1080w, https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_Z1GiRTo.webp 1280w, https://armand.philippot.eu/_astro/coldark-dark-css.BJCkv7cH_ZFn4kV.webp 1400w&quot; alt=&quot;Previewing a CSS file in VS Code with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;CSS&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_Z1oj6VD.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_260TVx.webp 640w, https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_Zgeuh6.webp 750w, https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_1yO082.webp 828w, https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_1U9sPh.webp 1080w, https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_Z1ehAlx.webp 1280w, https://armand.philippot.eu/_astro/coldark-dark-js.7Gns6haU_Z1oj6VD.webp 1400w&quot; alt=&quot;Previewing a Javascript file in VS Code with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;JS&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_Z11CQrx.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_ZX6vNs.webp 640w, https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_Z1Kg19.webp 750w, https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_Z2k3uN7.webp 828w, https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_19W58L.webp 1080w, https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_Z22yF10.webp 1280w, https://armand.philippot.eu/_astro/coldark-dark-php.CLFyXNZf_Z11CQrx.webp 1400w&quot; alt=&quot;Previewing a PHP file in VS Code with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;758&quot;&gt;&lt;figcaption&gt;PHP&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Screenshots were taken on Windows. On Linux, it is not possible to act on the title bar; it will be in the colors of your theme.&lt;/p&gt;
&lt;h3 id=&quot;prismjs&quot;&gt;PrismJS&lt;/h3&gt;
&lt;p&gt;If you want to use Coldark with &lt;a href=&quot;https://prismjs.com/&quot;&gt;PrismJS&lt;/a&gt;, you will find it in the &lt;a href=&quot;https://github.com/PrismJS/prism-themes&quot;&gt;prism-themes&lt;/a&gt; repository.&lt;/p&gt;
&lt;p&gt;To use it, you will need to download the file or copy the code into a CSS file. Then, just add the path of this file into your page with the Prism script. For example:&lt;/p&gt;
&lt;figure data-astro-cid-cputsvg3=&quot;true&quot; data-full-width=&quot;true&quot; data-astro-cid-255rxqgh=&quot;&quot;&gt;  &lt;figcaption aria-label=&quot;Extrait d’un fichier html&quot; data-astro-cid-cputsvg3=&quot;&quot;&gt; html &lt;/figcaption&gt;  &lt;pre tabindex=&quot;0&quot; data-astro-cid-cputsvg3=&quot;&quot; data-language=&quot;html&quot;&gt;&lt;code&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;!&lt;/span&gt;&lt;span&gt;doctype&lt;/span&gt;&lt;span&gt; html&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;  &amp;#x3C;&lt;/span&gt;&lt;span&gt;head&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;    ...&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;    &amp;#x3C;&lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span&gt; href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;themes/prism-coldark-cold.css&quot;&lt;/span&gt;&lt;span&gt; rel&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;stylesheet&quot;&lt;/span&gt;&lt;span&gt; /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;  &amp;#x3C;/&lt;/span&gt;&lt;span&gt;head&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;  &amp;#x3C;&lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;    ...&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;    &amp;#x3C;&lt;/span&gt;&lt;span&gt;script&lt;/span&gt;&lt;span&gt; src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;prism.js&quot;&lt;/span&gt;&lt;span&gt;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span&gt;script&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;  &amp;#x3C;/&lt;/span&gt;&lt;span&gt;body&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span&gt;&lt;span&gt;&amp;#x3C;/&lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;  &lt;/figure&gt;  
&lt;h3 id=&quot;bat&quot;&gt;Bat&lt;/h3&gt;
&lt;h4 id=&quot;theme-activation&quot;&gt;Theme Activation&lt;/h4&gt;
&lt;p&gt;Coldark is integrated directly into &lt;a href=&quot;https://github.com/sharkdp/bat&quot;&gt;bat&lt;/a&gt;. To use it, please refer to the Bat documentation to make sure the following procedure is up to date.&lt;/p&gt;
&lt;p&gt;You can check the list of themes with &lt;code&gt;bat --list-themes&lt;/code&gt;. To activate a new theme permanently, you can either add &lt;code&gt;export BAT_THEME=&amp;quot;Coldark-Cold&amp;quot;&lt;/code&gt; to your shell file or set &lt;code&gt;--theme=&amp;quot;Coldark-Cold&amp;quot;&lt;/code&gt; in the bat configuration file.&lt;/p&gt;
&lt;h4 id=&quot;in-pictures-1&quot;&gt;In pictures&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_2oYVWW.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_1PhfzF.webp 640w, https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_N0nvu.webp 750w, https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_1Xh6gt.webp 828w, https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_6APp3.webp 1080w, https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_pfvSn.webp 1280w, https://armand.philippot.eu/_astro/coldark-cold-bat-markdown.BGhzXGBx_2oYVWW.webp 1400w&quot; alt=&quot;Previewing a Markdown file in Bat with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;763&quot;&gt;&lt;figcaption&gt;Bat with Coldark Cold&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_Z14fLzS.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_ToCiE.webp 640w, https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_Z7ReKw.webp 750w, https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_12osYs.webp 828w, https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_1HxfF9.webp 1080w, https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_21bV9t.webp 1280w, https://armand.philippot.eu/_astro/coldark-dark-bat-markdown.CU0WcQrp_Z14fLzS.webp 1400w&quot; alt=&quot;Previewing a Markdown file in Bat with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 1400px) 1400px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;1400&quot; height=&quot;763&quot;&gt;&lt;figcaption&gt;Bat with Coldark Dark&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;gtksourceview-based-tools&quot;&gt;GTKSourceView based tools&lt;/h3&gt;
&lt;h4 id=&quot;make-themes-available&quot;&gt;Make themes available&lt;/h4&gt;
&lt;p&gt;For tools using GTKSourceView, like Mousepad or Gedit, you will find the necessary files in the &lt;a href=&quot;https://github.com/ArmandPhilippot/coldark-gtksourceview/&quot;&gt;Coldark repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To use the theme, you will need to download or copy &lt;code&gt;coldark-cold.xml&lt;/code&gt; and/or &lt;code&gt;coldark-dark.xml&lt;/code&gt; and place them in a &lt;code&gt;~/.local/share/gtksourceview-3.0/styles/&lt;/code&gt; folder.&lt;/p&gt;
&lt;p&gt;Depending on the version of GTKSourceView your software is using, you may need to place the themes in a different folder (e.g. &lt;code&gt;~/.local/share/gtksourceview-4.0/styles/&lt;/code&gt;). The themes should be compatible with GTKSourceView versions 2, 3, and 4.&lt;/p&gt;
&lt;h4 id=&quot;in-pictures-2&quot;&gt;In pictures&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-mousepad-xml.DTLIqpzG_ZtBPGY.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-mousepad-xml.DTLIqpzG_ZtBPGY.webp 600w&quot; alt=&quot;Previewing an XML file in Mousepad with Coldark Cold&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 600px) 600px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;600&quot; height=&quot;340&quot;&gt;&lt;figcaption&gt;Mousepad with Coldark Cold&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-mousepad-xml.BkLaz7Md_1YmJSs.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-mousepad-xml.BkLaz7Md_1YmJSs.webp 600w&quot; alt=&quot;Previewing an XML file in Mousepad with Coldark Dark&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 600px) 600px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;600&quot; height=&quot;340&quot;&gt;&lt;figcaption&gt;Mousepad with Coldark Dark&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;terminal-xfce&quot;&gt;Terminal XFCE&lt;/h3&gt;
&lt;p&gt;For XFCE terminal you will also find themes in &lt;a href=&quot;https://github.com/ArmandPhilippot/coldark-xfce4-terminal/&quot;&gt;Coldark repository&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&quot;installing-themes&quot;&gt;Installing themes&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Create the folder &lt;code&gt;~/.local/share/xfce4/terminal/colorschemes/&lt;/code&gt; if it doesn’t already exist,&lt;/li&gt;
&lt;li&gt;Download or copy &lt;code&gt;coldark-cold.theme&lt;/code&gt; and/or &lt;code&gt;coldark-dark.theme&lt;/code&gt; from the repository,&lt;/li&gt;
&lt;li&gt;Place these files in the folder created in step 1,&lt;/li&gt;
&lt;li&gt;Open the XFCE terminal,&lt;/li&gt;
&lt;li&gt;Click on the &lt;kbd&gt;&lt;samp&gt;Edit&lt;/samp&gt;&lt;/kbd&gt; menu and then select &lt;kbd&gt;&lt;samp&gt;Preferences&lt;/samp&gt;&lt;/kbd&gt;,&lt;/li&gt;
&lt;li&gt;In the new window, select the &lt;kbd&gt;&lt;samp&gt;Colors&lt;/samp&gt;&lt;/kbd&gt; tab,&lt;/li&gt;
&lt;li&gt;You will see a drop-down menu labelled &lt;kbd&gt;&lt;samp&gt;Select Preset&lt;/samp&gt;&lt;/kbd&gt;. Clicking on it will bring up a list and you should now see &lt;kbd&gt;&lt;samp&gt;Coldark - Cold&lt;/samp&gt;&lt;/kbd&gt; and/or &lt;kbd&gt;&lt;samp&gt;Coldark - Dark&lt;/samp&gt;&lt;/kbd&gt;. Select the one you want to use.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&quot;in-pictures-3&quot;&gt;In pictures&lt;/h4&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-cold-terminal-xfce4.DivsS6HV_1rhpQM.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-cold-terminal-xfce4.DivsS6HV_1rhpQM.webp 600w&quot; alt=&quot;Coldark Cold preview in XFCE terminal&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 600px) 600px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;600&quot; height=&quot;378&quot;&gt;&lt;figcaption&gt;XFCE Terminal with Coldark Cold&lt;/figcaption&gt;&lt;/figure&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/coldark-dark-terminal-xfce4.COuWLqWA_Z1PJO6p.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/coldark-dark-terminal-xfce4.COuWLqWA_Z1PJO6p.webp 600w&quot; alt=&quot;Coldark Dark preview in XFCE terminal&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 600px) 600px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;600&quot; height=&quot;378&quot;&gt;&lt;figcaption&gt;XFCE Terminal with Coldark Dark&lt;/figcaption&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;h3 id=&quot;other-variations&quot;&gt;Other variations&lt;/h3&gt;
&lt;p&gt;The Coldark repository also lists a ZSH theme and a Firefox theme. However, I’m not sure if they are variations, although they use Coldark’s colors.&lt;/p&gt;
&lt;p&gt;At the moment I have no plans to create a new port of Coldark. It might be the case when I use another tool that supports custom themes and uses a different format.&lt;/p&gt;
&lt;p&gt;In the meantime, if you like the theme and want to adapt it for your tools, it is possible to do so. I tried to document the use of colors as best as possible on the Coldark repository. You can therefore use it as inspiration to create your own ports. To have them listed on the repository you can create a pull request or simply let me know and I will update the repository.&lt;/p&gt;</content:encoded><category>Themes</category></item><item><title>[Project] ArmandPhilippot.com</title><link>https://armand.philippot.eu/en/projects/armandphilippot-com/</link><guid isPermaLink="true">https://armand.philippot.eu/en/projects/armandphilippot-com/</guid><description>My previous website.</description><pubDate>Sun, 05 Jan 2025 16:07:00 GMT</pubDate><content:encoded>&lt;p&gt;Before starting from scratch with this site, I maintained another website for years: ArmandPhilippot.com. At first, it was a gateway to my various profiles on the web. Later, I transformed it into a more complete site with a blog section.&lt;/p&gt;
&lt;p&gt;Here is a brief history of the evolution of ArmandPhilippot.com, with screenshots and some technical details about the different versions.&lt;/p&gt;
&lt;h2 id=&quot;2011&quot;&gt;2011&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2011-wordpress.c4agajtj_qjt1U.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2011-wordpress.c4agajtj_fHcWr.webp 640w, https://armand.philippot.eu/_astro/apcom-2011-wordpress.c4agajtj_1lllYc.webp 750w, https://armand.philippot.eu/_astro/apcom-2011-wordpress.c4agajtj_qjt1U.webp 800w&quot; alt=&quot;A screenshot from 2011 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;652&quot;&gt;&lt;figcaption&gt;My website in 2011&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;I already had a blog on another domain name, but I wanted a new site that would serve as a gateway to my different profiles. A site a little more “professional” than my blog.&lt;/p&gt;&lt;p&gt;I used to build my new sites with WordPress, so I continued on that path. However, for such a basic need, rather than creating my own theme, I decided to use a ready-made one.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2012&quot;&gt;2012&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2012-wordpress.08Vr0SCO_1WX3SM.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2012-wordpress.08Vr0SCO_Z2anHRe.webp 640w, https://armand.philippot.eu/_astro/apcom-2012-wordpress.08Vr0SCO_42ohU.webp 750w, https://armand.philippot.eu/_astro/apcom-2012-wordpress.08Vr0SCO_1WX3SM.webp 800w&quot; alt=&quot;A screenshot from 2012 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;630&quot;&gt;&lt;figcaption&gt;My website in 2012&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;I didn’t want to maintain two different domain names anymore, so I closed my old blog and I integrated a blog section into ArmandPhilippot.com. This time, I went with a homemade WordPress theme. The contents of the site were always “professional” oriented, being exclusively oriented towards the web: writing, integration and SEO.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2014&quot;&gt;2014&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2014-wordpress.CxomAZTC_15SpLR.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2014-wordpress.CxomAZTC_Z2rH32V.webp 640w, https://armand.philippot.eu/_astro/apcom-2014-wordpress.CxomAZTC_Z1hJesQ.webp 750w, https://armand.philippot.eu/_astro/apcom-2014-wordpress.CxomAZTC_15SpLR.webp 800w&quot; alt=&quot;A screenshot from 2014 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;535&quot;&gt;&lt;figcaption&gt;My website in 2014&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;I wanted a more personal site. So I built a new WordPress theme to meet my needs. The blog topics diversified and I integrated other types of content like a list of sites that interested me or that I supported financially.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2017&quot;&gt;2017&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2017-wordpress.DloQMhAV_Z1rclss.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2017-wordpress.DloQMhAV_118BMn.webp 640w, https://armand.philippot.eu/_astro/apcom-2017-wordpress.DloQMhAV_Z2lGnDr.webp 750w, https://armand.philippot.eu/_astro/apcom-2017-wordpress.DloQMhAV_Z1rclss.webp 800w&quot; alt=&quot;A screenshot from 2017 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;639&quot;&gt;&lt;figcaption&gt;My website in 2017&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;The contents remained pretty much the same as the previous version; I just wanted a graphic refresh. So I created a new WordPress theme for my site.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2020&quot;&gt;2020&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2020-wordpress.k77RvjW8_zLE2L.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2020-wordpress.k77RvjW8_ZXVxVg.webp 640w, https://armand.philippot.eu/_astro/apcom-2020-wordpress.k77RvjW8_ZNpmM4.webp 750w, https://armand.philippot.eu/_astro/apcom-2020-wordpress.k77RvjW8_zLE2L.webp 800w&quot; alt=&quot;A screenshot from 2020 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;544&quot;&gt;&lt;figcaption&gt;My website in 2020&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;I did a new redesign, quite minimalist. I mainly took advantage of it to reorganize my content.&lt;/p&gt;&lt;p&gt;This redesign was also an opportunity to integrate new tools into my WordPress theme building process: Gulp to automate certain tasks and PHP Code Sniffer to improve my code.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2021&quot;&gt;2021&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2021-wordpress.CRhwKuAY_ZnCtEw.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2021-wordpress.CRhwKuAY_ZvExOI.webp 640w, https://armand.philippot.eu/_astro/apcom-2021-wordpress.CRhwKuAY_Zx15gC.webp 750w, https://armand.philippot.eu/_astro/apcom-2021-wordpress.CRhwKuAY_ZnCtEw.webp 800w&quot; alt=&quot;A screenshot from 2021 of my site built with WordPress&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;1387&quot;&gt;&lt;figcaption&gt;My website in 2021&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;After a graphic redesign pretty minimal, I wanted a change. For this new version, I added ACF to create custom content types. I also included new features like a button to change the theme or a search field available on all pages in the header.&lt;/p&gt;&lt;p&gt;This new version was also an opportunity to experiment with new tools. For example, I replaced Gulp with webpack to automate certain tasks and to optimize my assets.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2022&quot;&gt;2022&lt;/h2&gt;
&lt;div&gt;&lt;figure&gt;&lt;img src=&quot;https://armand.philippot.eu/_astro/apcom-2022-nextjs-wordpress-markdown.CZ9UmdCo_2uwSll.webp&quot; srcset=&quot;https://armand.philippot.eu/_astro/apcom-2022-nextjs-wordpress-markdown.CZ9UmdCo_Z1Kx077.webp 640w, https://armand.philippot.eu/_astro/apcom-2022-nextjs-wordpress-markdown.CZ9UmdCo_12Lmcj.webp 750w, https://armand.philippot.eu/_astro/apcom-2022-nextjs-wordpress-markdown.CZ9UmdCo_2uwSll.webp 800w&quot; alt=&quot;A screenshot from 2022 of my site built with Next.js&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; fetchpriority=&quot;auto&quot; sizes=&quot;(min-width: 800px) 800px, 100vw&quot; data-astro-image=&quot;constrained&quot; width=&quot;800&quot; height=&quot;1594&quot;&gt;&lt;figcaption&gt;My website in 2022&lt;/figcaption&gt;&lt;/figure&gt;&lt;div&gt;&lt;p&gt;I was getting more and more tired of WordPress. Gutenberg didn’t bother me that much, but WordPress became slower and slower on the back-office side. When you write long enough articles, it becomes really annoying. So I wanted to migrate to another technology to manage my content.&lt;/p&gt;&lt;p&gt;I wasn’t sure if Markdown would suit me, so I did it steps by steps. So, that year, I went for a slightly more advanced architecture:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Next.js for the front-end&lt;/li&gt;
&lt;li&gt;WordPress as headless CMS for my blog&lt;/li&gt;
&lt;li&gt;MDX for some contents&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Later, I migrated new content from WordPress to MDX. I was supposed to do the same with blog posts; I never did. I also stopped writing.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;2024&quot;&gt;2024&lt;/h2&gt;
&lt;p&gt;After 2 years of inactivity, I decide to abandon ArmandPhilippot.com – including the domain name – to start from scratch.&lt;/p&gt;</content:encoded></item></channel></rss>