Skip to content

Commit

Permalink
Migrate to current kernel for new config handling
Browse files Browse the repository at this point in the history
  • Loading branch information
peter-mount committed Jan 29, 2022
1 parent 0fbbc10 commit a5f4088
Show file tree
Hide file tree
Showing 7 changed files with 263 additions and 99 deletions.
12 changes: 12 additions & 0 deletions content/bbc/teletext/_index.html
@@ -0,0 +1,12 @@
---
type: "bookTitle"
title: "Teletext Mode 7"
linkTitle: "Teletext Mode 7"
weight: 20
categories:
- bbc
---
<div class="printPageBreakAvoid">

</div>

203 changes: 203 additions & 0 deletions content/bbc/teletext/charset/_index.html
@@ -0,0 +1,203 @@
---
type: "bookTitle"
title: "Mode 7 Character set"
linkTitle: "Character set"
weight: 20
categories:
- bbc
charset:
- char: 32
name: " "
- char: 33
name: "!"
- char: 34
name: "\""
- char: 35
name: "#"
- char: 36
name: "$"
- char: 37
name: "%"
- char: 38
name: "&"
- char: 39
name: "'"
- char: 40
name: "("
- char: 41
name: ")"
- char: 42
name: "*"
- char: 43
name: "+"
- char: 44
name: ","
- char: 45
name: "-"
- char: 46
name: "."
- char: 47
name: "/"
- char: 48
name: "0"
- char: 49
name: "1"
- char: 50
name: "2"
- char: 51
name: "3"
- char: 52
name: "4"
- char: 53
name: "5"
- char: 54
name: "6"
- char: 55
name: "7"
- char: 56
name: "8"
- char: 57
name: "9"
- char: 58
name: ":"
- char: 59
name: ";"
- char: 60
name: "<"
- char: 61
name: "="
- char: 62
name: ">"
- char: 63
name: "?"
- char: 64
name: "@"
- char: 65
name: "A"
- char: 66
name: "B"
- char: 67
name: "C"
- char: 68
name: "D"
- char: 69
name: "E"
- char: 70
name: "F"
- char: 71
name: "G"
- char: 72
name: "H"
- char: 73
name: "I"
- char: 74
name: "J"
- char: 75
name: "K"
- char: 76
name: "L"
- char: 77
name: "M"
- char: 78
name: "N"
- char: 79
name: "O"
- char: 80
name: "P"
- char: 81
name: "Q"
- char: 82
name: "R"
- char: 83
name: "S"
- char: 84
name: "T"
- char: 85
name: "U"
- char: 86
name: "V"
- char: 87
name: "W"
- char: 88
name: "X"
- char: 89
name: "Y"
- char: 90
name: "Z"
- char: 91
name: "["
- char: 92
name: "\\"
- char: 93
name: "]"
- char: 94
name: "^"
- char: 95
name: "_"
- char: 96
name: "`"
- char: 97
name: "a"
- char: 98
name: "b"
- char: 99
name: "c"
- char: 100
name: "d"
- char: 101
name: "e"
- char: 102
name: "f"
- char: 103
name: "g"
- char: 104
name: "h"
- char: 105
name: "i"
- char: 106
name: "j"
- char: 107
name: "k"
- char: 108
name: "l"
- char: 109
name: "m"
- char: 110
name: "n"
- char: 111
name: "o"
- char: 112
name: "p"
- char: 113
name: "q"
- char: 114
name: "r"
- char: 115
name: "s"
- char: 116
name: "t"
- char: 117
name: "u"
- char: 118
name: "v"
- char: 119
name: "w"
- char: 120
name: "x"
- char: 121
name: "y"
- char: 122
name: "z"
- char: 123
name: "{"
- char: 124
name: "|"
- char: 125
name: "}"
- char: 126
name: "~"
---
<div class="printPageBreakAvoid">

</div>

2 changes: 1 addition & 1 deletion go.mod
Expand Up @@ -8,7 +8,7 @@ require (
github.com/chromedp/chromedp v0.7.4
github.com/gorilla/mux v1.7.2
github.com/microcosm-cc/bluemonday v1.0.16
github.com/peter-mount/go-kernel v1.1.0
github.com/peter-mount/go-kernel v1.1.1-0.20220128175407-5a6b80f9340a
github.com/xuri/excelize/v2 v2.4.1
gopkg.in/yaml.v2 v2.4.0
)
3 changes: 1 addition & 2 deletions tools/generator/generator.go
Expand Up @@ -11,10 +11,9 @@ import (

// Generator is a kernel Service which handles the generation of content based on page metadata.
type Generator struct {
config *hugo.Config `kernel:"inject"` // Configuration
bookShelf *hugo.BookShelf `kernel:"inject"`
generators map[string]task.Task // Map of available generators
worker task.Queue `kernel:"worker"` // Worker queue
generators map[string]task.Task // Map of available generators
}

func (g *Generator) Start() error {
Expand Down
76 changes: 0 additions & 76 deletions tools/hugo/config.go

This file was deleted.

49 changes: 33 additions & 16 deletions tools/pdf/pdf.go
Expand Up @@ -15,15 +15,34 @@ import (

// PDF tool that handles the generation of PDF documentation of a "book"
type PDF struct {
config *hugo.Config `kernel:"inject"` // Config
config *Config `kernel:"config,pdf"` // Config
bookShelf *hugo.BookShelf `kernel:"inject"` // Bookshelf
chromium *web.Chromium `kernel:"inject"` // Chromium browser
enable *bool `kernel:"flag,p,disable PDF generation"` // Is PDF generation enabled
worker task.Queue `kernel:"worker"` // Worker queue
_ *web.Webserver `kernel:"inject"` // we need these to deploy before this but don't
webserver *web.Webserver `kernel:"inject"` // Webserver
_ *hugo.Hugo `kernel:"inject"` // access them directly
}

type Config struct {
PrintBackground bool `yaml:"printBackground"` // Print background graphics
Margin Margin `yaml:"margin"` // Page margins
Width float64 `yaml:"width"` // Page width in inches
Height float64 `yaml:"height"` // Page height in inches
Landscape bool `yaml:"landscape"` // Landscape or Portrait
Header string `yaml:"header"` // Header in html
Footer string `yaml:"footer"` // Footer in html
DisableHeaderFooter bool `yaml:"disableHeaderFooter"` // Disable header & footer generation
}

// Margin in inches. Default is 1cm ~0.4 inches
type Margin struct {
Top float64 `yaml:"top"` // Top margin in inches
Left float64 `yaml:"left"` // Left margin in inches
Bottom float64 `yaml:"bottom"` // Bottom margin in inches
Right float64 `yaml:"right"` // Right margin in inches
}

func (p *PDF) Start() error {
if *p.enable {
return nil
Expand All @@ -40,25 +59,23 @@ func (p *PDF) Start() error {

// print a specific pdf page.
func (p *PDF) printToPDF(book *hugo.Book) chromedp.Tasks {
url := p.config.WebPath("%s/_print/", strings.ToLower(book.WebPath()))

pdf := p.config.PDF
url := p.webserver.WebPath("%s/_print/", strings.ToLower(book.WebPath()))

return chromedp.Tasks{
chromedp.Navigate(url),
chromedp.ActionFunc(func(ctx context.Context) error {
buf, _, err := page.PrintToPDF().
WithPrintBackground(pdf.PrintBackground).
WithMarginTop(pdf.Margin.Top).
WithMarginBottom(pdf.Margin.Bottom).
WithMarginLeft(pdf.Margin.Left).
WithMarginRight(pdf.Margin.Right).
WithLandscape(pdf.Landscape).
WithPaperWidth(pdf.Width).
WithPaperHeight(pdf.Height).
WithDisplayHeaderFooter(!pdf.DisableHeaderFooter).
WithHeaderTemplate(book.Expand(pdf.Header)).
WithFooterTemplate(book.Expand(pdf.Footer)).
WithPrintBackground(p.config.PrintBackground).
WithMarginTop(p.config.Margin.Top).
WithMarginBottom(p.config.Margin.Bottom).
WithMarginLeft(p.config.Margin.Left).
WithMarginRight(p.config.Margin.Right).
WithLandscape(p.config.Landscape).
WithPaperWidth(p.config.Width).
WithPaperHeight(p.config.Height).
WithDisplayHeaderFooter(!p.config.DisableHeaderFooter).
WithHeaderTemplate(book.Expand(p.config.Header)).
WithFooterTemplate(book.Expand(p.config.Footer)).
Do(ctx)

if err != nil {
Expand Down

0 comments on commit a5f4088

Please sign in to comment.