Configured the site a little

This commit is contained in:
Leon Mika 2025-03-30 10:39:02 +11:00
parent 2411e64a53
commit b465899f85
10 changed files with 121 additions and 20 deletions

View file

@ -1,11 +1,16 @@
package hugo
type permalinksConfig struct {
Page map[string]string `yaml:"page"`
}
type hugoConfig struct {
BaseURL string `yaml:"baseURL,omitempty"`
LanguageCode string `yaml:"languageCode"`
Title string `yaml:"title"`
Theme string `yaml:"theme"`
CanonifyURLs bool `yaml:"canonifyURLs,omitempty"`
BaseURL string `yaml:"baseURL,omitempty"`
LanguageCode string `yaml:"languageCode"`
Title string `yaml:"title"`
Theme string `yaml:"theme"`
CanonifyURLs bool `yaml:"canonifyURLs,omitempty"`
Permalinks permalinksConfig `yaml:"permalinks,omitempty"`
Markup hugoConfigMarkup `yaml:"markup"`
}

View file

@ -97,17 +97,25 @@ func (p *Provider) publishSiteAt(ctx context.Context, dir string, site models.Si
cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
if err := cmd.Run(); err != nil {
if err := cmd.Start(); err != nil {
return "", err
}
if err := cmd.Wait(); err != nil {
return "", err
}
return outDir, nil
}
func (p *Provider) ReconfigureSite(ctx context.Context, isPreviewConfig bool, configBase string, site models.Site) error {
func (p *Provider) ReconfigureSite(ctx context.Context, isPreviewConfig bool, configBase string, site models.Site, meta models.ThemeMeta) error {
hugoCfg := hugoConfig{
Title: site.Title,
LanguageCode: "en",
Theme: site.Theme,
Permalinks: permalinksConfig{
Page: map[string]string{
meta.BlogPostBundle: meta.BlogPostBundle + "/:year/:month/:day/:title",
},
},
Markup: hugoConfigMarkup{
Goldmark: hugoGoldmarkConfig{
Renderer: hugoGoldmarkRendererConfig{

View file

@ -1,14 +1,23 @@
package themes
import "lmika.dev/lmika/hugo-cms/models"
import (
"lmika.dev/lmika/hugo-cms/models"
"lmika.dev/lmika/hugo-cms/providers/themes/overlays"
)
var themes = []models.ThemeMeta{
{
ID: "bear",
Name: "Bear",
URL: "https://github.com/janraasch/hugo-bearblog",
ID: "bear",
Name: "Bear",
URL: "https://github.com/janraasch/hugo-bearblog",
OverlayFS: overlays.HugoBearblogFS,
Overlays: map[string]string{
"hugo-bearblog/archetype-posts.md": "archetypes/posts.md",
"hugo-bearblog/index.html": "layouts/index.html",
"hugo-bearblog/partials-nav.html": "layouts/partials/nav.html",
},
PreferTitle: true,
BlogPostBundle: "blog",
BlogPostBundle: "posts",
},
{
ID: "terminal",

View file

@ -0,0 +1,6 @@
package overlays
import "embed"
//go:embed hugo-bearblog/*
var HugoBearblogFS embed.FS

View file

@ -0,0 +1,13 @@
+++
title = "{{ replace .Name "-" " " | title }}"
date = "{{ .Date }}"
#
# description is optional
#
# description = "An optional description for SEO. If not provided, an automatically created summary will be used."
tags = [{{ range $plural, $terms := .Site.Taxonomies }}{{ range $term, $val := $terms }}"{{ printf "%s" $term }}",{{ end }}{{ end }}]
+++
This is a page about »{{ replace .Name "-" " " | title }}«.

View file

@ -0,0 +1,24 @@
{{ define "main" }}
{{ .Content }}
<h3>Recent Posts</h3>
<ul class="blog-posts">
{{ range site.RegularPages }}
<li>
<span>
<i>
<time datetime='{{ .Date.Format "2006-01-02" }}'>
{{ .Date.Format (default "02 Jan, 2006" .Site.Params.dateFormat) }}
</time>
</i>
</span>
<a href="{{ .Permalink }}">{{ .Title }}</a>
</li>
{{ else }}
<li>
No posts yet
</li>
{{ end }}
</ul>
{{ end }}

View file

@ -0,0 +1,7 @@
<a href="{{ "" | relURL }}">Home</a>
{{ range .Site.Menus.main }}
<a href="{{ .URL }}">{{ .Name }}</a>
{{ end }}
{{ with .Site.GetPage "/posts" }}
<a href="{{ "posts" | relURL }}">Posts</a>
{{ end }}