diff --git a/examples/pager/artichoke.md b/examples/pager/artichoke.md new file mode 100644 index 0000000..55b673a --- /dev/null +++ b/examples/pager/artichoke.md @@ -0,0 +1,68 @@ +Glow +==== + +A casual introduction. 你好世界! + +## Let’s talk about artichokes + +The _artichoke_ is mentioned as a garden plant in the 8th century BC by Homer +**and** Hesiod. The naturally occurring variant of the artichoke, the cardoon, +which is native the the Mediterranean area, also has records of use as a food +among the ancient Greeks and Romans. Pliny the Elder mentioned growing of +_carduus_ in Carthage and Cordoba. + +> He holds him with a skinny hand, +> ‘There was a ship,’ quoth he. +> ‘Hold off! unhand me, grey-beard loon!’ +> An artichoke, dropt he. + +--Samuel Taylor Coleridge, [The Rime of the Ancient Mariner][rime] + +[rime]: https://poetryfoundation.org/poems/43997/ + +## Other foods worth mentioning + +1. Carrots +1. Celery +1. Tacos + * Soft + * Hard +1. Cucumber + +## Things to eat today + +* [x] Carrots +* [x] Ramen +* [ ] Currywurst + +### Power levels of the aforementioned foods + +| Name | Power | Comment | +| --- | --- | --- | +| Carrots | 9001 | It’s over 9000?! | +| Ramen | 9002 | Also over 9000?! | +| Currywurst | 10000 | What?! | + +## Currying Artichokes + +Here’s a bit of code in [Haskell](https://haskell.org), because we are fancy. +Remember that to compile Haskell you’ll need `ghc`. + +```haskell +module Main where + +import Data.Function ( (&) ) +import Data.List ( intercalculate ) + +hello :: String -> String +hello s = + "Hello, " ++ s ++ "." + +main :: IO () +main = + map hello [ "artichoke", "alcachofa" ] & intercalculate "\n" & putStrLn +``` + +*** + +_Alcachofa_, if you were wondering, is artichoke in Spanish. diff --git a/examples/pager/main.go b/examples/pager/main.go new file mode 100644 index 0000000..e41fc8e --- /dev/null +++ b/examples/pager/main.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" + "io/ioutil" + "os" + + "github.com/charmbracelet/tea" + "github.com/charmbracelet/teaparty/pager" +) + +func main() { + content, err := ioutil.ReadFile("artichoke.md") + if err != nil { + fmt.Println("could not load file:", err) + os.Exit(1) + } + + tea.AltScreen() + defer tea.ExitAltScreen() + if err := pager.NewProgram(string(content)).Start(); err != nil { + fmt.Println("could not run program:", err) + os.Exit(1) + } +}