<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>plugin &#8211; Huahua&#8217;s Tech Road</title>
	<atom:link href="https://zxi.mytechroad.com/blog/tag/plugin/feed/" rel="self" type="application/rss+xml" />
	<link>https://zxi.mytechroad.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 29 Jul 2026 13:37:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>

<image>
	<url>https://zxi.mytechroad.com/blog/wp-content/uploads/2017/09/cropped-photo-32x32.jpg</url>
	<title>plugin &#8211; Huahua&#8217;s Tech Road</title>
	<link>https://zxi.mytechroad.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Huahua HDR LrC 发布：Final Cut Pro 的一键 HDR 转换插件</title>
		<link>https://zxi.mytechroad.com/blog/photography/huahua-hdr-lrc-final-cut-pro-plugin-for-log-to-hdr/</link>
					<comments>https://zxi.mytechroad.com/blog/photography/huahua-hdr-lrc-final-cut-pro-plugin-for-log-to-hdr/#respond</comments>
		
		<dc:creator><![CDATA[zxi]]></dc:creator>
		<pubDate>Wed, 29 Jul 2026 13:37:23 +0000</pubDate>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[c-log2]]></category>
		<category><![CDATA[final cut pro]]></category>
		<category><![CDATA[HDR]]></category>
		<category><![CDATA[n-log]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[s-log3]]></category>
		<guid isPermaLink="false">https://zxi.mytechroad.com/blog/?p=10727</guid>

					<description><![CDATA[我做了一个新的 Final Cut Pro 插件：Huahua HDR LrC，当前版本1.12-46。它的目标很简单：让各家的Log素材在 Final Cut Pro 里更轻松地进入 HLG HDR 或 PQ HDR 工作流，不需要手动套一堆 LUT，也不需要反复搓色轮来调整曝光。 这个插件适合在 Wide Gamut HDR 时间线中使用，主要用于把相机 Log 素材转换到&#8230;]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="【HDR】Final Cut Plugin for HDR | S-Log3/N-Log/C-Log2 to HLG / PQ HDR" width="500" height="281" src="https://www.youtube.com/embed/eZaqGkvkG0E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">我做了一个新的 Final Cut Pro 插件：<strong>Huahua HDR LrC</strong>，当前版本1.12-46。它的目标很简单：让各家的Log素材在 Final Cut Pro 里更轻松地进入 HLG HDR 或 PQ HDR 工作流，不需要手动套一堆 LUT，也不需要反复搓色轮来调整曝光。</p>



<p class="wp-block-paragraph">这个插件适合在 <strong>Wide Gamut HDR</strong> 时间线中使用，主要用于把相机 Log 素材转换到 HDR，同时提供一些类似 Lightroom / Camera Raw 的基础调色控制，例如曝光、对比度、高光、阴影、白场、黑场、自然饱和度和饱和度。它不是一个风格化 LUT 包，而是一个更偏实用的 HDR 转换和微调工具。</p>



<p class="wp-block-paragraph">目前支持的输入格式包括：</p>



<ul class="wp-block-list">
<li>Nikon N-Log / Rec.2020</li>



<li>Sony S-Log3 / S-Gamut3.Cine</li>



<li>Sony S-Log3 / S-Gamut3</li>



<li>Canon C-Log2 / Cinema Gamut</li>



<li>HLG / Rec.2020</li>



<li>PQ / Rec.2020</li>
</ul>



<p class="wp-block-paragraph">输出格式支持：</p>



<ul class="wp-block-list">
<li>Rec.2020 HLG</li>



<li>PQ 1000 / 2000 / 4000 nits</li>
</ul>



<p class="wp-block-paragraph">如果你的素材是 Nikon N-Log、Sony S-Log3、Canon C-Log2，或者已经是 HLG / PQ HDR，这个插件可以直接在 FCP 里作为一个 Effect 使用。安装后会出现在：</p>



<p class="wp-block-paragraph"><strong>Huahua HDR Tools / Huahua HDR LrC</strong></p>



<p class="wp-block-paragraph">它适合想快速完成 HDR 交付、YouTube HDR 上传、或者同时制作 HLG / PQ 版本的用户。</p>



<p class="wp-block-paragraph">I made a new Final Cut Pro plug-in: <strong>Huahua HDR LrC</strong>, current version <strong>1.12-46</strong>.</p>



<p class="wp-block-paragraph">Its goal is simple: to make it easier to bring Log footage from different camera systems into an <strong>HLG HDR</strong> or <strong>PQ HDR</strong> workflow directly inside Final Cut Pro. No need to stack multiple LUTs manually, and no need to keep fighting the color wheels just to fix exposure.</p>



<p class="wp-block-paragraph">The plug-in is designed for <strong>Wide Gamut HDR</strong> timelines. It mainly converts camera Log footage to HDR, while also providing Lightroom / Camera Raw style basic adjustment controls, including Exposure, Contrast, Highlights, Shadows, Whites, Blacks, Vibrance, and Saturation.</p>



<p class="wp-block-paragraph">It is not a stylized LUT pack. It is more of a practical HDR technical conversion and trimming tool.</p>



<p class="wp-block-paragraph">Currently supported input formats:</p>



<ul class="wp-block-list">
<li>Nikon N-Log / Rec.2020</li>



<li>Sony S-Log3 / S-Gamut3.Cine</li>



<li>Sony S-Log3 / S-Gamut3</li>



<li>Canon C-Log2 / Cinema Gamut</li>



<li>HLG / Rec.2020</li>



<li>PQ / Rec.2020</li>
</ul>



<p class="wp-block-paragraph">Supported output formats:</p>



<ul class="wp-block-list">
<li>Rec.2020 HLG</li>



<li>PQ 1000 / 2000 / 4000 nits</li>
</ul>



<p class="wp-block-paragraph">If your footage is Nikon N-Log, Sony S-Log3, Canon C-Log2, or already HLG / PQ HDR, you can use this plug-in directly as a Final Cut Pro Effect.</p>



<p class="wp-block-paragraph">After installation, it appears under:</p>



<p class="wp-block-paragraph"><strong>Huahua HDR Tools / Huahua HDR LrC</strong></p>



<p class="wp-block-paragraph">It is designed for users who want a faster HDR delivery workflow, whether for YouTube HDR uploads, HLG mastering, PQ mastering, or creating both HLG and PQ versions from the same edit.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://zxi.mytechroad.com/blog/photography/huahua-hdr-lrc-final-cut-pro-plugin-for-log-to-hdr/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Adding Dark Mode to WordPress</title>
		<link>https://zxi.mytechroad.com/blog/admin/adding-dark-mode-to-wordpress/</link>
					<comments>https://zxi.mytechroad.com/blog/admin/adding-dark-mode-to-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[zxi]]></dc:creator>
		<pubDate>Fri, 10 Dec 2021 19:15:00 +0000</pubDate>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[darkmode]]></category>
		<category><![CDATA[plugin]]></category>
		<guid isPermaLink="false">https://zxi.mytechroad.com/blog/?p=9077</guid>

					<description><![CDATA[Supporting dark mode now becomes an industry standard, I also received several requests from my viewers/readers recently thus I decided to add this feature. First&#8230;]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Supporting dark mode now becomes an industry standard, I also received several requests from my viewers/readers recently thus I decided to add this feature. First thing in my mind is a plugin, I found <a href="https://wordpress.org/plugins/wp-dark-mode/">WP Dark Mode</a>, it&#8217;s feature rich and kind of worked until someone told me it didn&#8217;t work with cached pages. Then I found <a href="https://github.com/sandoche/Darkmode.js">Darkmode.js</a>, there&#8217;re several plugin versions but I decided to use the plain js version. It&#8217;s simple but makes the job done. There are only a few options you can play with, like the position, size, color and emoji of the icon, that&#8217;s it. Here&#8217;s mine.</p>



<p class="wp-block-paragraph">Put the following code in header.php</p>



<pre class="urvanov-syntax-highlighter-plain-tag">&lt;script src=&quot;https://cdn.jsdelivr.net/npm/darkmode-js@1.5.7/lib/darkmode-js.min.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
  const options = {
    bottom: '48px', // default: '32px'
    right: '12px', // default: '32px'
    left: 'unset', // default: 'unset'
    time: '0.3s', // default: '0.3s'
    mixColor: '#ddd', // default: '#fff' reduce contrast and lower the brightness.
    backgroundColor: '#fff',  // default: '#fff'
    buttonColorDark: '#100f2c',  // default: '#100f2c'
    buttonColorLight: '#fff', // default: '#fff'
    saveInCookies: true, // default: true,
    label: '<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f313.png" alt="🌓" class="wp-smiley" style="height: 1em; max-height: 1em;" />', // default: ''
    autoMatchOsTheme: true // default: true
  }

  function addDarkmodeWidget() {
    new Darkmode(options).showWidget();
  }
	
  addDarkmodeWidget(); // No delays.
&lt;/script&gt;</pre>



<p class="wp-block-paragraph">Basically, it adds an overlay layer that applies a revert color filter (white -&gt; black, blue -&gt; yellow, etc) to <strong>ALL</strong> the content including images and iframes as well as syntax-highlighted code which I decided to ignore later on.</p>



<p class="wp-block-paragraph">To ignore a few types of content, add the following code to header.php</p>



<pre class="urvanov-syntax-highlighter-plain-tag">&lt;style&gt;
.darkmode-layer, .darkmode-toggle {
    z-index: 500;
}

.darkmode--activated img {
    filter: invert(1);
}

.darkmode--activated iframe {
    filter: invert(1);
}	

.darkmode--activated .crayon-syntax {
    filter: invert(1);
}
&lt;/style&gt;</pre>



<p class="wp-block-paragraph">The next thing is to apply a different color theme for code under darkmode. I plan to use classic for day-mode and sublime-text for darkmode. Although the author says the persistent darkmode setting is in cookies, but turns out it&#8217;s in localstorage. There are two scenarios we need to handle. 1) page loads with darkmode on, 2) user click button to toggle darkmode. We need to change the class for code blocks accordingly.</p>



<p class="wp-block-paragraph">Put the following code in the footer.php, since we need to let the syntax-highlighter do the work first.</p>



<pre class="urvanov-syntax-highlighter-plain-tag">&lt;script&gt;
var darkMode = localStorage.getItem(&quot;darkmode&quot;) == &quot;true&quot;;    

if (darkMode) {
    updateCrayonTheme(darkMode);
}

var button = document.getElementsByClassName(&quot;darkmode-toggle&quot;)[0];

button.addEventListener(&quot;click&quot;, () =&gt; {
    darkMode = localStorage.getItem(&quot;darkmode&quot;) == &quot;true&quot;;
    updateCrayonTheme(darkMode);
});

function updateCrayonTheme(darkMode) {
    var x = document.getElementsByClassName(&quot;crayon-syntax&quot;);
    for (var i = 0; i &lt; x.length; i++) {
      x[i].classList.remove(&quot;crayon-theme-classic&quot;);
      x[i].classList.remove(&quot;crayon-theme-sublime-text&quot;);
      x[i].classList.add(darkMode ? &quot;crayon-theme-sublime-text&quot; : &quot;crayon-theme-classic&quot;);
    }  
}
&lt;/script&gt;</pre>



<script async="" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2404451723245401" crossorigin="anonymous"></script>
<ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-2404451723245401" data-ad-slot="7983117522"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<p class="wp-block-paragraph">Or don&#8217;t forget to preload the darkmode theme since only the default theme will be loaded to reduce requests and bandwidth.</p>



<p class="wp-block-paragraph"><meta charset="utf-8">Put the following code in the header.php &lt;head&gt; section, replace with your domain and plugin version.</p>



<pre class="urvanov-syntax-highlighter-plain-tag">&lt;link rel=&quot;stylesheet&quot; id=&quot;crayon-theme-sublime-text-css&quot; href=&quot;https://example.com/wp-content/plugins/crayon-syntax-highlighter-2.8.6/themes/sublime-text/sublime-text.css?ver=_2.7.2_beta&quot; type=&quot;text/css&quot; media=&quot;all&quot;&gt;</pre>



<p class="wp-block-paragraph">Finally it looks like below, not perfect but pretty good and easy to config. I hope wordpress could officially add dark mode in the future release such that all the themes and plugins could implement that (more work though).</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><a href="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832.png"><img fetchpriority="high" decoding="async" width="473" height="1024" src="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-473x1024.png" alt="" class="wp-image-9101" srcset="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-473x1024.png 473w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-139x300.png 139w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-768x1662.png 768w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-710x1536.png 710w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832-946x2048.png 946w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2832.png 1170w" sizes="(max-width: 473px) 100vw, 473px" /></a></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><a href="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831.png"><img decoding="async" width="473" height="1024" src="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-473x1024.png" alt="" class="wp-image-9102" srcset="https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-473x1024.png 473w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-139x300.png 139w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-768x1662.png 768w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-710x1536.png 710w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831-946x2048.png 946w, https://zxi.mytechroad.com/blog/wp-content/uploads/2021/12/IMG_2831.png 1170w" sizes="(max-width: 473px) 100vw, 473px" /></a></figure>
</div>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://zxi.mytechroad.com/blog/admin/adding-dark-mode-to-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
