<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Royce]]></title><description><![CDATA[Web Developer]]></description><link>https://royce.justgoodthemes.com/</link><image><url>https://royce.justgoodthemes.com/favicon.png</url><title>Royce</title><link>https://royce.justgoodthemes.com/</link></image><generator>Ghost 5.63</generator><lastBuildDate>Fri, 10 Apr 2026 08:33:23 GMT</lastBuildDate><atom:link href="https://royce.justgoodthemes.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Choosing the Best Front-end Framework]]></title><description><![CDATA[<p>In computer science, a <strong>software framework</strong> is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications.</p>
<blockquote>&quot;Walking on water and developing software from a specification are</blockquote>]]></description><link>https://royce.justgoodthemes.com/choosing-the-best-front-end-framework/</link><guid isPermaLink="false">6508432f2549771bbcc1406a</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[Tips]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Fri, 15 Aug 2025 09:15:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2025/04/Desk-3.webp" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2025/04/Desk-3.webp" alt="Choosing the Best Front-end Framework"><p>In computer science, a <strong>software framework</strong> is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications.</p>
<blockquote>&quot;Walking on water and developing software from a specification are easy if both are frozen.&quot; - Edward V Berard -</blockquote>
]]></content:encoded></item><item><title><![CDATA[How To Start Learning Blockchain Development]]></title><description><![CDATA[<p>A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of</p>]]></description><link>https://royce.justgoodthemes.com/how-to-start-learning-blockchain-development/</link><guid isPermaLink="false">6508432f2549771bbcc1406d</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Sat, 09 Aug 2025 09:24:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2023/09/ash-edmonds-510566--1-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2023/09/ash-edmonds-510566--1-.jpg" alt="How To Start Learning Blockchain Development"><p>A blockchain, originally block chain, is a continuously growing list of records, called blocks, which are linked and secured using cryptography. Each block typically contains a hash pointer as a link to a previous block, a timestamp and transaction data. By design, a blockchain is inherently resistant to modification of the data. It is <em>&quot;an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way&quot;</em>.</p>
<p>For use as a distributed ledger, a blockchain is typically managed by a peer-to-peer network collectively adhering to a protocol for validating new blocks. Once recorded, the data in any given block cannot be altered retroactively without the alteration of all subsequent blocks, which requires collusion of the network majority.</p>
]]></content:encoded></item><item><title><![CDATA[Mastering JavaScript Design Patterns: A Path to Code Elegance]]></title><description><![CDATA[<p>Are you tired of writing spaghetti code that&apos;s hard to maintain and debug? Do you want to take your JavaScript skills to the next level and write clean, efficient, and maintainable code? If so, then it&apos;s time to dive into the world of JavaScript design patterns.</p>]]></description><link>https://royce.justgoodthemes.com/learning-javascript-design-patterns/</link><guid isPermaLink="false">6508432f2549771bbcc1406b</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[Tips]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Wed, 06 Aug 2025 09:20:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2025/04/kate-ausburn-n647M7T7Z6g-unsplash-2.webp" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2025/04/kate-ausburn-n647M7T7Z6g-unsplash-2.webp" alt="Mastering JavaScript Design Patterns: A Path to Code Elegance"><p>Are you tired of writing spaghetti code that&apos;s hard to maintain and debug? Do you want to take your JavaScript skills to the next level and write clean, efficient, and maintainable code? If so, then it&apos;s time to dive into the world of JavaScript design patterns.</p>
<p>Design patterns are tried-and-true solutions to common programming problems. They provide a structured way to write code that is not only robust but also easier to understand and maintain. In this post, we&apos;ll explore the fascinating world of JavaScript design patterns and discover how they can transform your code from chaotic to elegant.</p>
<h3 id="1-what-are-design-patterns"><strong>1. What Are Design Patterns?</strong></h3>
<p>Design patterns are reusable solutions to common problems that arise during software development. They are not specific to any one programming language but can be applied to various languages. In JavaScript, design patterns can help you create code that&apos;s more organized, modular, and scalable.</p>
<h3 id="2-why-should-you-learn-design-patterns"><strong>2. Why Should You Learn Design Patterns?</strong></h3>
<p>Learning design patterns has several benefits:</p>
<ul><li><strong>Improved Code Quality:</strong> Design patterns promote best practices, leading to cleaner and more maintainable code.</li><li><strong>Code Reusability:</strong> You can reuse design patterns in different parts of your application, reducing redundancy and saving time.</li><li><strong>Better Collaboration:</strong> When your code follows established patterns, it&apos;s easier for other developers to understand and work with your code.</li></ul>
<h3 id="3-common-javascript-design-patterns"><strong>3. Common JavaScript Design Patterns</strong></h3>
<p>There are several design patterns you can use in JavaScript. Here are a few of the most essential ones:</p>
<ul><li><strong>Singleton Pattern:</strong> Ensures that a class has only one instance and provides a global point of access to that instance.</li><li><strong>Factory Pattern:</strong> Creates objects without specifying the exact class of object that will be created.</li><li><strong>Module Pattern:</strong> Encapsulates private and public members, preventing pollution of the global namespace.</li><li><strong>Observer Pattern:</strong> Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.</li><li><strong>MVC (Model-View-Controller) Pattern:</strong> Separates an application into three interconnected components, making it easier to manage and maintain.</li></ul>
<h3 id="4-when-to-use-design-patterns"><strong>4. When to Use Design Patterns</strong></h3>
<p>Design patterns are not one-size-fits-all solutions. You should use them judiciously based on the specific problem you&apos;re trying to solve. Sometimes, a simple and straightforward approach is more appropriate. However, when you encounter complex scenarios or anticipate future changes, design patterns can be a lifesaver.</p>
<h3 id="5-learning-resources"><strong>5. Learning Resources</strong></h3>
<p>If you&apos;re eager to dive into JavaScript design patterns, there are plenty of resources available:</p>
<ul><li><strong>Books:</strong> &quot;Design Patterns: Elements of Reusable Object-Oriented Software&quot; by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides is a classic reference.</li><li><strong>Online Tutorials:</strong> Websites like MDN Web Docs, freeCodeCamp, and JavaScript Design Patterns provide excellent tutorials and examples.</li><li><strong>Courses:</strong> Consider enrolling in online courses on platforms like Coursera, Udemy, or Pluralsight.</li></ul>
<h3 id="6-conclusion"><strong>6. Conclusion</strong></h3>
<p>Mastering JavaScript design patterns is a significant step toward becoming a more proficient and effective JavaScript developer. By applying these patterns appropriately, you can write code that&apos;s not only more efficient but also easier for you and your team to work with. So, embrace the world of design patterns and take your JavaScript skills to new heights. Your future self (and your fellow developers) will thank you for it!</p>
<p><em>Happy coding!</em></p>
<div class="kg-card kg-callout-card kg-callout-card-grey"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text"><i><em class="italic" style="white-space: pre-wrap;">Disclaimer: The knowledge and information provided in this post are accurate as of the last knowledge update in September 2021. Please verify any information or developments related to JavaScript design patterns that may have occurred after this date.</em></i></div></div>]]></content:encoded></item><item><title><![CDATA[Installing Multiple Versions of Node.js Using NVM]]></title><description><![CDATA[<p><strong>Node.js</strong> is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. Historically, JavaScript was used primarily for client-side scripting, in which scripts written in JavaScript are embedded in a webpage&apos;s HTML, to be run client-side by a JavaScript engine in the user&apos;s web</p>]]></description><link>https://royce.justgoodthemes.com/installing-multiple-versions-of-node-js-using-nvm/</link><guid isPermaLink="false">6508432f2549771bbcc1406e</guid><category><![CDATA[JavaScript]]></category><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Fri, 25 Jul 2025 09:32:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2025/04/welcome-to-Ghost-1.webp" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2025/04/welcome-to-Ghost-1.webp" alt="Installing Multiple Versions of Node.js Using NVM"><p><strong>Node.js</strong> is an open-source, cross-platform JavaScript run-time environment for executing JavaScript code server-side. Historically, JavaScript was used primarily for client-side scripting, in which scripts written in JavaScript are embedded in a webpage&apos;s HTML, to be run client-side by a JavaScript engine in the user&apos;s web browser. Node.js enables JavaScript to be used for server-side scripting, and runs scripts server-side to produce dynamic web page content before the page is sent to the user&apos;s web browser.</p>
]]></content:encoded></item><item><title><![CDATA[React.js Conferences to Attend in 2025]]></title><description><![CDATA[<p>Conferences are a perfect way to make friends and learn from experts. Here are some React conferences to look forward to in 2019.</p>
<p>Ghost uses a language called <strong>Markdown</strong> to format text.</p>
<p>When you go to edit a post and see special characters and colours intertwined between the words, those</p>]]></description><link>https://royce.justgoodthemes.com/react-js-conferences/</link><guid isPermaLink="false">6508432f2549771bbcc14069</guid><category><![CDATA[Startups]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Tue, 01 Jul 2025 08:31:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2023/09/6.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2023/09/6.jpg" alt="React.js Conferences to Attend in 2025"><p>Conferences are a perfect way to make friends and learn from experts. Here are some React conferences to look forward to in 2019.</p>
<p>Ghost uses a language called <strong>Markdown</strong> to format text.</p>
<p>When you go to edit a post and see special characters and colours intertwined between the words, those are Markdown shortcuts which tell Ghost what to do with the words in your document. The biggest benefit of Markdown is that you can quickly apply formatting as you type, without needing to pause.</p>
<p>At the bottom of the editor, you&apos;ll find a toolbar with basic formatting options to help you get started as easily as possible. You&apos;ll also notice that there&apos;s a <strong>?</strong> icon, which contains more advanced shortcuts.</p>
<p>For now, though, let&apos;s run you through some of the basics. You&apos;ll want to make sure you&apos;re editing this post in order to see all the Markdown we&apos;ve used.</p>
<h2 id="formatting-text">Formatting text</h2>
<p>The most common shortcuts are of course, <strong>bold</strong> text, <em>italic</em> text, and <a href="https://example.com/?ref=royce.justgoodthemes.com">hyperlinks</a>. These generally make up the bulk of any document. You can type the characters out, but you can also use keyboard shortcuts.</p>
<ul>
<li><code>CMD/Ctrl + B</code> for Bold</li>
<li><code>CMD/Ctrl + I</code> for Italic</li>
<li><code>CMD/Ctrl + K</code> for a Link</li>
<li><code>CMD/Ctrl + H</code> for a Heading (Press multiple times for h2/h3/h4/etc)</li>
</ul>
<p>With just a couple of extra characters here and there, you&apos;re well on your way to creating a beautifully formatted story.</p>
<h2 id="inserting-images">Inserting images</h2>
<p>Images in Markdown look just the same as links, except they&apos;re prefixed with an exclamation mark, like this:</p>
<p><code>![Image description](/path/to/image.jpg)</code></p>
<p><img src="https://casper.ghost.org/v1.0.0/images/computer.jpg" alt="React.js Conferences to Attend in 2025" loading="lazy"></p>
<p>Most Markdown editors don&apos;t make you type this out, though. In Ghost you can click on the image icon in the toolbar at the bottom of the editor, or you can just click and drag an image from your desktop directly into the editor. Both will upload the image for you and generate the appropriate Markdown.</p>
<p><em><strong>Important Note:</strong> Ghost does not currently have automatic image resizing, so it&apos;s always a good idea to make sure your images aren&apos;t gigantic files <strong>before</strong> uploading them to Ghost.</em></p>
<h2 id="making-lists">Making lists</h2>
<p>Lists in HTML are a formatting nightmare, but in Markdown they become an absolute breeze with just a couple of characters and a bit of smart automation. For numbered lists, just write out the numbers. For bullet lists, just use <code>*</code> or <code>-</code> or <code>+</code>. Like this:</p>
<ol>
<li>Crack the eggs over a bowl</li>
<li>Whisk them together</li>
<li>Make an omelette</li>
</ol>
<p>or</p>
<ul>
<li>Remember to buy milk</li>
<li>Feed the cat</li>
<li>Come up with idea for next story</li>
</ul>
<h2 id="adding-quotes">Adding quotes</h2>
<p>When you want to pull out a particularly good excerpt in the middle of a piece, you can use <code>&gt;</code> at the beginning of a paragraph to turn it into a Blockquote. You might&apos;ve seen this formatting before in email clients.</p>
<blockquote>
<p>A well placed quote guides a reader through a story, helping them to understand the most important points being made</p>
</blockquote>
<p>All themes handles blockquotes slightly differently. Sometimes they&apos;ll look better kept shorter, while other times you can quote fairly hefty amounts of text and get away with it. Generally, the safest option is to use blockquotes sparingly.</p>
<h2 id="dividing-things-up">Dividing things up</h2>
<p>If you&apos;re writing a piece in parts and you just feel like you need to divide a couple of sections distinctly from each other, a horizontal rule might be just what you need. Dropping <code>---</code> on a new line will create a sleek divider, anywhere you want it.</p>
<hr>
<p>This should get you going with the vast majority of what you need to do in the editor, but if you&apos;re still curious about more advanced tips then check out the <a href="https://royce.justgoodthemes.com/advanced-markdown/">Advanced Markdown Guide</a> - or if you&apos;d rather learn about how Ghost taxononomies work, we&apos;ve got a overview of <a href="https://royce.justgoodthemes.com/using-tags/">how to use Ghost tags</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Making your site private]]></title><description><![CDATA[<p>Sometimes you might want to put your site behind closed doors. If you&apos;ve got a publication that you don&apos;t want the world to see yet because it&apos;s not ready to launch, you can hide your Ghost site behind a simple shared pass-phrase.</p>
<p>You can</p>]]></description><link>https://royce.justgoodthemes.com/private-sites/</link><guid isPermaLink="false">6508432f2549771bbcc14066</guid><category><![CDATA[Ghost]]></category><category><![CDATA[Tips]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Mon, 07 Apr 2025 08:31:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2024/11/Moody-Subarctic-Vista-with-Winding-Road.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2024/11/Moody-Subarctic-Vista-with-Winding-Road.jpeg" alt="Making your site private"><p>Sometimes you might want to put your site behind closed doors. If you&apos;ve got a publication that you don&apos;t want the world to see yet because it&apos;s not ready to launch, you can hide your Ghost site behind a simple shared pass-phrase.</p>
<p>You can toggle this preference on at the bottom of Ghost&apos;s General Settings</p>
<p><img src="https://casper.ghost.org/v1.0.0/images/private.png" alt="Making your site private" loading="lazy"></p>
<p>Ghost will give you a short, randomly generated pass-phrase which you can share with anyone who needs access to the site while you&apos;re working on it. While this setting is enabled, all search engine optimisation features will be switched off to help keep the site off the radar.</p>
<p>Do remember though, this is <em>not</em> secure authentication. You shouldn&apos;t rely on this feature for protecting important private data. It&apos;s just a simple, shared pass-phrase for very basic privacy.</p>
]]></content:encoded></item><item><title><![CDATA[The Advantages & Disadvantages of Working from Home]]></title><description><![CDATA[In recent years, the way we work has undergone a profound transformation, with remote work becoming increasingly common. The COVID-19 pandemic accelerated this trend, pushing many companies to adopt work-from-home arrangements.]]></description><link>https://royce.justgoodthemes.com/the-advantages-disadvantages-of-working-from-home/</link><guid isPermaLink="false">6508432f2549771bbcc1406c</guid><category><![CDATA[Startups]]></category><category><![CDATA[Tips]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Sun, 26 Jan 2025 09:21:00 GMT</pubDate><media:content url="https://royce.justgoodthemes.com/content/images/2023/09/green-chameleon-176136-compressor.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://royce.justgoodthemes.com/content/images/2023/09/green-chameleon-176136-compressor.jpg" alt="The Advantages &amp; Disadvantages of Working from Home"><p>In recent years, the way we work has undergone a profound transformation, with remote work becoming increasingly common. The COVID-19 pandemic accelerated this trend, pushing many companies to adopt work-from-home arrangements. While working from home has its perks, it also comes with its fair share of challenges. In this post, we&apos;ll explore the advantages and disadvantages of working from home.</p>
]]></content:encoded></item><item><title><![CDATA[Managing Ghost users]]></title><description><![CDATA[<p>Ghost has a number of different user roles for your team. It&apos;s a good idea to ask all of your users to fill out their user profiles, including bio and social links. These will populate rich structured data for posts and generally create more opportunities for themes to</p>]]></description><link>https://royce.justgoodthemes.com/managing-users/</link><guid isPermaLink="false">6508432f2549771bbcc14067</guid><category><![CDATA[Getting Started]]></category><category><![CDATA[Ghost]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Wed, 04 Dec 2024 08:31:00 GMT</pubDate><content:encoded><![CDATA[<p>Ghost has a number of different user roles for your team. It&apos;s a good idea to ask all of your users to fill out their user profiles, including bio and social links. These will populate rich structured data for posts and generally create more opportunities for themes to fully populate their design.</p>
<h3 id="authors">Authors</h3>
<p>The base user level in Ghost is an author. Authors can write posts, edit their own posts, and publish their own posts. Authors are <strong>trusted</strong> users. If you don&apos;t trust users to be allowed to publish their own posts, you shouldn&apos;t invite them to Ghost admin.</p>
<h3 id="editors">Editors</h3>
<p>Editors are the 2nd user level in Ghost. Editors can do everything that an Author can do, but they can also edit and publish the posts of others - as well as their own. Editors can also invite new authors to the site.</p>
<h3 id="administrators">Administrators</h3>
<p>The top user level in Ghost is Administrator. Again, administrators can do everything that Authors and Editors can do, but they can also edit all site settings and data, not just content. Additionally, administrators have full access to invite, manage or remove any other user of the site.</p>
<h3 id="the-owner">The Owner</h3>
<p>There is only ever one owner of a Ghost site. The owner is a special user which has all the same permissions as an Administrator, but with two exceptions: The Owner can never be deleted. And in some circumstances the owner will have access to additional special settings if applicable &#x2014; for example, billing details, if using Ghost(Pro).</p>
]]></content:encoded></item><item><title><![CDATA[Organising your content with tags]]></title><description><![CDATA[<p>Ghost has a single, powerful organisational taxonomy, called tags.</p>
<p>It doesn&apos;t matter whether you want to call them categories, tags, boxes, or anything else. You can think of Ghost tags a lot like Gmail labels. By tagging posts with one or more keyword, you can organise articles into</p>]]></description><link>https://royce.justgoodthemes.com/using-tags/</link><guid isPermaLink="false">6508432f2549771bbcc14068</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Wed, 04 Dec 2024 08:31:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1463527882365-18201e85a091?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=f6cbb08c9311728892bf8ffb91d0362c" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1463527882365-18201e85a091?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=f6cbb08c9311728892bf8ffb91d0362c" alt="Organising your content with tags"><p>Ghost has a single, powerful organisational taxonomy, called tags.</p>
<p>It doesn&apos;t matter whether you want to call them categories, tags, boxes, or anything else. You can think of Ghost tags a lot like Gmail labels. By tagging posts with one or more keyword, you can organise articles into buckets of related content.</p>
<h2 id="basic-tagging">Basic tagging</h2>
<p>When you write a post, you can assign tags to help differentiate between categories of content. For example, you might tag some posts with <code>News</code> and other posts with <code>Cycling</code>, which would create two distinct categories of content listed on <code>/tag/news/</code> and <code>/tag/cycling/</code>, respectively.</p>
<p>If you tag a post with both <code>News</code> <em>and</em> <code>Cycling</code> - then it appears in both sections.</p>
<p>Tag archives are like dedicated home-pages for each category of content that you have. They have their own pages, their own RSS feeds, and can support their own cover images and meta data.</p>
<h2 id="the-primary-tag">The primary tag</h2>
<p>Inside the Ghost editor, you can drag and drop tags into a specific order. The first tag in the list is always given the most importance, and some themes will only display the primary tag (the first tag in the list) by default. So you can add the most important tag which you want to show up in your theme, but also add a bunch of related tags which are less important.</p>
<p><mark><strong>News</strong>, Cycling, Bart Stevens, Extreme Sports</mark></p>
<p>In this example, <strong>News</strong> is the primary tag which will be displayed by the theme, but the post will also still receive all the other tags, and show up in their respective archives.</p>
<h2 id="private-tags">Private tags</h2>
<p>Sometimes you may want to assign a post a specific tag, but you don&apos;t necessarily want that tag appearing in the theme or creating an archive page. In Ghost, hashtags are private and can be used for special styling.</p>
<p>For example, if you sometimes publish posts with video content - you might want your theme to adapt and get rid of the sidebar for these posts, to give more space for an embedded video to fill the screen. In this case, you could use private tags to tell your theme what to do.</p>
<p><mark><strong>News</strong>, Cycling, #video</mark></p>
<p>Here, the theme would assign the post publicly displayed tags of <code>News</code>, and <code>Cycling</code> - but it would also keep a private record of the post being tagged with <code>#video</code>.</p>
<p>In your theme, you could then look for private tags conditionally and give them special formatting:</p>
<pre><code>{{#post}}
    {{#has tag=&quot;#video&quot;}}
        ...markup for a nice big video post layout...
    {{else}}
        ...regular markup for a post...
    {{/has}}
{{/post}}
</code></pre>
<p>You can find documentation for theme development techniques like this and many more over on Ghost&apos;s extensive <a href="https://themes.ghost.org/?ref=royce.justgoodthemes.com">theme documentation</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Advanced Markdown tips]]></title><description><![CDATA[<p>There are lots of powerful things you can do with the Ghost editor</p>
<p>If you&apos;ve gotten pretty comfortable with <a href="https://royce.justgoodthemes.com/the-editor/">all the basics</a> of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!</p>
<p>As with the last</p>]]></description><link>https://royce.justgoodthemes.com/advanced-markdown/</link><guid isPermaLink="false">6508432f2549771bbcc14065</guid><category><![CDATA[Getting Started]]></category><category><![CDATA[Ghost]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Sun, 17 Nov 2024 08:31:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1489533119213-66a5cd877091?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=19cb3f8faa546e028839b6985ee2491d" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1489533119213-66a5cd877091?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=19cb3f8faa546e028839b6985ee2491d" alt="Advanced Markdown tips"><p>There are lots of powerful things you can do with the Ghost editor</p>
<p>If you&apos;ve gotten pretty comfortable with <a href="https://royce.justgoodthemes.com/the-editor/">all the basics</a> of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!</p>
<p>As with the last post about the editor, you&apos;ll want to be actually editing this post as you read it so that you can see all the Markdown code we&apos;re using.</p>
<h2 id="special-formatting">Special formatting</h2>
<p>As well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:</p>
<ul>
<li><s>strike through</s></li>
<li><mark>highlight</mark></li>
<li>*escaped characters*</li>
</ul>
<h2 id="writing-code-blocks">Writing code blocks</h2>
<p>There are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, <code>like this</code>. Larger snippets of code can be displayed across multiple lines using triple back ticks:</p>
<pre><code>.my-link {
    text-decoration: underline;
}
</code></pre>
<p>If you want to get really fancy, you can even add syntax highlighting using <a href="http://prismjs.com/?ref=royce.justgoodthemes.com">Prism.js</a>.</p>
<h2 id="full-bleed-images">Full bleed images</h2>
<p>One neat trick which you can use in Markdown to distinguish between different types of images is to add a <code>#hash</code> value to the end of the source URL, and then target images containing the hash with special styling. For example:</p>
<p>which is styled with...</p>
<pre><code>img[src$=&quot;#full&quot;] {
    max-width: 100vw;
}
</code></pre>
<p>This creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it&apos;s a great trick to play with if you want to have a variety of image sizes and styles.</p>
<h2 id="reference-lists">Reference lists</h2>
<p><strong>The quick brown <a href="https://en.wikipedia.org/wiki/Fox?ref=royce.justgoodthemes.com" title="Wikipedia: Fox">fox</a>, jumped over the lazy <a href="https://en.wikipedia.org/wiki/Dog?ref=royce.justgoodthemes.com" title="Wikipedia: Dog">dog</a>.</strong></p>
<p>Another way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.</p>
<h2 id="creating-footnotes">Creating footnotes</h2>
<p>The quick brown fox<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> jumped over the lazy dog<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
<p>Footnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.</p>
<h2 id="full-html">Full HTML</h2>
<p>Perhaps the best part of Markdown is that you&apos;re never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here&apos;s a standard YouTube embed code as an example:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Cniqsc9QfDo?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Foxes are red <a href="#fnref1" class="footnote-backref">&#x21A9;&#xFE0E;</a></p>
</li>
<li id="fn2" class="footnote-item"><p>Dogs are usually not red <a href="#fnref2" class="footnote-backref">&#x21A9;&#xFE0E;</a></p>
</li>
</ol>
</section>
]]></content:encoded></item><item><title><![CDATA[Setting up your own Ghost theme]]></title><description><![CDATA[<p>Creating a totally custom design for your publication</p>
<p>Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving</p>]]></description><link>https://royce.justgoodthemes.com/themes/</link><guid isPermaLink="false">6508432f2549771bbcc14064</guid><category><![CDATA[Getting Started]]></category><category><![CDATA[Ghost]]></category><dc:creator><![CDATA[Charles Lavoie]]></dc:creator><pubDate>Thu, 03 Oct 2024 08:31:00 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1513957391641-38811fee23f9?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=29ecf35209173b5f0178c98371fa5ba9" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1513957391641-38811fee23f9?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ&amp;s=29ecf35209173b5f0178c98371fa5ba9" alt="Setting up your own Ghost theme"><p>Creating a totally custom design for your publication</p>
<p>Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.</p>
<p>There are a huge range of both free and premium pre-built themes which you can get from the <a href="http://marketplace.ghost.org/?ref=royce.justgoodthemes.com">Ghost Theme Marketplace</a>, or you can simply create your own from scratch.</p>
<p><a href="http://marketplace.ghost.org/?ref=royce.justgoodthemes.com"><img src="https://casper.ghost.org/v1.0.0/images/marketplace.jpg" alt="Setting up your own Ghost theme" loading="lazy"></a></p>
<blockquote>
<p>Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS</p>
</blockquote>
<p>Ghost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like <code>{{author.name}}</code>, for example, outputs the name of the current author.</p>
<p>The best way to learn how to write your own Ghost theme is to have a look at <a href="https://github.com/TryGhost/Casper?ref=royce.justgoodthemes.com">the source code for Casper</a>, which is heavily commented and should give you a sense of how everything fits together.</p>
<ul>
<li><code>default.hbs</code> is the main template file, all contexts will load inside this file unless specifically told to use a different template.</li>
<li><code>post.hbs</code> is the file used in the context of viewing a post.</li>
<li><code>index.hbs</code> is the file used in the context of viewing the home page.</li>
<li>and so on</li>
</ul>
<p>We&apos;ve got <a href="http://themes.ghost.org/docs/about?ref=royce.justgoodthemes.com">full and extensive theme documentation</a> which outlines every template file, context and helper that you can use.</p>
<p>If you want to chat with other people making Ghost themes to get any advice or help, there&apos;s also a <strong>#themes</strong> channel in our <a href="https://slack.ghost.org/?ref=royce.justgoodthemes.com">public Slack community</a> which we always recommend joining!</p>
]]></content:encoded></item></channel></rss>