<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Spectra on Spectra Demo</title><link>https://joeyang1412.github.io/hugo-theme-spectra/tags/spectra/</link><description>Recent content in Spectra on Spectra Demo</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 15 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://joeyang1412.github.io/hugo-theme-spectra/tags/spectra/index.xml" rel="self" type="application/rss+xml"/><item><title>The Full Markdown Showcase</title><link>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/markdown-typography/</link><pubDate>Sat, 15 Mar 2025 00:00:00 +0000</pubDate><guid>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/markdown-typography/</guid><description>&lt;h2 id="heading-levels"&gt;Heading Levels&lt;/h2&gt;
&lt;p&gt;This post uses &lt;code&gt;h2&lt;/code&gt;, &lt;code&gt;h3&lt;/code&gt;, and &lt;code&gt;h4&lt;/code&gt; headings. The table of contents on the right (desktop) or the collapsible one at the top (mobile) picks these up automatically.&lt;/p&gt;
&lt;h3 id="this-is-h3"&gt;This Is H3&lt;/h3&gt;
&lt;h4 id="this-is-h4"&gt;This Is H4&lt;/h4&gt;
&lt;p&gt;Three levels is usually enough. Too many levels and the structure gets more confusing than helpful.&lt;/p&gt;
&lt;h2 id="text-formatting"&gt;Text Formatting&lt;/h2&gt;
&lt;p&gt;The basic text styles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bold&lt;/strong&gt; — use &lt;code&gt;**text**&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Italic&lt;/em&gt; — use &lt;code&gt;*text*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;Strikethrough&lt;/del&gt; — use &lt;code&gt;~~text~~&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Inline code&lt;/code&gt; — wrap it in backticks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://example.com"&gt;Hyperlink&lt;/a&gt; — use &lt;code&gt;[text](url)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can mix these together, like &lt;strong&gt;bold with &lt;code&gt;code&lt;/code&gt; inside&lt;/strong&gt; or &lt;em&gt;italic with a &lt;a href="https://example.com"&gt;link&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Images, Covers, and Lightbox</title><link>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/images-and-lightbox/</link><pubDate>Sat, 01 Mar 2025 00:00:00 +0000</pubDate><guid>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/images-and-lightbox/</guid><description>&lt;h2 id="cover-image"&gt;Cover Image&lt;/h2&gt;
&lt;p&gt;That big image at the top of this post? That&amp;rsquo;s the cover image. Setting it up is dead simple — just add one line to your front matter:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;cover&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;images/demo01.jpg&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The cover image automatically gets a gradient overlay so your title text doesn&amp;rsquo;t get lost against the background. If you don&amp;rsquo;t want a cover image, just leave it as an empty string &lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="inserting-images"&gt;Inserting Images&lt;/h2&gt;
&lt;p&gt;Standard Markdown syntax works just fine:&lt;/p&gt;</description></item><item><title>Math Formulas in Your Posts</title><link>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/math-formulas/</link><pubDate>Sat, 15 Feb 2025 00:00:00 +0000</pubDate><guid>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/math-formulas/</guid><description>&lt;h2 id="how-to-enable-it"&gt;How to Enable It&lt;/h2&gt;
&lt;p&gt;Add &lt;code&gt;math: true&lt;/code&gt; to your front matter. That&amp;rsquo;s it. Spectra will load KaTeX automatically — no extra setup needed.&lt;/p&gt;
&lt;h2 id="inline-formulas"&gt;Inline Formulas&lt;/h2&gt;
&lt;p&gt;Wrap a formula in two &lt;code&gt;$&lt;/code&gt; signs and it shows up right in the middle of your text.&lt;/p&gt;
&lt;p&gt;For example, Euler&amp;rsquo;s identity $e^{i\pi} + 1 = 0$ is often called the most beautiful equation in math. And $E = mc^2$ is probably the most famous physics formula out there.&lt;/p&gt;</description></item><item><title>What Code Blocks Can Do</title><link>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/code-and-syntax/</link><pubDate>Sat, 01 Feb 2025 00:00:00 +0000</pubDate><guid>https://joeyang1412.github.io/hugo-theme-spectra/posts/feature-tour/code-and-syntax/</guid><description>&lt;h2 id="the-basics-syntax-highlighting"&gt;The Basics: Syntax Highlighting&lt;/h2&gt;
&lt;p&gt;Just write the language name after the triple backticks, and Spectra will color things up for you. You&amp;rsquo;ll also get a language label and a copy button in the top-right corner.&lt;/p&gt;
&lt;p&gt;Syntax:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;```python
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;hello&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Hello, World!&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;```&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Result:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;find_large_files&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directory&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;threshold_mb&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;&amp;#34;&amp;#34;Find files exceeding the threshold in the given directory.&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;large&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;directory&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rglob&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;is_file&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;st_size&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;threshold_mb&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;large&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stat&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;st_size&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1024&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;sorted&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;large&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;lambda&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;reverse&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Try hitting the copy button in the top-right corner — the pasted result won&amp;rsquo;t include line numbers.&lt;/p&gt;</description></item></channel></rss>