[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