-
-{{range $i, $listing := .CategoryListings -}}
-
- {{$listing.Name}} -{{range $j, $post := $listing.Posts -}} -
- {{$post.Meta.Title}} -{{end}} -{{end}} -
-{{end}} -
diff --git a/blog/blog.go b/blog/blog.go
index 9091b3f..f50b07d 100644
--- a/blog/blog.go
+++ b/blog/blog.go
@@ -22,6 +22,7 @@ const postsPerPage int = 5
var blogname string
var folder string
var style string
+var script string
var t *template.Template
var rssTemplate *template.Template
var categories map[string][]Post
@@ -66,6 +67,7 @@ func emitPostPage(post Post) string {
page.Blogdir = folder
page.Title = post.Meta.Title
page.Style = style
+ page.Script = script
page.Content = post.Content
page.Time = post.Meta.Date.Format(TimeFormat)
page.Blogpost = true
@@ -110,6 +112,7 @@ func emitIndexPage(i int, posts []Post, total int) {
page := Page{}
page.Title = blogname
page.Style = style
+ page.Script = script
page.Blogdir = folder
page.Blogname = blogname
page.Blogpost = false
@@ -180,6 +183,7 @@ func makeCategories() {
page := Page{}
page.Title = blogname + ": Categories"
page.Style = style
+ page.Script = script
keySet := keys(categories)
sort.Strings(keySet)
for _, k := range keySet {
@@ -200,6 +204,7 @@ func makeTimeline(posts []Post) {
page := Page{}
page.Title = blogname + ": Timeline"
page.Style = style
+ page.Script = script
page.TimelineListing = posts
buf := new(bytes.Buffer)
t.Execute(buf, page)
@@ -269,15 +274,18 @@ func Generate(dir string) {
categories = make(map[string][]Post)
var err error
var err2 error
+ var err3 error
style, err = goutil.ReadFile("style.css")
- templateString, err2 := goutil.ReadFile("template")
+ script, err2 = goutil.ReadFile("script.js")
+ templateString, err3 := goutil.ReadFile("template")
t = template.Must(template.New("page").Parse(templateString))
rssTemplateString, _ := goutil.ReadFile("rssTemplate")
rssTemplate = template.Must(template.New("rss").Parse(rssTemplateString))
- if err == nil && err2 == nil {
+ if err == nil && err2 == nil && err3 == nil {
makeBlog()
} else {
fmt.Println(err)
fmt.Println(err2)
+ fmt.Println(err3)
}
}
diff --git a/initer/initer.go b/initer/initer.go
index fda8b2d..459158a 100644
--- a/initer/initer.go
+++ b/initer/initer.go
@@ -4,48 +4,34 @@ import (
"errors"
"flag"
"fmt"
+ "os"
+ "path/filepath"
+
finstr "git.gutmet.org/finstr.git/initer"
goutil "git.gutmet.org/goutil.git/misc"
"git.gutmet.org/wombat.git/gallery"
- "os"
- "path/filepath"
)
const (
initflag = ".wombat"
)
-type Style int
+var checkpaths []string = []string{initflag, "stage0", "template", "style.css", "script.js"}
-const (
- Minimal Style = 0
- BSStarter Style = 1
-)
-
-func templateAndCSS(style Style) (string, string) {
- switch style {
- case BSStarter:
- return bsStarterTemplate, bsStarterStyle
- case Minimal:
- fallthrough
- default:
- return defaultTemplate, defaultStyle
- }
-}
-
-var checkpaths []string = []string{initflag, "stage0", "template", "style.css"}
-
-func dumpInitFiles(style Style) error {
- template, css := templateAndCSS(style)
- err := goutil.WriteFile("template", template)
+func dumpInitFiles() error {
+ err := goutil.WriteFile("template", defaultTemplate)
if err != nil {
return err
}
- err = goutil.WriteFile("rssTemplate", rssTemplate)
+ err = goutil.WriteFile("rssTemplate", defaultRSSTemplate)
if err != nil {
return err
}
- err = goutil.WriteFile("style.css", css)
+ err = goutil.WriteFile("style.css", defaultStyle)
+ if err != nil {
+ return err
+ }
+ err = goutil.WriteFile("script.js", defaultScript)
if err != nil {
return err
}
@@ -65,7 +51,7 @@ func isInitialized() bool {
return true
}
-func initialize(style Style) error {
+func initialize() error {
var err error
if !isInitialized() {
dir, err := os.Getwd()
@@ -85,7 +71,7 @@ func initialize(style Style) error {
if err != nil {
return err
}
- err = dumpInitFiles(style)
+ err = dumpInitFiles()
}
return err
}
@@ -106,16 +92,9 @@ type initializeFlags struct {
}
func Command() (goutil.CommandFlagsInit, goutil.CommandFunc) {
- f := initializeFlags{}
flagsInit := func(s *flag.FlagSet) {
- s.StringVar(&f.style, "style", "minimal", "\"minimal\" or \"evil\" (Bootstrap)")
}
return flagsInit, func([]string) error {
- if f.style == "evil" {
- fmt.Println("You should feel bad, but anyway...")
- return initialize(BSStarter)
- } else {
- return initialize(Minimal)
- }
+ return initialize()
}
}
diff --git a/initer/script.go b/initer/script.go
new file mode 100644
index 0000000..9bbf33c
--- /dev/null
+++ b/initer/script.go
@@ -0,0 +1,11 @@
+package initer
+
+const defaultScript string = `function retard() {
+ var x = document.getElementById("navigation");
+ if (x.className === "navigation") {
+ x.className += " retarded";
+ } else {
+ x.className = "navigation";
+ }
+}
+`
diff --git a/initer/styles.go b/initer/styles.go
index 47f6f78..c06ae62 100644
--- a/initer/styles.go
+++ b/initer/styles.go
@@ -1,6 +1,6 @@
package initer
-var defaultStyle string = `body {
+const defaultStyle string = `body {
font-family: Arial,Helvetica,sans-serif;
font-size: 12pt;
max-width: 750px;
@@ -45,6 +45,33 @@ div.blogpost {
div.navigation {
padding-bottom: 0.5em;
}
+.navigation .burger {
+ display:none;
+ padding: 14px 16px;
+}
+@media screen and not (min-width: 1024px) {
+ .navigation a {
+ display: none;
+ }
+ .navigation a.burger {
+ float: right;
+ display: block;
+ }
+ .navigation.retarded {
+ position: relative;
+ }
+ .navigation.retarded .burger {
+ position: absolute;
+ right: 0;
+ top: 0;
+ }
+ .navigation.retarded a {
+ float: none;
+ display: block;
+ text-align: left;
+ padding: 14px 16px;
+ }
+}
blockquote {
margin-left: 1em;
margin-right: 0;
@@ -70,14 +97,3 @@ td {
padding-right: .5em;
}
`
-
-/******************************************************************************/
-
-var bsStarterStyle string = `body {
- padding-top: 5rem;
-}
-.starter-template {
- padding: 3rem 1.5rem;
- text-align: justify;
-}
-`
diff --git a/initer/templates.go b/initer/templates.go
index 46b524d..b303cd3 100644
--- a/initer/templates.go
+++ b/initer/templates.go
@@ -1,6 +1,6 @@
package initer
-var rssTemplate string = `
+const defaultRSSTemplate string = `