From 53ed6d7d1e678d7486337ce67a2f17b30bac21ac Mon Sep 17 00:00:00 2001 From: nodiscc Date: Thu, 26 Jan 2017 18:52:54 +0100 Subject: Generate HTML documentation using MkDocs (WIP) MkDocs is a static site generator geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML file. * http://www.mkdocs.org/ * http://www.mkdocs.org/user-guide/configuration/ Ref. #312 * remove pandoc-generated HTML documentation * move markdown doc to doc/md/, * mkdocs.yml: * generate HTML doc in doc/html * add pages TOC/ordering * use index.md as index page * Makefile: remove execute permissions from generated files * Makefile: rewrite htmlpages GFM to markdown conversion using sed: awk expression aslo matched '][' which causes invalid output on complex links with images or code blocks * Add mkdocs.yml to .gitattributes, exclude this file from release archives * Makefile: rename: htmldoc -> doc_html target * run make doc: pull latest markdown documentation from wiki * run make htmlpages: update html documentation --- doc/Example-patch---add-new-via-field-for-links.md | 190 --------------------- 1 file changed, 190 deletions(-) delete mode 100644 doc/Example-patch---add-new-via-field-for-links.md (limited to 'doc/Example-patch---add-new-via-field-for-links.md') diff --git a/doc/Example-patch---add-new-via-field-for-links.md b/doc/Example-patch---add-new-via-field-for-links.md deleted file mode 100644 index 883adf40..00000000 --- a/doc/Example-patch---add-new-via-field-for-links.md +++ /dev/null @@ -1,190 +0,0 @@ -#Example patch add new via field for links -Example patch to add a new field ("via") for links, an input field to set the "via" property from the "edit link" dialog, and display the "via" field in the link list display. **Untested, use at your own risk** - -Thanks to @Knah-Tsaeb in https://github.com/sebsauvage/Shaarli/pull/158 - -``` -From e0f363c18e8fe67990ed2bb1a08652e24e70bbcb Mon Sep 17 00:00:00 2001 -From: Knah Tsaeb -Date: Fri, 11 Oct 2013 15:18:37 +0200 -Subject: [PATCH] Add a "via"/origin property for links, add new input in "edit link" dialog[](.html) -Thanks to: -* https://github.com/Knah-Tsaeb/Shaarli/commit/040eb18ec8cdabd5ea855e108f81f97fbf0478c4 -* https://github.com/Knah-Tsaeb/Shaarli/commit/4123658eae44d7564d1128ce52ddd5689efee813 -* https://github.com/Knah-Tsaeb/Shaarli/commit/f1a8ca9cc8fe49b119d51b2d8382cc1a34542f96 - ---- - index.php | 43 ++++++++++++++++++++++++++++++++----------- - tpl/editlink.html | 1 + - tpl/linklist.html | 1 + - 3 files changed, 34 insertions(+), 11 deletions(-) - -diff --git a/index.php b/index.php -index 6fae2f8..53f798e 100644 ---- a/index.php -+++ b/index.php -@@ -436,6 +436,12 @@ if (isset($_POST['login']))[](.html) - // ------------------------------------------------------------------------------------------ - // Misc utility functions: - -+// Try to get just domain for @via -+function getJustDomain($url){ -+ $parts = parse_url($url); -+ return trim($parts['host']);[](.html) -+ } -+ - // Returns the server URL (including port and http/https), without path. - // e.g. "http://myserver.com:8080" - // You can append $_SERVER['SCRIPT_NAME'] to get the current script URL.[](.html) -@@ -799,7 +805,8 @@ class linkdb implements Iterator, Countable, ArrayAccess - $found= (strpos(strtolower($l['title']),$s)!==false)[](.html) - || (strpos(strtolower($l['description']),$s)!==false)[](.html) - || (strpos(strtolower($l['url']),$s)!==false)[](.html) -- || (strpos(strtolower($l['tags']),$s)!==false);[](.html) -+ || (strpos(strtolower($l['tags']),$s)!==false)[](.html) -+ || (!empty($l['via']) && (strpos(strtolower($l['via']),$s)!==false));[](.html) - if ($found) $filtered[$l['linkdate'[ = $l;](-=-$l;.html) - } - krsort($filtered); -@@ -814,7 +821,7 @@ class linkdb implements Iterator, Countable, ArrayAccess - $t = str_replace(',',' ',($casesensitive?$tags:strtolower($tags))); - $searchtags=explode(' ',$t); - $filtered=array(); -- foreach($this->links as $l) -+ foreach($this-> links as $l) - { - $linktags = explode(' ',($casesensitive?$l['tags']:strtolower($l['tags'])));[](.html) - if (count(array_intersect($linktags,$searchtags)) == count($searchtags)) -@@ -905,7 +912,7 @@ function showRSS() - else $linksToDisplay = $LINKSDB; - $nblinksToDisplay = 50; // Number of links to display. - if (!empty($_GET['nb'])) // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.[](.html) -- { -+ { - $nblinksToDisplay = $_GET['nb']=='all' ? count($linksToDisplay) : max($_GET['nb']+0,1) ;[](.html) - } - -@@ -944,7 +951,12 @@ function showRSS() - // If user wants permalinks first, put the final link in description - if ($usepermalinks===true) $descriptionlink = '(Link)'; - if (strlen($link['description'])>0) $descriptionlink = '
'.$descriptionlink;[](.html) -- echo ''."\n\n";](>'."\n\n";.html) -+ if(!empty($link['via'])){[](.html) -+ $via = '
Origine => '.htmlspecialchars(getJustDomain($link['via'])).'';[](.html) -+ } else { -+ $via = ''; -+ } -+ echo ''."\n\n";](>'."\n\n";.html) - $i++; - } - echo ''; -@@ -980,7 +992,7 @@ function showATOM() - else $linksToDisplay = $LINKSDB; - $nblinksToDisplay = 50; // Number of links to display. - if (!empty($_GET['nb'])) // In URL, you can specificy the number of links. Example: nb=200 or nb=all for all links.[](.html) -- { -+ { - $nblinksToDisplay = $_GET['nb']=='all' ? count($linksToDisplay) : max($_GET['nb']+0,1) ;[](.html) - } - -@@ -1006,11 +1018,16 @@ function showATOM() - - // Add permalink in description - $descriptionlink = htmlspecialchars('(Permalink)'); -+ if(isset($link['via']) && !empty($link['via'])){[](.html) -+ $via = htmlspecialchars('
Origine => '.getJustDomain($link['via']).'');[](.html) -+ } else { -+ $via = ''; -+ } - // If user wants permalinks first, put the final link in description - if ($usepermalinks===true) $descriptionlink = htmlspecialchars('(Link)'); - if (strlen($link['description'])>0) $descriptionlink = '<br>'.$descriptionlink;[](.html) - -- $entries.=''.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link['description']))))).$descriptionlink."\n";[](.html) -+ $entries.=''.htmlspecialchars(nl2br(keepMultipleSpaces(text2clickable(htmlspecialchars($link['description']))))).$descriptionlink.$via."\n";[](.html) - if ($link['tags']!='') // Adding tags to each ATOM entry (as mentioned in ATOM specification)[](.html) - { - foreach(explode(' ',$link['tags']) as $tag)[](.html) -@@ -1478,7 +1495,7 @@ function renderPage() - if (!startsWith($url,'http:') && !startsWith($url,'https:') && !startsWith($url,'ftp:') && !startsWith($url,'magnet:') && !startsWith($url,'?')) - $url = 'http://'.$url; - $link = array('title'=>trim($_POST['lf_title']),'url'=>$url,'description'=>trim($_POST['lf_description']),'private'=>(isset($_POST['lf_private']) ? 1 : 0),[](.html) -- 'linkdate'=>$linkdate,'tags'=>str_replace(',',' ',$tags)); -+ 'linkdate'=>$linkdate,'tags'=>str_replace(',',' ',$tags), 'via'=>trim($_POST['lf_via']));[](.html) - if ($link['title']=='') $link['title']=$link['url']; // If title is empty, use the URL as title.[](.html) - $LINKSDB[$linkdate] = $link;[](.html) - $LINKSDB->savedb(); // Save to disk. -@@ -1556,7 +1573,8 @@ function renderPage() - $title = (empty($_GET['title']) ? '' : $_GET['title'] ); // Get title if it was provided in URL (by the bookmarklet).[](.html) - $description = (empty($_GET['description']) ? '' : $_GET['description']); // Get description if it was provided in URL (by the bookmarklet). [Bronco added that][](.html) - $tags = (empty($_GET['tags']) ? '' : $_GET['tags'] ); // Get tags if it was provided in URL[](.html) -- $private = (!empty($_GET['private']) && $_GET['private'] === "1" ? 1 : 0); // Get private if it was provided in URL [](.html) -+ $via = (empty($_GET['via']) ? '' : $_GET['via'] );[](.html) -+ $private = (!empty($_GET['private']) && $_GET['private'] === "1" ? 1 : 0); // Get private if it was provided in URL[](.html) - if (($url!='') && parse_url($url,PHP_URL_SCHEME)=='') $url = 'http://'.$url; - // If this is an HTTP link, we try go get the page to extract the title (otherwise we will to straight to the edit form.) - if (empty($title) && parse_url($url,PHP_URL_SCHEME)=='http') -@@ -1567,7 +1585,7 @@ function renderPage() - { - // Look for charset in html header. - preg_match('##Usi', $data, $meta); -- -+ - // If found, extract encoding. - if (!empty($meta[0]))[](.html) - { -@@ -1577,7 +1595,7 @@ function renderPage() - $html_charset = (!empty($enc[1])) ? strtolower($enc[1]) : 'utf-8';[](.html) - } - else { $html_charset = 'utf-8'; } -- -+ - // Extract title - $title = html_extract_title($data); - if (!empty($title)) -@@ -1592,7 +1610,7 @@ function renderPage() - $url='?'.smallHash($linkdate); - $title='Note: '; - } -- $link = array('linkdate'=>$linkdate,'title'=>$title,'url'=>$url,'description'=>$description,'tags'=>$tags,'private'=>$private); -+ $link = array('linkdate'=>$linkdate,'title'=>$title,'url'=>$url,'description'=>$description,'tags'=>$tags,'via' => $via,'private'=>$private); - } - - $PAGE = new pageBuilder; -@@ -1842,6 +1860,9 @@ function buildLinkList($PAGE,$LINKSDB) - $taglist = explode(' ',$link['tags']);[](.html) - uasort($taglist, 'strcasecmp'); - $link['taglist']=$taglist;[](.html) -+ if(!empty($link['via'])){[](.html) -+ $link['via']=htmlspecialchars($link['via']);[](.html) -+ } - $linkDisp[$keys[$i[ = $link;](-=-$link;.html) - $i++; - } -diff --git a/tpl/editlink.html b/tpl/editlink.html -index 4a2c30c..14d4f9c 100644 ---- a/tpl/editlink.html -+++ b/tpl/editlink.html -@@ -16,6 +16,7 @@ - Title

- Description

- Tags

-+ Origine

- {if condition="($link_is_new && $GLOBALS['privateLinkByDefault']==true) || $link.private == true"}[](.html) - -  
-diff --git a/tpl/linklist.html b/tpl/linklist.html -index ddc38cb..0a8475f 100644 ---- a/tpl/linklist.html -+++ b/tpl/linklist.html -@@ -43,6 +43,7 @@ - {$value.title|htmlspecialchars} -
- {if="$value.description"}
{$value.description}
{/if} -+ {if condition="isset($value.via) && !empty($value.via)"}
Origine => {$value.via|getJustDomain}
{/if} - {if="!$GLOBALS['config'['HIDE_TIMESTAMPS'] || isLoggedIn()"}]('HIDE_TIMESTAMPS']-||-isLoggedIn()"}.html) - {$value.localdate|htmlspecialchars} - permalink - - {else} --- -2.1.1 -``` -- cgit v1.2.3