diff options
| author | Nicolas Paul <n@nc0.fr> | 2023-05-02 22:30:41 +0200 |
|---|---|---|
| committer | Nicolas Paul <n@nc0.fr> | 2023-05-02 22:30:41 +0200 |
| commit | ee181818c030315a69eff69faf79a7f2ba09b59f (patch) | |
| tree | 058a6616412d866868710a89c4f7dafecfb8a7fc | |
| parent | a97ea6a30eccbca19fe1b3d21b5830e0e01b15a4 (diff) | |
Make slug have the file extension
| -rw-r--r-- | crocc.go | 3 | ||||
| -rw-r--r-- | doc/src/.crocc.html | 21 | ||||
| -rw-r--r-- | sitemap.go | 5 |
3 files changed, 18 insertions, 11 deletions
@@ -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 |
