hugo-to-gemini/cmd/gmnhg/main.go
2020-11-08 01:07:53 +05:00

58 lines
1.1 KiB
Go

// gmnhg converts Hugo posts to gemini content.
//
// TODO: it is yet to actually do that.
package main
import (
"fmt"
"git.tdem.in/tdemin/gmnhg/internal/gemini"
"github.com/davecgh/go-spew/spew"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/parser"
)
var text = `
# Some document
This is some markdown [text](https://tdem.in). This is some more text.
![This is some image](https://tdem.in/favicon.ico)
[This is some full-blown link.](https://tdem.in/nyaa)
This is some more plain text. More of it!
+ Unordered list item
+ Another list item
* Indented list item.
* Another one.
+ Third.
1. Ordered list item.
2. Another one.
* and another inset list.
* text.
3. Yay.
` + "```" + `
some preformatted text
another line of preformatted text
more lines of preformatted text
` + "```" + `
## Subheading 2
More text!
> Some weird blockquote. More text.
> More quote text.
`
func main() {
ast := markdown.Parse([]byte(text), parser.NewWithExtensions(parser.CommonExtensions))
spew.Dump(ast)
geminiContent := markdown.Render(ast, gemini.NewRenderer())
fmt.Printf("---\noriginal:\n---\n%s---\ngemini:\n---\n%s", text, geminiContent)
}