Pager example

This commit is contained in:
Christian Rocha 2020-05-11 21:03:04 -04:00
parent 5ae602953c
commit b6eeef2127
No known key found for this signature in database
GPG Key ID: D6CC7A16E5878018
2 changed files with 93 additions and 0 deletions

View File

@ -0,0 +1,68 @@
Glow
====
A casual introduction. 你好世界!
## Lets 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 | Its over 9000?! |
| Ramen | 9002 | Also over 9000?! |
| Currywurst | 10000 | What?! |
## Currying Artichokes
Heres a bit of code in [Haskell](https://haskell.org), because we are fancy.
Remember that to compile Haskell youll 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.

25
examples/pager/main.go Normal file
View File

@ -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)
}
}