Fornax icon indicating copy to clipboard operation
Fornax copied to clipboard

Themes?

Open Thorium opened this issue 4 years ago • 4 comments

One thing that made Jekyll (and then Hugo) so popular was that you could just get a theme from a website, and there are lot of themes available: https://themes.gohugo.io/

I select a theme meant for a blog, I get out-of-the-box:

  • Rss and sitemap generators
  • Google analytics component
  • Disqus component
  • Sidebar menu component
  • SEO-optimised site (e.g. meta-header-tags, social media share tags, etc.)

The reason people sharing these is, that the static site (/blog) is not core business (/subject of the main interest for the user). For example, Google Analytics script is same for everyone and if Google changes the script version, then who actually wants to maintain that by themselves...

What is the goal of Fornax, will it be an alternative for HUGO? How does it help users to share these kind of higher-abstraction components like themes?

Thorium avatar Jun 09 '20 13:06 Thorium

I briefly mentioned something like that in #67. It seems like themes would be the next logical step? Although I'm not sure what that looks like. I suppose it would just be a package of loaders/generators/js/style?

To your other point, I think alternative is right? The thing that brought me to Fornax, other than being F#, is that it encourages fiddling around with the guts of the project in a way that Hugo or Gatsby don't. However, it's fair that building your own artisanal loaders and generators isn't necessarily a huge draw in a general audience.

drewknab avatar Jun 12 '20 02:06 drewknab

I started looking into this and I'm 60% into implementing something like:

  1. Check for --template flag
    1. If --template determine whether value is a URL or not
      • If URL git clone etc
      • If not, handle as a local folder
        • Relative to current working directory?

Thoughts on that?

drewknab avatar Aug 28 '20 17:08 drewknab

Sound typical. If I remember correctly e.g. SwaggerProvider has a small code block that does that.

Thorium avatar Aug 28 '20 20:08 Thorium

For the last bullet point, I'd expect some default meta-tags, for example:

<head>
<!-- ... current rels plus ... -->
<meta name="description" content="This is a blog for blah blah.">
<!-- OGs are for social media sharing previews -->
<meta property="og:site_name" content="My.Blog">
<meta property="og:image" content="http://ionide.io/FSharp.Analyzers.SDK/images/logo.png">
<meta property="og:image:secure_url" content="https://ionide.io/FSharp.Analyzers.SDK/images/logo.png">
<!-- match Twitter option with Some 
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@fsharp_analysers">
<meta name="twitter:image" content="http://ionide.io/FSharp.Analyzers.SDK/images/logo.png">
-->
<!-- This would be for your mother's phone: -->
<!--link rel="apple-touch-icon-precomposed" sizes="144x144" href="http://ionide.com/apple-touch-icon-144-precomposed.png"-->
</head>

Thorium avatar Mar 14 '24 21:03 Thorium