<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Shadow-Cljs on Ken Huang</title>
    <link>https://blog.kenhuang.io/tags/shadow-cljs/</link>
    <description>Recent content in Shadow-Cljs on Ken Huang</description>
    <generator>Hugo</generator>
    <language>en</language>
    <managingEditor>whatacold@gmail.com (Ken Huang)</managingEditor>
    <webMaster>whatacold@gmail.com (Ken Huang)</webMaster>
    <lastBuildDate>Fri, 17 Oct 2025 20:29:45 +0800</lastBuildDate>
    <atom:link href="https://blog.kenhuang.io/tags/shadow-cljs/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Collecting Events to Google Analytics using ClojureScript</title>
      <link>https://blog.kenhuang.io/blog/2025-04-11-google-analytics-clojurescript/</link>
      <pubDate>Fri, 11 Apr 2025 22:49:27 +0800</pubDate><author>whatacold@gmail.com (Ken Huang)</author>
      <guid>https://blog.kenhuang.io/blog/2025-04-11-google-analytics-clojurescript/</guid>
      <description>&lt;p&gt;&#xA;When you’re building a side project, chances are you need to collect user events so that you can understand user behaviors better and eventually improve your product.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;So recently I made a small ClojureScript library for that, it supports web apps or chrome extensions.&#xA;Check it out at &lt;a href=&#34;https://github.com/whatacold/google-analytics,&#34;&gt;https://github.com/whatacold/google-analytics,&lt;/a&gt; it also contains a &lt;a href=&#34;https://github.com/whatacold/google-analytics/tree/master/demo&#34;&gt;demo project&lt;/a&gt; using &lt;a href=&#34;https://shadow-cljs.github.io/docs/UsersGuide.html&#34;&gt;shadow-cljs&lt;/a&gt; as the build tool.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;Hope it helps, and give it a star ⭐ on GitHub and share it if it does, thanks!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rewrite of a Flask Web App in Clojure</title>
      <link>https://blog.kenhuang.io/blog/2025-02-22-flask-clojure-rewrite/</link>
      <pubDate>Sat, 22 Feb 2025 22:46:05 +0800</pubDate><author>whatacold@gmail.com (Ken Huang)</author>
      <guid>https://blog.kenhuang.io/blog/2025-02-22-flask-clojure-rewrite/</guid>
      <description>&lt;div id=&#34;outline-container-headline-1&#34; class=&#34;outline-2&#34;&gt;&#xA;&lt;h2 id=&#34;headline-1&#34;&gt;&#xA;Intro&#xA;&lt;/h2&gt;&#xA;&lt;div id=&#34;outline-text-headline-1&#34; class=&#34;outline-text-2&#34;&gt;&#xA;&lt;p&gt;&#xA;A few years ago, I made a simple web app in &lt;a href=&#34;https://flask.palletsprojects.com/en/stable/&#34;&gt;Flask&lt;/a&gt; to deal with some text processing problems from my daily work. It has two main features:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Feature #1: generating &lt;code class=&#34;verbatim&#34;&gt;compile_commands.json&lt;/code&gt; for GNU Makefile projects written in C/C++ using the output of the &lt;code class=&#34;verbatim&#34;&gt;make&lt;/code&gt; command. Because, unlike CMake, the make command can&amp;#39;t generate it.&lt;/li&gt;&#xA;&lt;li&gt;Feature #2: extract text using Python regex. It&amp;#39;s handy when I feel like sed/awk/grep&amp;#39;s line-oriented processing isn&amp;#39;t enough for the task at hand.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;BTW, I&amp;#39;m improving my English by watching YouTube videos every single day; If you&amp;#39;re also learning English, or any languages, LanguagePuppy can definitely help you. It&amp;#39;s a Chrome extension I developed using Clojure. Check it out:&lt;/em&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
