From e1c71e52d29a3f416e9eda420704f423aaccf7e8 Mon Sep 17 00:00:00 2001
From: Akira Ohgaki <akiraohgaki@gmail.com>
Date: Wed, 11 Jul 2018 22:58:11 +0900
Subject: [PATCH] Add documents from ocs-url wiki

---
 README.md                     |   4 +-
 docs/How-to-install.md        |  57 +++++++++++++++++
 docs/How-to-use.md            |  19 ++++++
 docs/Internationalization.md  |  28 +++++++++
 docs/OCS-URL-specification.md | 113 ++++++++++++++++++++++++++++++++++
 5 files changed, 218 insertions(+), 3 deletions(-)
 create mode 100644 docs/How-to-install.md
 create mode 100644 docs/How-to-use.md
 create mode 100644 docs/Internationalization.md
 create mode 100644 docs/OCS-URL-specification.md

diff --git a/README.md b/README.md
index 8da701b..cb5a0cd 100644
--- a/README.md
+++ b/README.md
@@ -12,6 +12,4 @@ Download Linux package from:
 
 https://www.opendesktop.org/p/1136805/
 
-And please check the ocs-url wiki for more information.
-
-https://www.opencode.net/OCS/ocs-url/wiki
+And please see docs/* for more information.
diff --git a/docs/How-to-install.md b/docs/How-to-install.md
new file mode 100644
index 0000000..4334d4b
--- /dev/null
+++ b/docs/How-to-install.md
@@ -0,0 +1,57 @@
+# How to install
+
+
+## Install from package
+
+Download Linux package from: https://www.opendesktop.org/p/1136805/
+
+Then click the downloaded package and continue to installation with package manager.
+
+Or install the downloaded package using terminal:
+
+Ubuntu 14.04
+
+    $ sudo apt install libqt5svg5 qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin qtdeclarative5-controls-plugin
+    $ sudo dpkg -i /path/to/ocs-url*.deb
+
+Ubuntu 16.04
+
+    $ sudo apt install libqt5svg5 qml-module-qtquick-controls
+    $ sudo dpkg -i /path/to/ocs-url*.deb
+
+Fedora 20
+
+    # yum insall qt5-qtbase qt5-qtbase-gui qt5-qtsvg qt5-qtdeclarative qt5-qtquickcontrols
+    # rpm -i /path/to/ocs-url*.rpm
+
+Fedora 22
+
+    # dnf insall qt5-qtbase qt5-qtbase-gui qt5-qtsvg qt5-qtdeclarative qt5-qtquickcontrols
+    # rpm -i /path/to/ocs-url*.rpm
+
+openSUSE 42.1
+
+    # zypper install libQt5Svg5 libqt5-qtquickcontrols
+    # rpm -i /path/to/ocs-url*.rpm
+
+Arch Linux
+
+    # pacman -S qt5-base qt5-svg qt5-declarative qt5-quickcontrols
+    # pacman -U /path/to/ocs-url*.pkg.tar.xz
+
+
+## Install from source
+
+Make git clone, or download the source archive and extract it.
+
+Build and install
+
+    $ cd /path/to/ocs-url
+    $ ./scripts/prepare
+    $ qmake PREFIX=/usr
+    $ make
+    $ sudo make install
+
+Uninstall
+
+    $ sudo make uninstall
diff --git a/docs/How-to-use.md b/docs/How-to-use.md
new file mode 100644
index 0000000..9d1d0cb
--- /dev/null
+++ b/docs/How-to-use.md
@@ -0,0 +1,19 @@
+# How to use
+
+
+## Web browser
+
+Just click a OCS-URL (ocs://) links, or type OCS-URL in browser's address bar.
+
+If you use Firefox, a program selection window opens the first time you open OCS-URL,
+and you can choose "ocs-url" as custom URL handler.
+
+If you don't get the program selection window or you are using another browser,
+please set the ocs-url program as custom URL handler for ocs:// scheme in the browser's settings.
+
+
+## Command-line
+
+Execute ocs-url program with argument OCS-URL.
+
+    $ ocs-url "ocs://install?url=http%3A%2F%2Fexample.com%2Ficons.tar.gz&type=icons"
diff --git a/docs/Internationalization.md b/docs/Internationalization.md
new file mode 100644
index 0000000..4f3db44
--- /dev/null
+++ b/docs/Internationalization.md
@@ -0,0 +1,28 @@
+# Internationalization
+
+ocs-url/i18n/ is sub project for program internationalization.
+
+
+## Localization for program
+
+Using two tools lupdate and lrelease to make translation.
+
+Text is gathered from program source files and included in QM files for translation along with other resource files.
+
+### Creating TS (Translation Source) files
+
+To generate TS files, sets TS file name to definition TRANSLATIONS in i18n.pro and run lupdate with i18n.pro.
+
+    $ cd /path/to/ocs-url/i18n/
+    $ lupdate i18n.pro
+
+Then adds translations to the generated TS files using Qt Linguist or text editor.
+
+### Creating QM (Qt Message) files
+
+To generate QM files, run lrelease with i18n.pro.
+
+    $ cd /path/to/ocs-url/i18n/
+    $ lrelease i18n.pro
+
+Then adds the path of the generated QM files to i18n.qrc.
diff --git a/docs/OCS-URL-specification.md b/docs/OCS-URL-specification.md
new file mode 100644
index 0000000..2bb033e
--- /dev/null
+++ b/docs/OCS-URL-specification.md
@@ -0,0 +1,113 @@
+# OCS-URL specification
+
+OCS-URL is a custom URL that represent the installation method of items served on OpenCollaborationServices (OCS).
+
+
+## URL structure
+
+    [scheme]://[command]?[query string]
+
+For example:
+
+    ocs://install?url=http%3A%2F%2Fexample.com%2Ficons.tar.gz&type=icons
+
+
+## Scheme
+
+Scheme | Description
+-------|------------
+ocs | ocs scheme
+ocss | ocs scheme for secure protocol
+
+"ocss" scheme is the same of the ocs scheme for now,
+it's a reserved name for secure protocol in the future.
+
+
+## Command
+
+Command | Description
+--------|------------
+download | Download the file from specified URL to the installation destination of specified install-type.
+install | Make file downloading and trigger installation process.
+
+
+## Query string
+
+OCS-URL's query string is an option of command.
+
+*All query string values should be urlencoded.*
+
+Parameter | Required | Default | Description
+----------|----------|---------|------------
+url | Yes | - | File URL
+type | - | downloads | Install-type
+filename | - | File name from URL | Alternative file name
+
+"filename" option is useful if the file URL does not represent a file name.
+
+### Install-type
+
+Available install-type:
+
+Install-type | Installation destination
+-------------|------------------
+bin | $HOME/.local/bin
+downloads | $HOME/Downloads
+documents | $HOME/Documents
+pictures | $HOME/Pictures
+music | $HOME/Music
+videos | $HOME/Videos
+wallpapers | $XDG_DATA_HOME/wallpapers
+fonts | $HOME/.fonts
+cursors | $HOME/.icons
+icons | $XDG_DATA_HOME/icons
+emoticons | $XDG_DATA_HOME/emoticons
+themes | $HOME/.themes
+emerald_themes | $HOME/.emerald/themes
+enlightenment_themes | $HOME/.e/e/themes
+enlightenment_backgrounds | $HOME/.e/e/backgrounds
+fluxbox_styles | $HOME/.fluxbox/styles
+pekwm_themes | $HOME/.pekwm/themes
+icewm_themes | $HOME/.icewm/themes
+plasma_plasmoids | $XDG_DATA_HOME/plasma/plasmoids
+plasma_look_and_feel | $XDG_DATA_HOME/plasma/look-and-feel
+plasma_desktopthemes | $XDG_DATA_HOME/plasma/desktoptheme
+kwin_effects | $XDG_DATA_HOME/kwin/effects
+kwin_scripts | $XDG_DATA_HOME/kwin/scripts
+kwin_tabbox | $XDG_DATA_HOME/kwin/tabbox
+aurorae_themes | $XDG_DATA_HOME/aurorae/themes
+dekorator_themes | $XDG_DATA_HOME/deKorator/themes
+qtcurve | $XDG_DATA_HOME/QtCurve
+color_schemes | $XDG_DATA_HOME/color-schemes
+gnome_shell_extensions | $XDG_DATA_HOME/gnome-shell/extensions
+cinnamon_applets | $XDG_DATA_HOME/cinnamon/applets
+cinnamon_desklets | $XDG_DATA_HOME/cinnamon/desklets
+cinnamon_extensions | $XDG_DATA_HOME/cinnamon/extensions
+nautilus_scripts | $XDG_DATA_HOME/nautilus/scripts
+amarok_scripts | $KDEHOME/share/apps/amarok/scripts
+yakuake_skins | $KDEHOME/share/apps/yakuake/skins
+cairo_clock_themes | $HOME/.cairo-clock/themes
+books | $APP_DATA/books
+comics | $APP_DATA/comics
+
+$APP_DATA is not environment variable, it's internal variable in the program and expressed to $XDG_DATA_HOME/{application ID or name}.
+
+Available alias name of the install-type:
+
+Alias | Install-type
+------|-------------
+gnome_shell_themes | themes
+cinnamon_themes | themes
+gtk2_themes | themes
+gtk3_themes | themes
+metacity_themes | themes
+xfwm4_themes | themes
+openbox_themes | themes
+kvantum_themes | themes
+compiz_themes | emerald_themes
+beryl_themes | emerald_themes
+plasma4_plasmoids | plasma_plasmoids
+plasma5_plasmoids | plasma_plasmoids
+plasma5_look_and_feel | plasma_look_and_feel
+plasma5_desktopthemes | plasma_desktopthemes
+plasma_color_schemes | color_schemes
-- 
GitLab