summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Paul <n@nc0.fr>2023-05-02 22:30:41 +0200
committerNicolas Paul <n@nc0.fr>2023-05-02 22:30:41 +0200
commitee181818c030315a69eff69faf79a7f2ba09b59f (patch)
tree058a6616412d866868710a89c4f7dafecfb8a7fc
parenta97ea6a30eccbca19fe1b3d21b5830e0e01b15a4 (diff)
Make slug have the file extension
-rw-r--r--crocc.go3
-rw-r--r--doc/src/.crocc.html21
-rw-r--r--sitemap.go5
3 files changed, 18 insertions, 11 deletions
diff --git a/crocc.go b/crocc.go
index e88ab33..d274992 100644
--- a/crocc.go
+++ b/crocc.go
@@ -21,6 +21,7 @@ var (
url = flag.String("url", "http://localhost", "site URL")
generateHidden = flag.Bool("hidden", false, "generate hidden pages")
printVersion = flag.Bool("version", false, "print version and exit")
+ sitemap = flag.Bool("sitemap", false, "generate sitemap (will overwrite existing sitemap.xml)")
)
const usage string = `crocc is a simple Markdown-based static site generator.
@@ -136,7 +137,7 @@ func Crocc(path string, d os.DirEntry, e error) error {
// If the file is a Markdown file, transform it into HTML
o = strings.TrimSuffix(o, filepath.Ext(o)) + ".html"
- s := strings.TrimSuffix(strings.TrimPrefix(o, *out), ".html")
+ s := strings.TrimPrefix(o, *out)
if err := TransformMarkdownFile(path, o, s); err != nil {
return err
}
diff --git a/doc/src/.crocc.html b/doc/src/.crocc.html
index 490ac42..cd9da25 100644
--- a/doc/src/.crocc.html
+++ b/doc/src/.crocc.html
@@ -6,8 +6,7 @@
-->
<html lang="en">
<head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ .Title }}</title>
<meta name="author" content="{{ .Author }}" />
@@ -17,7 +16,8 @@
<meta name="color-scheme" content="only light" />
<meta name="theme-color" content="#606c37">
<meta name="robots" content="all" />
- <link rel="sitemap" href="/sitemap.xml" />
+ <link rel="sitemap" href="{{ .Site }}/sitemap.xml" />
+ <link rel="canonical" href="{{ .Site }}{{ .Slug }}">
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@ncs_pl" />
<meta name="twitter:title" content="{{ .Title }}" />
@@ -25,23 +25,24 @@
<meta name="twitter:image" content="{{ .Site }}/assets/crocodile.jpg" />
<meta property="og:title" content="{{ .Title }}" />
<meta property="og:type" content="website" />
- <meta property="og:url" content="{{ .Site }}" />
+ <meta property="og:url" content="{{ .Site }}{{ .Slug }}" />
<meta property="og:description" content="{{ .Description }}" />
<meta property="og:determiner" content="" />
<meta property="og:locale" content="en" />
<meta property="og:site_name" content="Crocc" />
<meta property="og:image" content="{{ .Site }}/assets/crocodile.jpg" />
- <link rel="icon" href="/assets/emoji_crocodile.svg" type="image/svg">
- <link rel="mask-icon" href="/assets/emoji_crocodile.svg">
- <link rel="stylesheet" href="/css/style.css">
- <link rel="stylesheet" href="/css/prism.css">
- <script src="/js/prism.js"></script>
+ <link rel="icon" href="{{ .Site }}/assets/emoji_crocodile.svg"
+ type="image/svg">
+ <link rel="mask-icon" href="{{ .Site }}/assets/emoji_crocodile.svg">
+ <link rel="stylesheet" href="{{ .Site }}/css/style.css">
+ <link rel="stylesheet" href="{{ .Site }}/css/prism.css">
+ <script src="{{ .Site }}/js/prism.js"></script>
</head>
<body>
<header aria-label="Page header" class="header">
<div class="header-container-left">
<a href="/">
- <img src="/assets/crocc_logo.svg"
+ <img src="{{ .Site }}/assets/crocc_logo.svg"
alt="A green crocodile emoji" class="logo">
</a>
</div>
diff --git a/sitemap.go b/sitemap.go
new file mode 100644
index 0000000..732dfd5
--- /dev/null
+++ b/sitemap.go
@@ -0,0 +1,5 @@
+// Copyright (c) 2023 Nicolas Paul All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package main