Skip to content

Commit e50dfa2

Browse files
authored
Merge pull request #67 from gotti/implement-changes-button
implement request changes button
2 parents 7d33d8a + 432d05c commit e50dfa2

7 files changed

Lines changed: 59 additions & 17 deletions

File tree

pages/link.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@
1212
- [アイスの棒](https://azukibar.dev)
1313
- [捻れたパピルス](https://www.hutinoatari.dev/)
1414
- [つまみネット](https://trpfrog.net/)
15+
- [ゆいのページ](https://yuino.dev/)
16+

pages/main.css

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,35 @@
11
img {
22
width: 800px;
3-
@media (max-width: 600px) {
3+
}
4+
5+
@media (max-width: 600px) {
6+
img {
47
width: 100%;
58
}
69
}
10+
11+
#menu {
12+
display: flex;
13+
align-items: center;
14+
gap: 16px;
15+
flex-wrap: wrap;
16+
}
17+
18+
#menu ul {
19+
list-style: none;
20+
display: flex;
21+
gap: 12px;
22+
margin: 0;
23+
padding: 0;
24+
}
25+
26+
#menu li {
27+
margin: 0;
28+
}
29+
30+
.request-changes {
31+
display: flex;
32+
margin-left: auto;
33+
justify-content: flex-end;
34+
align-items: center;
35+
}

pkg/framework/framework.go

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,37 +90,38 @@ func (p *Pages) AddPage(path string, page *Page) {
9090
}
9191

9292
type Page struct {
93-
Contents *mdparser.Root
94-
Filename string
95-
Path string
93+
Contents *mdparser.Root
94+
Filename string
95+
Path string
96+
OriginalPath string
9697
}
9798

9899
func LoadLocalPages() (Pages, error) {
99100
parser := mdparser.NewLineParser(nil)
100101
pages := NewPages()
101-
filepath.WalkDir("pages", func(path string, d os.DirEntry, err error) error {
102+
filepath.WalkDir("pages", func(origPath string, d os.DirEntry, err error) error {
102103
if err != nil {
103104
return fmt.Errorf("error walking directory: %w", err)
104105
}
105106
if d.IsDir() {
106107
return err
107108
}
108-
if filepath.Ext(path) != ".md" {
109+
if filepath.Ext(origPath) != ".md" {
109110
return nil
110111
}
111-
lines, err := os.ReadFile(path)
112+
lines, err := os.ReadFile(origPath)
112113
if err != nil {
113-
fmt.Printf("error reading file, file=%v; %v\n", path, err)
114+
fmt.Printf("error reading file, file=%v; %v\n", origPath, err)
114115
return nil
115116
}
116117
md, err := parser.Parse(string(lines))
117118
if err != nil {
118-
fmt.Printf("error parsing markdown, file=%v: %v\n", path, err)
119+
fmt.Printf("error parsing markdown, file=%v: %v\n", origPath, err)
119120
return nil
120121
}
121122

122123
//remove pages/ from path
123-
path = path[len("pages/"):]
124+
path := origPath[len("pages/"):]
124125

125126
//remove the extension from the path
126127
path = path[:len(path)-len(filepath.Ext(path))]
@@ -141,9 +142,10 @@ func LoadLocalPages() (Pages, error) {
141142
}
142143

143144
p := &Page{
144-
Contents: md,
145-
Filename: filename,
146-
Path: path,
145+
Contents: md,
146+
Filename: filename,
147+
Path: path,
148+
OriginalPath: origPath,
147149
}
148150
pages.AddPage(path, p)
149151

pkg/generator/blog.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,12 @@ func (g *generator) generatePage() template.HTML {
5050
return withDiv("content", template.HTML(buf.String()))
5151
}
5252

53-
func (g *generator) generateMenu() template.HTML {
53+
func (g *generator) generateMenu(page *framework.Page) template.HTML {
5454
buf := new(bytes.Buffer)
5555
g.templates.ExecuteTemplate(buf, "menu", g.config.Menu)
56+
if page != nil {
57+
g.templates.ExecuteTemplate(buf, "request_changes", fmt.Sprintf("https://github.com/gotti/gotti.dev/blob/main/%s", page.OriginalPath))
58+
}
5659
return withDiv("menu", template.HTML(buf.String()))
5760
}
5861

@@ -71,7 +74,7 @@ func (g *generator) generateLayout(md *mdparser.Root) template.HTML {
7174
Body template.HTML
7275
}{
7376
Head: g.generateHeader(g.config.DefaultMetaData.WithDefault(title, md.MetaData.Thumbnail)),
74-
Body: g.generateMenu() + g.generatePost(md.MetaData.Title, template.HTML(md.Objects.ToHTML())),
77+
Body: g.generateMenu(nil) + g.generatePost(md.MetaData.Title, template.HTML(md.Objects.ToHTML())),
7578
})
7679
return template.HTML(buf.String())
7780
}
@@ -87,7 +90,7 @@ func (t *postTemplateAddon) GeneratePage(page *framework.Page, pagehtml template
8790
Body template.HTML
8891
}{
8992
Head: t.generateHeader(t.config.DefaultMetaData.WithDefault(meta.Title, meta.Thumbnail)),
90-
Body: t.generateMenu() + t.generatePost(meta.Title, template.HTML(pagehtml)),
93+
Body: t.generateMenu(page) + t.generatePost(meta.Title, template.HTML(pagehtml)),
9194
})
9295
return template.HTML(buf.String()), nil
9396
}

pkg/generator/page.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func (t *standalonePageAddon) GeneratePage(page *framework.Page, pagehtml templa
2323
Body template.HTML
2424
}{
2525
Head: t.generateHeader(t.config.DefaultMetaData.WithDefault(meta.Title, meta.Thumbnail)),
26-
Body: t.generateMenu() + t.generatePost(meta.Title, template.HTML(pagehtml)),
26+
Body: t.generateMenu(page) + t.generatePost(meta.Title, template.HTML(pagehtml)),
2727
})
2828
return template.HTML(buf.String()), nil
2929
}

pkg/generator/static/_layout.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<html lang="ja">
44
<head>
55
<meta charset="utf-8">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
67
<link rel="stylesheet" href="/main.css">
78
{{.Head}}
89
</head>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{{define "request_changes"}}
2+
<div class="request-changes">
3+
<a href="{{ . }}">Request Changes(GitHub)</a>
4+
</div>
5+
{{end}}

0 commit comments

Comments
 (0)