[Kimchi-devel] [PATCH 1/1] Enabling help page for wok base. This commit supports en_US only.
Aline Manera
alinefm at linux.vnet.ibm.com
Thu Aug 6 14:12:04 UTC 2015
I don't think we need a help page for Wok framework.
We have a lot to discuss on that, but the initial idea was to load a
simple page when running wok without any plugin.
That page would describe the wok proposal - as a web server framework
based on plugins.
I think it is hard to us to point the user to any specific plugin like
kimchi or ginger, as anyone can develop a wok plugin and host anywhere.
I am more for a generic simple page and no help.
More (and different) thoughts on it are more than welcome. =)
On 04/08/2015 10:04, sureshab at linux.vnet.ibm.com wrote:
> From: Suresh Babu Angadi <sureshab at linux.vnet.ibm.com>
>
> Signed-off-by: Suresh Babu Angadi <sureshab at linux.vnet.ibm.com>
> ---
> configure.ac | 2 +
> src/wok/config.py.in | 5 +
> ui/js/src/wok.main.js | 9 +-
> ui/pages/Makefile.am | 2 +-
> ui/pages/help/Makefile.am | 34 +++++++
> ui/pages/help/dita-help.xsl | 26 +++++
> ui/pages/help/en_US/Makefile.am | 23 +++++
> ui/pages/help/en_US/wokhelp.dita | 27 +++++
> ui/pages/help/wok.css | 208 +++++++++++++++++++++++++++++++++++++++
> 9 files changed, 333 insertions(+), 3 deletions(-)
> create mode 100644 ui/pages/help/Makefile.am
> create mode 100644 ui/pages/help/dita-help.xsl
> create mode 100644 ui/pages/help/en_US/Makefile.am
> create mode 100644 ui/pages/help/en_US/wokhelp.dita
> create mode 100644 ui/pages/help/wok.css
>
> diff --git a/configure.ac b/configure.ac
> index 47c2e6c..ee4d793 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -115,6 +115,8 @@ AC_CONFIG_FILES([
> ui/libs/themes/base/Makefile
> ui/libs/themes/base/images/Makefile
> ui/pages/Makefile
> + ui/pages/help/Makefile
> + ui/pages/help/en_US/Makefile
> ui/pages/websockify/Makefile
> contrib/Makefile
> contrib/DEBIAN/Makefile
> diff --git a/src/wok/config.py.in b/src/wok/config.py.in
> index 5ffa936..c158a75 100644
> --- a/src/wok/config.py.in
> +++ b/src/wok/config.py.in
> @@ -142,6 +142,11 @@ class WokConfig(dict):
> '/wok-ui.html': {
> 'tools.wokauth.on': True
> },
> + '/help': {
> + 'tools.staticdir.on': True,
> + 'tools.staticdir.dir': '%s/ui/pages/help' % paths.prefix,
> + 'tools.nocache.on': True
> + }
> }
>
> def __init__(self):
> diff --git a/ui/js/src/wok.main.js b/ui/js/src/wok.main.js
> index f4c9940..3dd76b8 100644
> --- a/ui/js/src/wok.main.js
> +++ b/ui/js/src/wok.main.js
> @@ -349,7 +349,12 @@ wok.checkHelpFile = function(path) {
>
> wok.openHelp = function(e) {
> var tab = $('#nav-menu a.current');
> - var url = $(tab).parent().find("input[name='helpPath']").val();
> - window.open(url, "Wok Help");
> + if (tab.length == 0 ){
> + window.open("help/en_US/wokhelp.html","Wok Help")
> + }
> + else {
> + var url = $(tab).parent().find("input[name='helpPath']").val();
> + window.open(url, "Wok Help");
> + }
> e.preventDefault();
> };
> diff --git a/ui/pages/Makefile.am b/ui/pages/Makefile.am
> index 68f4c92..b3f5c2e 100644
> --- a/ui/pages/Makefile.am
> +++ b/ui/pages/Makefile.am
> @@ -15,7 +15,7 @@
> # See the License for the specific language governing permissions and
> # limitations under the License.
>
> -SUBDIRS = websockify
> +SUBDIRS = websockify help
>
> htmldir = $(datadir)/wok/ui/pages
>
> diff --git a/ui/pages/help/Makefile.am b/ui/pages/help/Makefile.am
> new file mode 100644
> index 0000000..0dc8d9f
> --- /dev/null
> +++ b/ui/pages/help/Makefile.am
> @@ -0,0 +1,34 @@
> +# Copyright IBM Corp, 2014
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +SUBDIRS = en_US
> +
> +DITA_HTML_FILES = $(patsubst %.dita,%.html,$(wildcard */*.dita))
> +HTML_FILES = $(if $(DITA_HTML_FILES), $(DITA_HTML_FILES), $(wildcard */*.html))
> +DITA_XSL_FILE = dita-help.xsl
> +
> +EXTRA_DIST = $(DITA_XSL_FILE)
> +
> +helpdir = $(datadir)/wok/ui/pages/help
> +
> +dist_help_DATA = wok.css
> +
> +all: $(HTML_FILES) $(wildcard */*.dita)
> +
> +%.html: %.dita $(DITA_XSL_FILE)
> + xsltproc -o $@ $(DITA_XSL_FILE) $<
> +
> +CLEANFILES = $(HTML_FILES)
> \ No newline at end of file
> diff --git a/ui/pages/help/dita-help.xsl b/ui/pages/help/dita-help.xsl
> new file mode 100644
> index 0000000..fb49855
> --- /dev/null
> +++ b/ui/pages/help/dita-help.xsl
> @@ -0,0 +1,26 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<xsl:stylesheet version="1.0"
> + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> + xmlns="http://www.w3.org/1999/xhtml">
> + <xsl:output method="xml" indent="yes" encoding="UTF-8" />
> +
> + <xsl:template match="/">
> + <html>
> + <head>
> + <title><xsl:value-of select="/cshelp/title" /></title>
> + <meta charset="UTF-8" />
> + <link rel="shortcut icon" href="../../images/logo.ico" />
> + <link rel="stylesheet" type="text/css" href="../wok.css" />
> + </head>
> + <body>
> + <xsl:apply-templates select="//cshelp" />
> + </body>
> + </html>
> + </xsl:template>
> +
> + <xsl:template match="cshelp">
> + <h1><xsl:value-of select="title" /></h1>
> + <p class="shortdesc"><xsl:value-of select="shortdesc" /></p>
> + <p class="csbody"><xsl:copy-of select="csbody/node()" /></p>
> + </xsl:template>
> +</xsl:stylesheet>
> diff --git a/ui/pages/help/en_US/Makefile.am b/ui/pages/help/en_US/Makefile.am
> new file mode 100644
> index 0000000..b1e807d
> --- /dev/null
> +++ b/ui/pages/help/en_US/Makefile.am
> @@ -0,0 +1,23 @@
> +# Copyright IBM Corp, 2014
> +#
> +# This library is free software; you can redistribute it and/or
> +# modify it under the terms of the GNU Lesser General Public
> +# License as published by the Free Software Foundation; either
> +# version 2.1 of the License, or (at your option) any later version.
> +#
> +# This library is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# Lesser General Public License for more details.
> +#
> +# You should have received a copy of the GNU Lesser General Public
> +# License along with this library; if not, write to the Free Software
> +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
> +
> +en_US_helpdir = $(datadir)/wok/ui/pages/help/en_US
> +
> +dist_en_US_help_DATA = $(wildcard *.html) $(NULL)
> +
> +EXTRA_DIST = $(wildcard *.dita)
> +
> +CLEANFILES = $(wildcard *.html)
> \ No newline at end of file
> diff --git a/ui/pages/help/en_US/wokhelp.dita b/ui/pages/help/en_US/wokhelp.dita
> new file mode 100644
> index 0000000..582e47b
> --- /dev/null
> +++ b/ui/pages/help/en_US/wokhelp.dita
> @@ -0,0 +1,27 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--Arbortext, Inc., 1988-2011, v.4002-->
> +<!DOCTYPE cshelp PUBLIC "-//IBM//DTD DITA CSHelp//EN"
> + "..\dtd\cshelp.dtd">
> +<?Pub Sty _display FontColor="red"?>
> +<?Pub Inc?>
> +<!--This DITA specialized document type is not supported by the Authoring Tools development team.
> +For support please see:
> +https://w3.opensource.ibm.com/projects/dita-cshelp/-->
> +<cshelp id="wokbase" xml:lang="en-us">
> +<title>Wok (Webserver Originated from Kimchi)</title>
> +<shortdesc>Wok is a cherrypy-based web framework with HTML5 support that is extended by plugins which expose functionality through REST APIs.</shortdesc>
> +<csbody>
> +<p>Currently available plugins are Kimchi (Virtualization Management) and Ginger (System Administration).
> +Wok comes with a sample plugin for education purposes.<ul>
> +<li><uicontrol>Download Kimchi : </uicontrol>
> +<a href="https://github.com/kimchi-project/kimchi/tree/wok"
> +target="_blank" >https://github.com/kimchi-project/kimchi/tree/wok</a>
> +</li>
> +<li><uicontrol>Download Ginger : </uicontrol>
> +<a href="https://github.com/kimchi-project/ginger/tree/ginger_wok"
> +target="_blank" >https://github.com/kimchi-project/ginger/tree/ginger_wok</a>
> +</li>
> +</ul>
> +</p>
> +</csbody>
> +</cshelp>
> diff --git a/ui/pages/help/wok.css b/ui/pages/help/wok.css
> new file mode 100644
> index 0000000..32fae4a
> --- /dev/null
> +++ b/ui/pages/help/wok.css
> @@ -0,0 +1,208 @@
> +/*
> + * Project Kimchi
> + *
> + * Copyright IBM, Corp. 2014
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +BODY {
> + background: #FFFFFF;
> + margin-bottom: 1em;
> + margin-left: .5em;
> +}
> +
> +bold {
> + font-weight: bold;
> +}
> +
> +boldItalic {
> + font-weight: bold;
> + font-style: italic;
> +}
> +
> +italic {
> + font-style: italic;
> +}
> +
> +underlined {
> + text-decoration: underline;
> +}
> +
> +uicontrol {
> + font-weight: bold;
> +}
> +
> +filepath {
> + font-family: monospace, monospace;
> +}.option {
> + font-family: monospace, monospace;
> +}
> +
> +cmdname {
> + font-weight: bold;
> + font-family: monospace, monospace;
> +}
> +
> +.defparmname {
> + font-weight: bold;
> + text-decoration: underline;
> + font-family: monospace, monospace;
> +}
> +
> +.kwd {
> + font-weight: bold;
> +}
> +
> +.defkwd {
> + font-weight: bold;
> + text-decoration: underline;
> +}
> +
> +var {
> + font-style : italic;
> +}
> +
> +strongwintitle {
> + font-weight : bold;
> +}
> +
> +parmname {
> + font-weight: bold;
> + font-family: monospace, monospace;
> + white-space: nowrap;
> +}
> +
> +code {
> + font-family: monospace, monospace;
> +}
> +
> +pre {
> + font-family: monospace, monospace;
> +}
> +
> +CITE {
> + font-style: italic;
> +}
> +
> +EM {
> + font-style: italic;
> +}
> +
> +STRONG {
> + font-weight: bold;
> +}
> +
> +VAR {
> + font-style: italic;
> +}
> +
> +dt {
> + font-weight: bold;
> +}
> +
> +/***********************************************************
> + * Basic fonts
> + ***********************************************************/
> +body,
> +td,
> +th,
> +caption {
> + font-family: Verdana, Arial, Helvetica, sans-serif;
> + font-size: 10pt;
> +}
> +
> +pre, code {
> + font-family: MS Courier New, Courier, monospace;
> +}
> +
> +h1, h2, h3 {
> + font-size: 12pt;
> + font-weight: bold;
> + color: #336699;
> +}
> +
> +h4 {
> + font-size: 10pt;
> + font-weight: bold;
> + color: #336699;
> +}
> +
> +/***********************************************************
> + * Basic indents, padding, and margin
> + ***********************************************************/
> +body {
> + color: black;
> + background-color: white;
> + margin: 0;
> + padding-top: 0.2em;
> + padding-left: 0.6em;
> + padding-right: 0.2em;
> + padding-bottom: 1em;
> +}
> +
> +h1,
> +h2,
> +h3,
> +h4,
> +h5,
> +h6 {
> + padding: 0;
> + margin-top: 1em;
> + margin-bottom: 0.75em;
> + margin-left: 0;
> + margin-right: 0;
> +}
> +
> +address,
> +dl,
> +li,
> +p {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 0;
> + margin-right: 0;
> + line-height: 125%;
> +}
> +
> +td dl {
> + margin-left: 2em;
> +}
> +
> +pre {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 2em;
> + margin-right: 0;
> +}
> +
> +ol,
> +ul {
> + padding: 0;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> + margin-left: 2.00em;
> + margin-right: 0;
> +}
> +
> +dd {
> + margin-left: 3.00em;
> + margin-top: 0.75em;
> + margin-bottom: 0.75em;
> +}
> +
> +dt {
> + margin-left: 1.00em;
> + margin-top: 0.75em;
> +}
More information about the Kimchi-devel
mailing list