From 7b71cb2dfe1cd011760a88d5200dabe238b63a8e Mon Sep 17 00:00:00 2001
From: Jonathan Bernard <jonathan@jdbernard.com>
Date: Sun, 16 Apr 2023 03:22:46 -0500
Subject: [PATCH] Extract example from the README to a runnable location.

---
 README.md           | 31 ++++---------------------------
 examples/jack.vcf   | 10 ++++++++++
 examples/simple.nim | 22 ++++++++++++++++++++++
 3 files changed, 36 insertions(+), 27 deletions(-)
 create mode 100644 examples/jack.vcf
 create mode 100644 examples/simple.nim

diff --git a/README.md b/README.md
index d1807d2..3d72fcd 100644
--- a/README.md
+++ b/README.md
@@ -22,30 +22,7 @@ TEL;TYPE=CELL:+1 (555) 123-4567
 END:VCARD
 ```
 
-```nim
-import vcard
-
-# Reading in an existing vcard
-let vcards = parseVCard3File("jack.vcf")
-assert vcards.len == 1
-let vcAllen = vcards[0]
-
-assert vcAllen.email.len == 2
-assert vcAllen.email[0].value == "allen@fosters.test"
-assert vcAllen.n.first == "Jack"
-
-
-# Creating a new VCard
-var vcSusan: VCard3
-vcSusan.add(
-  newVC3_N(given = "Susan", family = "Foster"),
-  newVC3_Email(value = "susan@fosters.test", emailType = @["PREF", $etInternet),
-  newVC3_Tel(
-    value = "+1 (555) 444-3889",
-    telType = @[$ttHome, $ttCell, $ttVoice, $ttMsg])
-)
-writeFile("susan.vcf", $vcSusan)
-```
+https://github.com/jdbernard/nim-vcard/blob/4839ff64a8e6da1ad4803adbd71c0a53cae81c4e/examples/simple.nim#L1-L22
 
 ## Future Goals
 
@@ -55,9 +32,9 @@ writeFile("susan.vcf", $vcSusan)
 
 *Need to clean up and organize*
 
-Run `tlexer` tests in gdb:
+Run `tvcard3` tests in gdb:
 
 ```sh
 $ cd tests
-$ nim --debuginfo --linedir:on c tlexer
-$ gdb --tui tlexer
+$ nim --debuginfo --linedir:on c tvcard3
+$ gdb --tui tvcard3
diff --git a/examples/jack.vcf b/examples/jack.vcf
new file mode 100644
index 0000000..acff71c
--- /dev/null
+++ b/examples/jack.vcf
@@ -0,0 +1,10 @@
+BEGIN:VCARD
+VERSION:3.0
+UID: 5db6f100-e2d6-4e8d-951f-d920586bc069
+N:Foster;Jack;Allen;;
+FN:Allen Foster
+REV:20230408T122102Z
+EMAIL;TYPE=home;TYPE=pref:allen@fosters.test
+EMAIL;TYPE=work:jack.foster@company.test
+TEL;TYPE=CELL:+1 (555) 123-4567
+END:VCARD
diff --git a/examples/simple.nim b/examples/simple.nim
new file mode 100644
index 0000000..90a6cc8
--- /dev/null
+++ b/examples/simple.nim
@@ -0,0 +1,22 @@
+import vcard
+
+# Reading in an existing vcard
+let vcards = parseVCard3File("jack.vcf")
+assert vcards.len == 1
+let vcAllen = vcards[0]
+
+assert vcAllen.email.len == 2
+assert vcAllen.email[0].value == "allen@fosters.test"
+assert vcAllen.n.given[0] == "Jack"
+
+# Creating a new VCard
+var vcSusan: VCard3
+vcSusan.add(@[
+  newVC3_N(given = @["Susan"], family = @["Foster"]),
+  newVC3_Email(value = "susan@fosters.test", emailType = @["PREF",
+  $etInternet]),
+  newVC3_Tel(
+    value = "+1 (555) 444-3889",
+    telType = @[$ttHome, $ttCell, $ttVoice, $ttMsg])
+])
+writeFile("susan.vcf", $vcSusan)