make htmlpages

This commit is contained in:
nodiscc 2017-06-18 06:32:30 +02:00
parent 460ce50115
commit 0433c688b9
50 changed files with 92 additions and 1854 deletions

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -179,19 +179,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>
@ -367,7 +355,7 @@ <h2 id="import-shaarli-links-to-firefox">Import Shaarli links to Firefox</h2>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/" class="btn btn-neutral float-right" title="Copy an existing installation over SSH and serve it locally">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../Various-hacks/" class="btn btn-neutral float-right" title="Various hacks">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../REST-API/" class="btn btn-neutral" title="REST API"><span class="icon icon-circle-arrow-left"></span> Previous</a> <a href="../REST-API/" class="btn btn-neutral" title="REST API"><span class="icon icon-circle-arrow-left"></span> Previous</a>
@ -401,7 +389,7 @@ <h2 id="import-shaarli-links-to-firefox">Import Shaarli links to Firefox</h2>
<span><a href="../REST-API/" style="color: #fcfcfc;">&laquo; Previous</a></span> <span><a href="../REST-API/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/" style="color: #fcfcfc">Next &raquo;</a></span> <span style="margin-left: 15px"><a href="../Various-hacks/" style="color: #fcfcfc">Next &raquo;</a></span>
</span> </span>
</div> </div>

View file

@ -164,19 +164,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -164,19 +164,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -1,403 +0,0 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Copy an existing installation over SSH and serve it locally - Shaarli Documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
<link rel="stylesheet" href="../css/highlight.css">
<link href="../github-markdown.css" rel="stylesheet">
<script>
// Current page data
var mkdocs_page_name = "Copy an existing installation over SSH and serve it locally";
var mkdocs_page_input_path = "Copy-an-existing-installation-over-SSH-and-serve-it-locally.md";
var mkdocs_page_url = "/Copy-an-existing-installation-over-SSH-and-serve-it-locally/";
</script>
<script src="../js/jquery-2.1.1.min.js"></script>
<script src="../js/modernizr-2.8.3.min.js"></script>
<script type="text/javascript" src="../js/highlight.pack.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> Shaarli Documentation</a>
<div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1">
<a class="" href="..">Home</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Setup</span>
<ul class="subnav">
<li class="">
<a class="" href="../Download-and-Installation/">Download and Installation</a>
</li>
<li class="">
<a class="" href="../Upgrade-and-migration/">Upgrade and migration</a>
</li>
<li class="">
<a class="" href="../Server-requirements/">Server requirements</a>
</li>
<li class="">
<a class="" href="../Server-configuration/">Server configuration</a>
</li>
<li class="">
<a class="" href="../Server-security/">Server security</a>
</li>
<li class="">
<a class="" href="../Shaarli-configuration/">Shaarli configuration</a>
</li>
<li class="">
<a class="" href="../Plugins/">Plugins</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Docker</span>
<ul class="subnav">
<li class="">
<a class="" href="../Docker-101/">Docker 101</a>
</li>
<li class="">
<a class="" href="../Shaarli-images/">Shaarli images</a>
</li>
<li class="">
<a class="" href="../Reverse-proxy-configuration/">Reverse proxy configuration</a>
</li>
<li class="">
<a class="" href="../Docker-resources/">Docker resources</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Usage</span>
<ul class="subnav">
<li class="">
<a class="" href="../Features/">Features</a>
</li>
<li class="">
<a class="" href="../Bookmarklet/">Bookmarklet</a>
</li>
<li class="">
<a class="" href="../Browsing-and-searching/">Browsing and searching</a>
</li>
<li class="">
<a class="" href="../Firefox-share/">Firefox share</a>
</li>
<li class="">
<a class="" href="../RSS-feeds/">RSS feeds</a>
</li>
<li class="">
<a class="" href="../REST-API/">REST API</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">How To</span>
<ul class="subnav">
<li class="">
<a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a>
</li>
<li class=" current">
<a class="current" href="./">Copy an existing installation over SSH and serve it locally</a>
<ul class="subnav">
</ul>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="" href="../Troubleshooting/">Troubleshooting</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Development</span>
<ul class="subnav">
<li class="">
<a class="" href="../Development-guidelines/">Development guidelines</a>
</li>
<li class="">
<a class="" href="../Continuous-integration-tools/">Continuous integration tools</a>
</li>
<li class="">
<a class="" href="../GnuPG-signature/">GnuPG signature</a>
</li>
<li class="">
<a class="" href="../Coding-guidelines/">Coding guidelines</a>
</li>
<li class="">
<a class="" href="../Directory-structure/">Directory structure</a>
</li>
<li class="">
<a class="" href="../3rd-party-libraries/">3rd party libraries</a>
</li>
<li class="">
<a class="" href="../Plugin-System/">Plugin System</a>
</li>
<li class="">
<a class="" href="../Release-Shaarli/">Release Shaarli</a>
</li>
<li class="">
<a class="" href="../Versioning-and-Branches/">Versioning and Branches</a>
</li>
<li class="">
<a class="" href="../Security/">Security</a>
</li>
<li class="">
<a class="" href="../Static-analysis/">Static analysis</a>
</li>
<li class="">
<a class="" href="../Theming/">Theming</a>
</li>
<li class="">
<a class="" href="../Unit-tests/">Unit tests</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">About</span>
<ul class="subnav">
<li class="">
<a class="" href="../FAQ/">FAQ</a>
</li>
<li class="">
<a class="" href="../Community-&-Related-software/">Community & Related software</a>
</li>
</ul>
</li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">Shaarli Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>How To &raquo;</li>
<li>Copy an existing installation over SSH and serve it locally</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/shaarli/Shaarli/edit/master/docs/Copy-an-existing-installation-over-SSH-and-serve-it-locally.md"
class="icon icon-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<p>Example bash script:</p>
<pre><code class="bash">#!/bin/bash
#Description: Copy a Shaarli installation over SSH/SCP, serve it locally with php-cli
#Will create a local-shaarli/ directory when you run it, backup your Shaarli there, and serve it locally.
#Will NOT download linked pages. It's just a directly usable backup/copy/mirror of your Shaarli
#Requires: ssh, scp and a working SSH access to the server where your Shaarli is installed
#Usage: ./local-shaarli.sh
#Author: nodiscc (nodiscc@gmail.com)
#License: MIT (http://opensource.org/licenses/MIT)
set -o errexit
set -o nounset
##### CONFIG #################
#The port used by php's local server
php_local_port=7431
#Name of the SSH server and path where Shaarli is installed
#TODO: pass these as command-line arguments
remotehost=&quot;my.ssh.server&quot;
remote_shaarli_dir=&quot;/var/www/shaarli&quot;
###### FUNCTIONS #############
_main() {
_CBSyncShaarli
_CBServeShaarli
}
_CBSyncShaarli() {
remote_temp_dir=$(ssh $remotehost mktemp -d)
remote_ssh_user=$(ssh $remotehost whoami)
ssh -t &quot;$remotehost&quot; sudo cp -r &quot;$remote_shaarli_dir&quot; &quot;$remote_temp_dir&quot;
ssh -t &quot;$remotehost&quot; sudo chown -R &quot;$remote_ssh_user&quot;:&quot;$remote_ssh_user&quot; &quot;$remote_temp_dir&quot;
scp -rq &quot;$remotehost&quot;:&quot;$remote_temp_dir&quot; local-shaarli
ssh &quot;$remotehost&quot; rm -r &quot;$remote_temp_dir&quot;
}
_CBServeShaarli() {
#TODO: allow serving a previously downloaded Shaarli
#TODO: ask before overwriting local copy, if it exists
cd local-shaarli/
php -S localhost:${php_local_port}
echo &quot;Please go to http://localhost:${php_local_port}&quot;
}
##### MAIN #################
_main
</code></pre>
<p>This outputs:</p>
<pre><code class="bash">$ ./local-shaarli.sh
PHP 5.6.0RC4 Development Server started at Mon Sep 1 21:56:19 2014
Listening on http://localhost:7431
Document root is /home/user/local-shaarli/shaarli
Press Ctrl-C to quit.
[Mon Sep 1 21:56:27 2014] ::1:57868 [200]: /
[Mon Sep 1 21:56:27 2014] ::1:57869 [200]: /index.html
[Mon Sep 1 21:56:37 2014] ::1:57881 [200]: /...
</code></pre>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Create-and-serve-multiple-Shaarlis-(farm)/" class="btn btn-neutral float-right" title="Create and serve multiple Shaarlis (farm)">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../Backup,-restore,-import-and-export/" class="btn btn-neutral" title="Backup, restore, import and export"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" style="cursor: pointer">
<span class="rst-current-version" data-toggle="rst-current-version">
<a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../Backup,-restore,-import-and-export/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Create-and-serve-multiple-Shaarlis-(farm)/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>
<script src="../js/theme.js"></script>
</body>
</html>

View file

@ -1,396 +0,0 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Create and serve multiple Shaarlis (farm) - Shaarli Documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
<link rel="stylesheet" href="../css/highlight.css">
<link href="../github-markdown.css" rel="stylesheet">
<script>
// Current page data
var mkdocs_page_name = "Create and serve multiple Shaarlis (farm)";
var mkdocs_page_input_path = "Create-and-serve-multiple-Shaarlis-(farm).md";
var mkdocs_page_url = "/Create-and-serve-multiple-Shaarlis-(farm)/";
</script>
<script src="../js/jquery-2.1.1.min.js"></script>
<script src="../js/modernizr-2.8.3.min.js"></script>
<script type="text/javascript" src="../js/highlight.pack.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> Shaarli Documentation</a>
<div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1">
<a class="" href="..">Home</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Setup</span>
<ul class="subnav">
<li class="">
<a class="" href="../Download-and-Installation/">Download and Installation</a>
</li>
<li class="">
<a class="" href="../Upgrade-and-migration/">Upgrade and migration</a>
</li>
<li class="">
<a class="" href="../Server-requirements/">Server requirements</a>
</li>
<li class="">
<a class="" href="../Server-configuration/">Server configuration</a>
</li>
<li class="">
<a class="" href="../Server-security/">Server security</a>
</li>
<li class="">
<a class="" href="../Shaarli-configuration/">Shaarli configuration</a>
</li>
<li class="">
<a class="" href="../Plugins/">Plugins</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Docker</span>
<ul class="subnav">
<li class="">
<a class="" href="../Docker-101/">Docker 101</a>
</li>
<li class="">
<a class="" href="../Shaarli-images/">Shaarli images</a>
</li>
<li class="">
<a class="" href="../Reverse-proxy-configuration/">Reverse proxy configuration</a>
</li>
<li class="">
<a class="" href="../Docker-resources/">Docker resources</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Usage</span>
<ul class="subnav">
<li class="">
<a class="" href="../Features/">Features</a>
</li>
<li class="">
<a class="" href="../Bookmarklet/">Bookmarklet</a>
</li>
<li class="">
<a class="" href="../Browsing-and-searching/">Browsing and searching</a>
</li>
<li class="">
<a class="" href="../Firefox-share/">Firefox share</a>
</li>
<li class="">
<a class="" href="../RSS-feeds/">RSS feeds</a>
</li>
<li class="">
<a class="" href="../REST-API/">REST API</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">How To</span>
<ul class="subnav">
<li class="">
<a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a>
</li>
<li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a>
</li>
<li class=" current">
<a class="current" href="./">Create and serve multiple Shaarlis (farm)</a>
<ul class="subnav">
</ul>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="" href="../Troubleshooting/">Troubleshooting</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Development</span>
<ul class="subnav">
<li class="">
<a class="" href="../Development-guidelines/">Development guidelines</a>
</li>
<li class="">
<a class="" href="../Continuous-integration-tools/">Continuous integration tools</a>
</li>
<li class="">
<a class="" href="../GnuPG-signature/">GnuPG signature</a>
</li>
<li class="">
<a class="" href="../Coding-guidelines/">Coding guidelines</a>
</li>
<li class="">
<a class="" href="../Directory-structure/">Directory structure</a>
</li>
<li class="">
<a class="" href="../3rd-party-libraries/">3rd party libraries</a>
</li>
<li class="">
<a class="" href="../Plugin-System/">Plugin System</a>
</li>
<li class="">
<a class="" href="../Release-Shaarli/">Release Shaarli</a>
</li>
<li class="">
<a class="" href="../Versioning-and-Branches/">Versioning and Branches</a>
</li>
<li class="">
<a class="" href="../Security/">Security</a>
</li>
<li class="">
<a class="" href="../Static-analysis/">Static analysis</a>
</li>
<li class="">
<a class="" href="../Theming/">Theming</a>
</li>
<li class="">
<a class="" href="../Unit-tests/">Unit tests</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">About</span>
<ul class="subnav">
<li class="">
<a class="" href="../FAQ/">FAQ</a>
</li>
<li class="">
<a class="" href="../Community-&-Related-software/">Community & Related software</a>
</li>
</ul>
</li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">Shaarli Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>How To &raquo;</li>
<li>Create and serve multiple Shaarlis (farm)</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/shaarli/Shaarli/edit/master/docs/Create-and-serve-multiple-Shaarlis-(farm).md"
class="icon icon-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<p>Example bash script (creates multiple shaarli instances and generates an HTML index of them)</p>
<pre><code class="bash">#!/bin/bash
set -o errexit
set -o nounset
#config
shaarli_base_dir='/var/www/shaarli'
accounts='bob john whatever username'
shaarli_repo_url='https://github.com/shaarli/Shaarli'
ref=&quot;master&quot;
#clone multiple shaarli instances
if [ ! -d &quot;$shaarli_base_dir&quot; ]; then mkdir &quot;$shaarli_base_dir&quot;; fi
for account in $accounts; do
if [ -d &quot;$shaarli_base_dir/$account&quot; ];
then echo &quot;[info] account $account already exists, skipping&quot;;
else echo &quot;[info] creating new account $account ...&quot;; git clone --quiet &quot;$shaarli_repo_url&quot; -b &quot;$ref&quot; &quot;$shaarli_base_dir/$account&quot;; fi
done
#generate html index of shaarlis
htmlhead='&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;!-- Minimal html template thanks to http://www.sitepoint.com/a-minimal-html-document/ --&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;
&lt;title&gt;My Shaarli farm&lt;/title&gt;
&lt;style&gt;body {font-family: &quot;Open Sans&quot;}&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div&gt;
&lt;h1&gt;My Shaarli farm&lt;/h1&gt;
&lt;ul style=&quot;list-style-type: none;&quot;&gt;'
accountlinks=''
htmlfooter='
&lt;/ul&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;'
for account in $accounts; do accountlinks=&quot;$accountlinks\n&lt;li&gt;&lt;a href=\&quot;$account\&quot;&gt;$account&lt;/a&gt;&lt;/li&gt;&quot;; done
if [ -d &quot;$shaarli_base_dir/index.html&quot; ]; then echo &quot;[removing old index.html]&quot;; rm &quot;$shaarli_base_dir/index.html&quot; ]; fi
echo &quot;[info] generating new index of shaarlis&quot;
echo -e &quot;$htmlhead $accountlinks $htmlfooter&quot; &gt; &quot;$shaarli_base_dir/index.html&quot;
echo '[info] done.'
echo &quot;[info] list of accounts: $accounts&quot;
echo &quot;[info] contents of $shaarli_base_dir:&quot;
tree -a -L 1 &quot;$shaarli_base_dir&quot;
</code></pre>
<p>This script just serves as an example. More precise or complex (applying custom configuration, etc) automation is possible using configuration management software like <a href="https://www.ansible.com/">Ansible</a></p>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Download-CSS-styles-from-an-OPML-list/" class="btn btn-neutral float-right" title="Download CSS styles from an OPML list">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/" class="btn btn-neutral" title="Copy an existing installation over SSH and serve it locally"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" style="cursor: pointer">
<span class="rst-current-version" data-toggle="rst-current-version">
<a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Download-CSS-styles-from-an-OPML-list/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>
<script src="../js/theme.js"></script>
</body>
</html>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -168,19 +168,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -164,19 +164,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -1,496 +0,0 @@
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<title>Download CSS styles from an OPML list - Shaarli Documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../css/theme.css" type="text/css" />
<link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
<link rel="stylesheet" href="../css/highlight.css">
<link href="../github-markdown.css" rel="stylesheet">
<script>
// Current page data
var mkdocs_page_name = "Download CSS styles from an OPML list";
var mkdocs_page_input_path = "Download-CSS-styles-from-an-OPML-list.md";
var mkdocs_page_url = "/Download-CSS-styles-from-an-OPML-list/";
</script>
<script src="../js/jquery-2.1.1.min.js"></script>
<script src="../js/modernizr-2.8.3.min.js"></script>
<script type="text/javascript" src="../js/highlight.pack.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
<div class="wy-side-nav-search">
<a href=".." class="icon icon-home"> Shaarli Documentation</a>
<div role="search">
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
<li class="toctree-l1">
<a class="" href="..">Home</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Setup</span>
<ul class="subnav">
<li class="">
<a class="" href="../Download-and-Installation/">Download and Installation</a>
</li>
<li class="">
<a class="" href="../Upgrade-and-migration/">Upgrade and migration</a>
</li>
<li class="">
<a class="" href="../Server-requirements/">Server requirements</a>
</li>
<li class="">
<a class="" href="../Server-configuration/">Server configuration</a>
</li>
<li class="">
<a class="" href="../Server-security/">Server security</a>
</li>
<li class="">
<a class="" href="../Shaarli-configuration/">Shaarli configuration</a>
</li>
<li class="">
<a class="" href="../Plugins/">Plugins</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Docker</span>
<ul class="subnav">
<li class="">
<a class="" href="../Docker-101/">Docker 101</a>
</li>
<li class="">
<a class="" href="../Shaarli-images/">Shaarli images</a>
</li>
<li class="">
<a class="" href="../Reverse-proxy-configuration/">Reverse proxy configuration</a>
</li>
<li class="">
<a class="" href="../Docker-resources/">Docker resources</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">Usage</span>
<ul class="subnav">
<li class="">
<a class="" href="../Features/">Features</a>
</li>
<li class="">
<a class="" href="../Bookmarklet/">Bookmarklet</a>
</li>
<li class="">
<a class="" href="../Browsing-and-searching/">Browsing and searching</a>
</li>
<li class="">
<a class="" href="../Firefox-share/">Firefox share</a>
</li>
<li class="">
<a class="" href="../RSS-feeds/">RSS feeds</a>
</li>
<li class="">
<a class="" href="../REST-API/">REST API</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">How To</span>
<ul class="subnav">
<li class="">
<a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a>
</li>
<li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class=" current">
<a class="current" href="./">Download CSS styles from an OPML list</a>
<ul class="subnav">
<li class="toctree-l3"><a href="#download-css-styles-for-shaarlis-listed-in-an-opml-file">Download CSS styles for shaarlis listed in an opml file</a></li>
</ul>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="" href="../Troubleshooting/">Troubleshooting</a>
</li>
<li class="toctree-l1">
<span class="caption-text">Development</span>
<ul class="subnav">
<li class="">
<a class="" href="../Development-guidelines/">Development guidelines</a>
</li>
<li class="">
<a class="" href="../Continuous-integration-tools/">Continuous integration tools</a>
</li>
<li class="">
<a class="" href="../GnuPG-signature/">GnuPG signature</a>
</li>
<li class="">
<a class="" href="../Coding-guidelines/">Coding guidelines</a>
</li>
<li class="">
<a class="" href="../Directory-structure/">Directory structure</a>
</li>
<li class="">
<a class="" href="../3rd-party-libraries/">3rd party libraries</a>
</li>
<li class="">
<a class="" href="../Plugin-System/">Plugin System</a>
</li>
<li class="">
<a class="" href="../Release-Shaarli/">Release Shaarli</a>
</li>
<li class="">
<a class="" href="../Versioning-and-Branches/">Versioning and Branches</a>
</li>
<li class="">
<a class="" href="../Security/">Security</a>
</li>
<li class="">
<a class="" href="../Static-analysis/">Static analysis</a>
</li>
<li class="">
<a class="" href="../Theming/">Theming</a>
</li>
<li class="">
<a class="" href="../Unit-tests/">Unit tests</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<span class="caption-text">About</span>
<ul class="subnav">
<li class="">
<a class="" href="../FAQ/">FAQ</a>
</li>
<li class="">
<a class="" href="../Community-&-Related-software/">Community & Related software</a>
</li>
</ul>
</li>
</ul>
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="..">Shaarli Documentation</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="..">Docs</a> &raquo;</li>
<li>How To &raquo;</li>
<li>Download CSS styles from an OPML list</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/shaarli/Shaarli/edit/master/docs/Download-CSS-styles-from-an-OPML-list.md"
class="icon icon-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main">
<div class="section">
<h3 id="download-css-styles-for-shaarlis-listed-in-an-opml-file">Download CSS styles for shaarlis listed in an opml file</h3>
<p>Example php script:</p>
<pre><code class="php">&lt;!---- ?php --&gt;
&lt;!---- Copyright (c) 2014 Nicolas Delsaux (https://github.com/Riduidel) --&gt;
&lt;!---- License: zlib (http://www.gzip.org/zlib/zlib_license.html) --&gt;
/**
* Source: https://github.com/Riduidel
* Download css styles for shaarlis listed in an opml file
*/
define(&quot;SHAARLI_RSS_OPML&quot;, &quot;https://www.ecirtam.net/shaarlirss/custom/people.opml&quot;);
define(&quot;THEMES_TEMP_FOLDER&quot;, &quot;new_themes&quot;);
if(!file_exists(THEMES_TEMP_FOLDER)) {
mkdir(THEMES_TEMP_FOLDER);
}
function siteUrl($pathInSite) {
$indexPos = strpos($pathInSite, &quot;index.php&quot;);
if(!$indexPos) {
return $pathInSite;
} else {
return substr($pathInSite, 0, $indexPos);
}
}
function createShaarliHashFromOPMLL($opmlFile) {
$result = array();
$opml = file_get_contents($opmlFile);
$opmlXml = simplexml_load_string($opml);
$outlineElements = $opmlXml-&gt;xpath(&quot;body/outline&quot;);
foreach($outlineElements as $site) {
$siteUrl = siteUrl((string) $site['htmlUrl']);
$result[$siteUrl]=((string) $site['text']);
}
return $result;
}
function getSiteFolder($url) {
$domain = parse_url($url, PHP_URL_HOST);
return THEMES_TEMP_FOLDER.&quot;/&quot;.str_replace(&quot;.&quot;, &quot;_&quot;, $domain);
}
function get_http_response_code($theURL) {
$headers = get_headers($theURL);
return substr($headers[0], 9, 3);
}
/**
* This makes the code PHP-5 only (particularly the call to &quot;get_headers&quot;)
*/
function copyUserStyleFrom($url, $name, $knownStyles) {
$userStyle = $url.&quot;inc/user.css&quot;;
if(in_array($url, $knownStyles)) {
// TODO add log message
} else {
$statusCode = get_http_response_code($userStyle);
if(intval($statusCode)&lt;300) {
$styleSheet = file_get_contents($userStyle);
$siteFolder = getSiteFolder($url);
if(!file_exists($siteFolder)) {
mkdir($siteFolder);
}
if(!file_exists($siteFolder.'/user.css')) {
// Copy stylesheet
file_put_contents($siteFolder.'/user.css', $styleSheet);
}
if(!file_exists($siteFolder.'/README.md')) {
// Then write a readme.md file
file_put_contents($siteFolder.'/README.md',
&quot;User style from &quot;.$name.&quot;\n&quot;
.&quot;=============================&quot;
.&quot;\n\n&quot;
.&quot;This stylesheet was downloaded from &quot;.$userStyle.&quot; on &quot;.date(DATE_RFC822)
);
}
if(!file_exists($siteFolder.'/config.ini')) {
// Write a config file containing useful informations
file_put_contents($siteFolder.'/config.ini',
&quot;site_url=&quot;.$url.&quot;\n&quot;
.&quot;site_name=&quot;.$name.&quot;\n&quot;
);
}
if(!file_exists($siteFolder.'/home.png')) {
// And finally copy generated thumbnail
$homeThumb = $siteFolder.'/home.png';
file_put_contents($siteFolder.'/home.png', file_get_contents(getThumbnailUrl($url)));
}
echo 'Theme have been downloaded from &lt;a href=&quot;'.$url.'&quot;&gt;'.$url.'&lt;/a&gt; into '.$siteFolder
.'. It looks like &lt;img src=&quot;'.$homeThumb.'&quot;&gt;&lt;br/&gt;';
}
}
}
function getThumbnailUrl($url) {
return 'http://api.webthumbnail.org/?url='.$url;
}
function copyUserStylesFrom($urlToNames, $knownStyles) {
foreach($urlToNames as $url =&gt; $name) {
copyUserStyleFrom($url, $name, $knownStyles);
}
}
/**
* Reading directory list, courtesy of http://www.laughing-buddha.net/php/dirlist/
* @param directory the directory we want to list files of
* @return a simple array containing the list of absolute file paths. Notice that current file (&quot;.&quot;) and parent one(&quot;..&quot;)
* are not listed here
*/
function getDirectoryList ($directory) {
$realPath = realpath($directory);
// create an array to hold directory list
$results = array();
// create a handler for the directory
$handler = opendir($directory);
// open directory and walk through the filenames
while ($file = readdir($handler)) {
// if file isn't this directory or its parent, add it to the results
if ($file != &quot;.&quot; &amp;&amp; $file != &quot;..&quot;) {
$results[] = realpath($realPath . &quot;/&quot; . $file);
}
}
// tidy up: close the handler
closedir($handler);
// done!
return $results;
}
/**
* Start in themes folder and look in all subfolders for config.ini files.
* These config.ini files allow us not to download styles again and again
*/
function findKnownStyles() {
$result = array();
$subFolders = getDirectoryList(&quot;themes&quot;);
foreach($subFolders as $folder) {
$configFile = $folder.&quot;/config.ini&quot;;
if(file_exists($configFile)) {
$iniParameters = parse_ini_file($configFile);
array_push($result, $iniParameters['site_url']);
}
}
return $result;
}
$knownStyles = findKnownStyles();
copyUserStylesFrom(createShaarliHashFromOPMLL(SHAARLI_RSS_OPML), $knownStyles);
&lt;!--- ? ----&gt;
</code></pre>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../Datastore-hacks/" class="btn btn-neutral float-right" title="Datastore hacks">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../Create-and-serve-multiple-Shaarlis-(farm)/" class="btn btn-neutral" title="Create and serve multiple Shaarlis (farm)"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<!-- Copyright etc -->
</div>
Built with <a href="http://www.mkdocs.org">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<div class="rst-versions" role="note" style="cursor: pointer">
<span class="rst-current-version" data-toggle="rst-current-version">
<a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../Create-and-serve-multiple-Shaarlis-(farm)/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Datastore-hacks/" style="color: #fcfcfc">Next &raquo;</a></span>
</span>
</div>
<script src="../js/theme.js"></script>
</body>
</html>

View file

@ -186,19 +186,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -161,19 +161,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -161,19 +161,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -173,19 +173,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -169,19 +169,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -161,19 +161,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -161,19 +161,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -207,19 +207,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -170,19 +170,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -176,19 +176,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -192,19 +192,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -172,19 +172,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>
@ -400,7 +388,7 @@ <h3 id="pubsubhubbub-support">pubsubhubbub support</h3>
<a href="../Development-guidelines/" class="btn btn-neutral float-right" title="Development guidelines">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../Development-guidelines/" class="btn btn-neutral float-right" title="Development guidelines">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../Datastore-hacks/" class="btn btn-neutral" title="Datastore hacks"><span class="icon icon-circle-arrow-left"></span> Previous</a> <a href="../Various-hacks/" class="btn btn-neutral" title="Various hacks"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div> </div>
@ -428,7 +416,7 @@ <h3 id="pubsubhubbub-support">pubsubhubbub support</h3>
<a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> <a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../Datastore-hacks/" style="color: #fcfcfc;">&laquo; Previous</a></span> <span><a href="../Various-hacks/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Development-guidelines/" style="color: #fcfcfc">Next &raquo;</a></span> <span style="margin-left: 15px"><a href="../Development-guidelines/" style="color: #fcfcfc">Next &raquo;</a></span>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -191,19 +191,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -8,7 +8,7 @@
<link rel="shortcut icon" href="../img/favicon.ico"> <link rel="shortcut icon" href="../img/favicon.ico">
<title>Datastore hacks - Shaarli Documentation</title> <title>Various hacks - Shaarli Documentation</title>
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'> <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="../css/theme.css" type="text/css" /> <link rel="stylesheet" href="../css/theme.css" type="text/css" />
@ -18,9 +18,9 @@
<script> <script>
// Current page data // Current page data
var mkdocs_page_name = "Datastore hacks"; var mkdocs_page_name = "Various hacks";
var mkdocs_page_input_path = "Datastore-hacks.md"; var mkdocs_page_input_path = "Various-hacks.md";
var mkdocs_page_url = "/Datastore-hacks/"; var mkdocs_page_url = "/Various-hacks/";
</script> </script>
<script src="../js/jquery-2.1.1.min.js"></script> <script src="../js/jquery-2.1.1.min.js"></script>
@ -149,28 +149,19 @@
<li class=""> <li class="">
<a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a> <a class="" href="../Backup,-restore,-import-and-export/">Backup, restore, import and export</a>
</li>
<li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li> </li>
<li class=" current"> <li class=" current">
<a class="current" href="./">Datastore hacks</a> <a class="current" href="./">Various hacks</a>
<ul class="subnav"> <ul class="subnav">
<li class="toctree-l3"><a href="#decode-datastore-content">Decode datastore content</a></li> <li class="toctree-l3"><a href="#decode-datastore-content">Decode datastore content</a></li>
<li class="toctree-l3"><a href="#changing-the-timestamp-for-a-link">Changing the timestamp for a link</a></li> <li class="toctree-l3"><a href="#changing-the-timestamp-for-a-shaare">Changing the timestamp for a shaare</a></li>
<li class="toctree-l3"><a href="#see-also">See also</a></li>
</ul> </ul>
@ -283,10 +274,10 @@
<li>Datastore hacks</li> <li>Various hacks</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
<a href="https://github.com/shaarli/Shaarli/edit/master/docs/Datastore-hacks.md" <a href="https://github.com/shaarli/Shaarli/edit/master/docs/Various-hacks.md"
class="icon icon-github"> Edit on GitHub</a> class="icon icon-github"> Edit on GitHub</a>
</li> </li>
@ -311,12 +302,19 @@ <h3 id="decode-datastore-content">Decode datastore content</h3>
<pre><code>php -r 'print(json_encode(unserialize(gzinflate(base64_decode(preg_replace(&quot;!.*/\* (.+) \*/.*!&quot;, &quot;$1&quot;, file_get_contents(&quot;data/datastore.php&quot;)))))));' | jq . <pre><code>php -r 'print(json_encode(unserialize(gzinflate(base64_decode(preg_replace(&quot;!.*/\* (.+) \*/.*!&quot;, &quot;$1&quot;, file_get_contents(&quot;data/datastore.php&quot;)))))));' | jq .
</code></pre> </code></pre>
<h3 id="changing-the-timestamp-for-a-link">Changing the timestamp for a link</h3> <h3 id="changing-the-timestamp-for-a-shaare">Changing the timestamp for a shaare</h3>
<ul> <ul>
<li>Look for <code>&lt;input type="hidden" name="lf_linkdate" value="{$link.linkdate}"&gt;</code> in <code>tpl/editlink.tpl</code> (line 14)</li> <li>Look for <code>&lt;input type="hidden" name="lf_linkdate" value="{$link.linkdate}"&gt;</code> in <code>tpl/editlink.tpl</code> (line 14)</li>
<li>Replace <code>type="hidden"</code> with <code>type="text"</code> from this line</li> <li>Replace <code>type="hidden"</code> with <code>type="text"</code> from this line</li>
<li>A new date/time field becomes available in the edit/new link dialog.</li> <li>A new date/time field becomes available in the edit/new link dialog.</li>
<li>You can set the timestamp manually by entering it in the format <code>YYYMMDD_HHMMS</code>.</li> <li>You can set the timestamp manually by entering it in the format <code>YYYMMDD_HHMMS</code>.</li>
</ul>
<h3 id="see-also">See also</h3>
<ul>
<li><a href="https://gist.github.com/nodiscc/8b0194921f059d7b9ad89a581ecd482c">Add a new custom field to shaares (example patch)</a></li>
<li><a href="https://gist.github.com/nodiscc/dede231c92cab22c3ad2cc24d5035012">Download CSS styles for shaarlis listed in an opml file</a></li>
<li><a href="https://gist.github.com/nodiscc/ed161c66e5b028b5299b0a3733d01c77">Copy an existing Shaarli installation over SSH, and serve it locally</a></li>
<li><a href="https://gist.github.com/nodiscc/52e711cda3bc47717c16065231cf6b20">Create multiple Shaarli instances, generate an HTML index of them</a></li>
</ul> </ul>
</div> </div>
@ -328,7 +326,7 @@ <h3 id="changing-the-timestamp-for-a-link">Changing the timestamp for a link</h3
<a href="../Troubleshooting/" class="btn btn-neutral float-right" title="Troubleshooting">Next <span class="icon icon-circle-arrow-right"></span></a> <a href="../Troubleshooting/" class="btn btn-neutral float-right" title="Troubleshooting">Next <span class="icon icon-circle-arrow-right"></span></a>
<a href="../Download-CSS-styles-from-an-OPML-list/" class="btn btn-neutral" title="Download CSS styles from an OPML list"><span class="icon icon-circle-arrow-left"></span> Previous</a> <a href="../Backup,-restore,-import-and-export/" class="btn btn-neutral" title="Backup, restore, import and export"><span class="icon icon-circle-arrow-left"></span> Previous</a>
</div> </div>
@ -356,7 +354,7 @@ <h3 id="changing-the-timestamp-for-a-link">Changing the timestamp for a link</h3
<a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a> <a href="https://github.com/shaarli/Shaarli" class="fa fa-github" style="float: left; color: #fcfcfc"> GitHub</a>
<span><a href="../Download-CSS-styles-from-an-OPML-list/" style="color: #fcfcfc;">&laquo; Previous</a></span> <span><a href="../Backup,-restore,-import-and-export/" style="color: #fcfcfc;">&laquo; Previous</a></span>
<span style="margin-left: 15px"><a href="../Troubleshooting/" style="color: #fcfcfc">Next &raquo;</a></span> <span style="margin-left: 15px"><a href="../Troubleshooting/" style="color: #fcfcfc">Next &raquo;</a></span>

View file

@ -152,19 +152,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="../Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="../Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="../Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="../Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="../Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -155,19 +155,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>
@ -340,5 +328,5 @@
<!-- <!--
MkDocs version : 0.16.3 MkDocs version : 0.16.3
Build Date UTC : 2017-06-17 22:04:25 Build Date UTC : 2017-06-18 04:31:25
--> -->

File diff suppressed because one or more lines are too long

View file

@ -148,19 +148,7 @@
</li> </li>
<li class=""> <li class="">
<a class="" href="Copy-an-existing-installation-over-SSH-and-serve-it-locally/">Copy an existing installation over SSH and serve it locally</a> <a class="" href="Various-hacks/">Various hacks</a>
</li>
<li class="">
<a class="" href="Create-and-serve-multiple-Shaarlis-(farm)/">Create and serve multiple Shaarlis (farm)</a>
</li>
<li class="">
<a class="" href="Download-CSS-styles-from-an-OPML-list/">Download CSS styles from an OPML list</a>
</li>
<li class="">
<a class="" href="Datastore-hacks/">Datastore hacks</a>
</li> </li>
</ul> </ul>
</li> </li>

View file

@ -132,25 +132,7 @@
</url> </url>
<url> <url>
<loc>/Copy-an-existing-installation-over-SSH-and-serve-it-locally/</loc> <loc>/Various-hacks/</loc>
<lastmod>2017-06-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/Create-and-serve-multiple-Shaarlis-(farm)/</loc>
<lastmod>2017-06-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/Download-CSS-styles-from-an-OPML-list/</loc>
<lastmod>2017-06-18</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>/Datastore-hacks/</loc>
<lastmod>2017-06-18</lastmod> <lastmod>2017-06-18</lastmod>
<changefreq>daily</changefreq> <changefreq>daily</changefreq>
</url> </url>

View file

@ -20,4 +20,4 @@ To search for links that are not tagged, enter `""` in the tag search field.
## Filtering RSS feeds/Picture wall ## Filtering RSS feeds/Picture wall
RSS feeds can also be restricted to only return items matching a text/tag search: see [[RSS feeds]]. RSS feeds can also be restricted to only return items matching a text/tag search: see [RSS feeds](RSS feeds).

View file

@ -34,7 +34,7 @@ _TODO: contact repos owners to see if they'd like to standardize their work with
### Themes ### Themes
See [[Theming]] for the list of community-contributed themes, and an installation guide. See [Theming](Theming) for the list of community-contributed themes, and an installation guide.
### Server apps ### Server apps
- [shaarchiver](https://github.com/nodiscc/shaarchiver) - Archive your Shaarli bookmarks and their content - [shaarchiver](https://github.com/nodiscc/shaarchiver) - Archive your Shaarli bookmarks and their content

View file

@ -1,20 +1,20 @@
## Local development ## Local development
A [`Makefile`](https://github.com/shaarli/Shaarli/blob/master/Makefile) is available to perform project-related operations: A [`Makefile`](https://github.com/shaarli/Shaarli/blob/master/Makefile) is available to perform project-related operations:
- Documentation - generate a local HTML copy of the GitHub wiki - Documentation - generate a local HTML copy of the GitHub wiki
- [[Static analysis]] - check that the code is compliant to PHP conventions - [Static analysis](Static analysis) - check that the code is compliant to PHP conventions
- [[Unit tests]] - ensure there are no regressions introduced by new commits - [Unit tests](Unit tests) - ensure there are no regressions introduced by new commits
## Automatic builds ## Automatic builds
[Travis CI](http://docs.travis-ci.com/) is a Continuous Integration build server, that runs a build: [Travis CI](http://docs.travis-ci.com/) is a Continuous Integration build server, that runs a build:
- each time a commit is merged to the mainline (`master` branch) - each time a commit is merged to the mainline (`master` branch)
- each time a Pull Request is submitted or updated - each time a Pull Request is submitted or updated
A build is composed of several jobs: one for each supported PHP version (see [[Server requirements]]). A build is composed of several jobs: one for each supported PHP version (see [Server requirements](Server requirements)).
Each build job: Each build job:
- updates Composer - updates Composer
- installs 3rd-party test dependencies with Composer - installs 3rd-party test dependencies with Composer
- runs [[Unit tests]] - runs [Unit tests](Unit tests)
After all jobs have finished, Travis returns the results to GitHub: After all jobs have finished, Travis returns the results to GitHub:
- a status icon represents the result for the `master` branch: [![](https://api.travis-ci.org/shaarli/Shaarli.svg)](https://travis-ci.org/shaarli/Shaarli) - a status icon represents the result for the `master` branch: [![](https://api.travis-ci.org/shaarli/Shaarli.svg)](https://travis-ci.org/shaarli/Shaarli)

View file

@ -2,8 +2,8 @@
Please have a look at the following pages: Please have a look at the following pages:
- [Contributing to Shaarli](https://github.com/shaarli/Shaarli/tree/master/CONTRIBUTING.md) - [Contributing to Shaarli](https://github.com/shaarli/Shaarli/tree/master/CONTRIBUTING.md)
- [[Static analysis]] - patches should try to stick to the [PHP Standard Recommendations](http://www.php-fig.org/psr/) (PSR), especially: - [Static analysis](Static analysis) - patches should try to stick to the [PHP Standard Recommendations](http://www.php-fig.org/psr/) (PSR), especially:
- [PSR-1](http://www.php-fig.org/psr/psr-1/) - Basic Coding Standard - [PSR-1](http://www.php-fig.org/psr/psr-1/) - Basic Coding Standard
- [PSR-2](http://www.php-fig.org/psr/psr-2/) - Coding Style Guide - [PSR-2](http://www.php-fig.org/psr/psr-2/) - Coding Style Guide
- [[Unit tests]] - [Unit tests](Unit tests)
- [[GnuPG signature]] for tags/releases - [GnuPG signature](GnuPG signature) for tags/releases

View file

@ -8,7 +8,7 @@
### Sharing links using Firefox share ### Sharing links using Firefox share
* Add the sharing service as described above * Add the sharing service as described above
* When you are visiting a webpage you would like to share with Shaarli, click the Firefox _Share_ button [[images/firefoxshare.png]] * When you are visiting a webpage you would like to share with Shaarli, click the Firefox _Share_ button [images/firefoxshare.png](images/firefoxshare.png)
* You can edit your link before and after saving, just like the bookmarklet above. * You can edit your link before and after saving, just like the bookmarklet above.
|  | Your Shaarli instance must be hosted on an HTTPS (SSL/TLS secure connection) enabled server for Firefox Share to work. Firefox Share will not work over plain HTTP connections. | |  | Your Shaarli instance must be hosted on an HTTPS (SSL/TLS secure connection) enabled server for Firefox Share to work. Firefox Share will not work over plain HTTP connections. |

View file

@ -73,4 +73,4 @@ gpg: sending key A9D53A3E to hkp server pgp.mit.edu
## Create and push a GPG-signed tag ## Create and push a GPG-signed tag
See [[Release Shaarli]]. See [Release Shaarli](Release Shaarli).

View file

@ -15,7 +15,7 @@ This file allows overriding rules defined in the template CSS files (only add ch
**Note**: Do not edit `tpl/default/css/shaarli.css`! Your changes would be overridden when updating Shaarli. **Note**: Do not edit `tpl/default/css/shaarli.css`! Your changes would be overridden when updating Shaarli.
See also [[Download CSS styles from an OPML list]] See also [Download CSS styles from an OPML list](Download CSS styles from an OPML list)
## Themes ## Themes
@ -77,7 +77,7 @@ Get config written:
- fill the install form - fill the install form
- log in to Shaarli - log in to Shaarli
Edit Shaarli's [[configuration|Shaarli configuration]]: Edit Shaarli's [configuration|Shaarli configuration](configuration|Shaarli configuration):
```bash ```bash
# the file should be owned by Apache, thus not writeable => sudo # the file should be owned by Apache, thus not writeable => sudo
$ sudo sed -i s=tpl=tpl/albinomouse-template=g shaarli/data/config.php $ sudo sed -i s=tpl=tpl/albinomouse-template=g shaarli/data/config.php

View file

@ -13,7 +13,7 @@ Shaarli stores all user data under the `data` directory:
- `data/ipbans.php` - banned IP addresses - `data/ipbans.php` - banned IP addresses
- `data/updates.txt` - contains all automatic update to the configuration and datastore files already run - `data/updates.txt` - contains all automatic update to the configuration and datastore files already run
See [[Shaarli configuration]] for more information about Shaarli resources. See [Shaarli configuration](Shaarli configuration) for more information about Shaarli resources.
It is recommended to backup this repository _before_ starting updating/upgrading Shaarli: It is recommended to backup this repository _before_ starting updating/upgrading Shaarli:
- users with SSH access: copy or archive the directory to a temporary location - users with SSH access: copy or archive the directory to a temporary location
@ -25,7 +25,7 @@ As all user data is kept under `data`, this is the only directory you need to wo
- backup the `data` directory - backup the `data` directory
- install or update Shaarli: - install or update Shaarli:
- fresh installation - see [[Download and installation]] - fresh installation - see [Download and installation](Download and installation)
- update - see the following sections - update - see the following sections
- check or restore the `data` directory - check or restore the `data` directory
@ -33,11 +33,11 @@ As all user data is kept under `data`, this is the only directory you need to wo
All tagged revisions can be downloaded as tarballs or ZIP archives from the [releases](https://github.com/shaarli/Shaarli/releases) page. All tagged revisions can be downloaded as tarballs or ZIP archives from the [releases](https://github.com/shaarli/Shaarli/releases) page.
We recommend that you use the latest release tarball with the `-full` suffix. It contains the dependencies, please read [[Download and installation]] for `git` complete instructions. We recommend that you use the latest release tarball with the `-full` suffix. It contains the dependencies, please read [Download and installation](Download and installation) for `git` complete instructions.
Once downloaded, extract the archive locally and update your remote installation (e.g. via FTP) -be sure you keep the content of the `data` directory! Once downloaded, extract the archive locally and update your remote installation (e.g. via FTP) -be sure you keep the content of the `data` directory!
After upgrading, access your fresh Shaarli installation from a web browser; the configuration and data store will then be automatically updated, and new settings added to `data/config.json.php` (see [[Shaarli configuration]] for more details). After upgrading, access your fresh Shaarli installation from a web browser; the configuration and data store will then be automatically updated, and new settings added to `data/config.json.php` (see [Shaarli configuration](Shaarli configuration) for more details).
## Upgrading with Git ## Upgrading with Git
@ -170,7 +170,7 @@ Total 3317 (delta 2050), reused 3301 (delta 2034)to
#### Step 3: configuration #### Step 3: configuration
After migrating, access your fresh Shaarli installation from a web browser; the configuration will then be automatically updated, and new settings added to `data/config.php` (see [[Shaarli configuration]] for more details). After migrating, access your fresh Shaarli installation from a web browser; the configuration will then be automatically updated, and new settings added to `data/config.php` (see [Shaarli configuration](Shaarli configuration) for more details).
## Troubleshooting ## Troubleshooting