diff --git a/docs/Theme Development.md b/docs/Theme Development.md
index 44bde47..799c8fd 100644
--- a/docs/Theme Development.md
+++ b/docs/Theme Development.md
@@ -11,11 +11,13 @@ This is the folder structure for a standard theme. The root folder shown below
* contact.php
* _default.php_
* _404.php_
+ * preview.png
* ***colors***
* ***default***
* **green**
* **etc**
-
+
+If `preview.png` is present, it will be displayed to the user in the theme picker.
## Metadata File
@@ -81,9 +83,9 @@ It is highly recommended to have a contact form template included in your theme.
Do not use the optional ``, `
`, and `` tags for your template HTML. The editor relies on being able to append code to the document and have it still work normally.
-Do include FontAwesome 5 in your theme. The SiteWriter editor allows the user to pick icons from the FontAwesome Free icon set to enhance their content.
+Do include FontAwesome 5 in your theme. The SiteWriter editor allows the user to pick icons from the FontAwesome Free icon set to enhance their content. Use `get_fontawesome_js()` or `get_fontawesome_css()` instead of including FontAwesome in your theme. It saves space and ensures that all themes have the latest version of FontAwesome.
-Do include company info (business name, phone number, address, and email) and social media links (Facebook, Twitter, YouTube, Mastodon, etc) in the theme. These can be setup in the sitewide settings, and users will expect themes to make use of this information.
+Do include company info (business name, phone number, address, and email), social media links (Facebook, Twitter, YouTube, Mastodon, etc), and footer links in the theme. These can be setup in the sitewide settings, and users will expect themes to make use of this information. See the Code Snippets section below for examples of this.
Do include `` and `` snippets in your templates. They are used to inject additional content into the template, such as third-party analytics code.
@@ -110,7 +112,7 @@ Below is a minimal functional `default` template that fulfills the above require
-
+
@@ -132,9 +134,9 @@ Below is a minimal functional `default` template that fulfills the above require
$social = get_socialmedia_urls();
foreach ($social as $s) {
?>
-
+
-
+
@@ -153,7 +157,7 @@ Below is a minimal functional `default` template that fulfills the above require
```
-### HTML Component
+#### HTML
```html
@@ -161,26 +165,31 @@ Below is a minimal functional `default` template that fulfills the above require
```
-### Complex Component
+#### Complex
```html
-
-
-
-
-
+if (!is_complex_empty("complex-component-name")) {
+ $comp = get_complex_component("complex-component-name", null, ['icon', 'image', 'link', 'text']);
+ $icon = $comp['icon'];
+ $image = $comp['image'];
+ $link = $comp['link'];
+ $text = $comp['text'];
+?>
+
+
+
+
+
+
```
-### Social Media URLs
+### Useful Samples
+
+#### List of social media links
```html
-
-
-
+
+
+
```
+#### Contact Information
+```html
+Address: [[TITLE]]'
+);
+format_special(
+ get_setting("email"),
+ SPECIAL_TYPE_EMAIL,
+ 'Email: [[TITLE]]
'
+);
+format_special(
+ get_setting("phone"),
+ SPECIAL_TYPE_PHONE,
+ 'Phone: [[TITLE]]
'
+);
+?>
+```
+
+#### Footer Links
+```html
+
+```
+
## Theme Functions
### `function get_site_name($echo = true)`
@@ -357,26 +404,24 @@ Get the URL base for the selected theme color asset folder, without trailing sla
### `function get_navigation($currentpage = null, $classPrefix = "", $liclass = "", $currentclass = "current", $linkclass = "", $currentlinkclass = "active")`
-Get the page navigation as a string containing a series of ` ` elements.
+Get the page navigation as a string containing a series of elements.
-Format:
+**Format:**
Current page:
-```html
--
-
- Link Text
-
-
-```
-Other pages:
-```html
--
-
- Link Text
-
-
-```
+ -
+
+ Link Text
+
+
+
+Other pages:
+
+ -
+
+ Link Text
+
+
* **Parameters:**
* `$currentpage` — `string` — The page slug to use for context, or null for current.
@@ -408,8 +453,27 @@ Echos or returns a URL for the FontAwesome 5 CSS WebFont.
* **Parameters:** `$echo` — `boolean` — default true
* **Returns:** `string` —
+### `function get_footer_urls()`
+
+Return an array [[title, link], [title, link]] of links for the page footer
+
### `function get_socialmedia_urls()`
Returns an array of social media URLs, with FontAwesome icon classes and labels.
* **Returns:** `array` — [["icon", "name", "url"]]
+
+### `function format_special($text, $type = SPECIAL_TYPE_NONE, $template = "", $title = null, $echo = true, $conditional = true)`
+
+Take $text, format it according to $type, replace [[CONTENT]] in $template with it, and replace [[TITLE]] with $title (or the unchanged $text if $title is null)
+
+$type may be one of the following: - `SPECIAL_TYPE_PHONE`: `tel:1234567890`
- `SPECIAL_TYPE_EMAIL`: `mailto:address@example.com`
- `SPECIAL_TYPE_LINEBREAKS`: Replaces `\n` with `
\n` - `SPECIAL_TYPE_ADDRESS`: Creates a link to open Google Maps, and runs LINEBREAKS on $title
- `SPECIAL_TYPE_NONE`: Does no text manipulation.
+
+ * **Parameters:**
+ * `$text` — `string` —
+ * `$type` — `int` —
+ * `$template` — `string` —
+ * `$title` — `string` —
+ * `$echo` — `boolean` — default true
+ * `$conditional` — `boolean` — Act as output_conditional() and not return anything if $text is empty
+ * **Returns:** `string` —
\ No newline at end of file