changeset 13:cc368e32db24

Split template into separate files
author David Demelier <markand@malikania.fr>
date Tue, 01 Mar 2016 07:31:44 +0100
parents 510ba33d678c
children d9961bad8788
files CMakeLists.txt templates/template-doc.html templates/template.html
diffstat 3 files changed, 208 insertions(+), 145 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Tue Feb 23 15:40:48 2016 +0100
+++ b/CMakeLists.txt	Tue Mar 01 07:31:44 2016 +0100
@@ -24,8 +24,11 @@
 find_package(Pandoc REQUIRED)
 
 # Some variables
-set(URL http://releases.malikania.fr/irccd/irccd-2.0.0-rc1.zip)
+
+#set(URL http://releases.malikania.fr/irccd/irccd-2.0.0.tar.xz)
+set(URL file:///tmp/irccd-2.0.0.tar.xz)
 set(TEMPLATE ${irccd-web_SOURCE_DIR}/templates/template.html)
+set(TEMPLATE_DOC ${irccd-web_SOURCE_DIR}/templates/template-doc.html)
 set(OUTPUT ${CMAKE_BINARY_DIR}/html)
 set(SOURCE ${CMAKE_SOURCE_DIR})
 set(JS ${CMAKE_SOURCE_DIR}/js/joke.js)
@@ -40,7 +43,7 @@
 	irccd
 	URL ${URL}
 	CMAKE_ARGS -DWITH_SSL=Off -DWITH_TESTS=Off -DWITH_DOXYGEN=Off -DWITH_DOCDIR=_DOCS_
-	PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${TEMPLATE} ${IRCCD_SOURCE_DIR}/doc/html/resources
+	PATCH_COMMAND ${CMAKE_COMMAND} -E copy ${TEMPLATE_DOC} ${IRCCD_SOURCE_DIR}/doc/html/resources/template.html
 	BUILD_COMMAND
 		COMMAND ${CMAKE_COMMAND} --build . --target docs
 		COMMAND ${CMAKE_COMMAND} --build . --target plugins
@@ -60,7 +63,7 @@
 	pandoc(
 		OUTPUT ${OUTPUT}/${f}.html
 		SOURCES ${SOURCE}/${f}.md
-		VARIABLE baseurl:. general:1 ${${f}_VARS}
+		VARIABLE baseurl:. ${${f}_VARS}
 		FROM markdown
 		TO html5
 		ARGS --no-highlight
@@ -74,7 +77,7 @@
 
 add_custom_target(
 	files
-	SOURCES ${SOURCES} ${TEMPLATE} ${CSS} ${JS}
+	SOURCES ${SOURCES} ${TEMPLATE} ${TEMPLATE_DOC} ${CSS} ${JS}
 	DEPENDS ${OUTPUTS}
 )
 
@@ -88,4 +91,4 @@
 	COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/js ${OUTPUT}/js
 	COMMAND ${CMAKE_COMMAND} -E copy_directory ${IRCCD_BINARY_DIR}/fakeroot/_DOCS_ ${OUTPUT}
 	DEPENDS files
-)
\ No newline at end of file
+)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/template-doc.html	Tue Mar 01 07:31:44 2016 +0100
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
+    <meta name="description" content="IRC Client Daemon">
+    <meta name="author" content="David Demelier">
+
+    <title>$title$</title>
+
+    <!-- CSS -->
+    <link href="$baseurl$/css/bootstrap.min.css" rel="stylesheet">
+    <link href="$baseurl$/css/tomorrow.css" rel="stylesheet">
+    <link href="$baseurl$/css/irccd.css" rel="stylesheet">
+    <link href="$baseurl$/css/doc.css" rel="stylesheet">
+
+$if(guide)$
+    <link href="$baseurl$/css/doc-guide.css" rel="stylesheet">
+$endif$
+
+    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+    <!--[if lt IE 9]>
+      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+    <![endif]-->
+  </head>
+
+  <body>
+    <nav class="navbar navbar-fixed-top navbar-inverse">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a class="navbar-brand" href="$baseurl$/index.html">irccd</a>
+        </div><!-- navbar-header -->
+        <div id="navbar" class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+            <li><a href="$baseurl$/about.html">About</a></li>
+            <li><a href="$baseurl$/documentation.html">Documentation</a></li>
+            <li><a href="$baseurl$/download.html">Download</a></li>
+            <li><a href="$baseurl$/contribute.html">Contribute</a></li>
+            <li><a href="$baseurl$/support.html">Support</a></li>
+          </ul>
+          <p id="joke" class="navbar-text navbar-right">The definitive bot</p>
+        </div><!-- !navbar -->
+      </div><!-- !container -->
+    </nav>
+
+<div class="container-fluid">
+  <div class="row">
+    <!-- Side bar -->
+    <div class="col-sm-1 col-md-2 sidebar">
+    <!-- Side bar for JavaScript -->
+$if(js)$
+      <a href="$baseurl$api/index.html"><h3>Home</h3></a>
+      <h3>Events</h3>
+      <ul class="nav nav-sidebar sidebar-list">
+        <li><a href="$baseurl$api/event/onChannelMode.html">onChannelMode</a></li>
+        <li><a href="$baseurl$api/event/onChannelNotice.html">onChannelNotice</a></li>
+        <li><a href="$baseurl$api/event/onCommand.html">onCommand</a></li>
+        <li><a href="$baseurl$api/event/onConnect.html">onConnect</a></li>
+        <li><a href="$baseurl$api/event/onInvite.html">onInvite</a></li>
+        <li><a href="$baseurl$api/event/onJoin.html">onJoin</a></li>
+        <li><a href="$baseurl$api/event/onKick.html">onKick</a></li>
+        <li><a href="$baseurl$api/event/onLoad.html">onLoad</a></li>
+        <li><a href="$baseurl$api/event/onMe.html">onMe</a></li>
+        <li><a href="$baseurl$api/event/onMessage.html">onMessage</a></li>
+        <li><a href="$baseurl$api/event/onMode.html">onMode</a></li>
+        <li><a href="$baseurl$api/event/onNames.html">onNames</a></li>
+        <li><a href="$baseurl$api/event/onNick.html">onNick</a></li>
+        <li><a href="$baseurl$api/event/onNotice.html">onNotice</a></li>
+        <li><a href="$baseurl$api/event/onPart.html">onPart</a></li>
+        <li><a href="$baseurl$api/event/onQuery.html">onQuery</a></li>
+        <li><a href="$baseurl$api/event/onQueryCommand.html">onQueryCommand</a></li>
+        <li><a href="$baseurl$api/event/onReload.html">onReload</a></li>
+        <li><a href="$baseurl$api/event/onTopic.html">onTopic</a></li>
+        <li><a href="$baseurl$api/event/onUnload.html">onUnload</a></li>
+        <li><a href="$baseurl$api/event/onWhois.html">onWhois</a></li>
+      </ul>
+      <h3>Modules</h3>
+      <ul class="nav nav-sidebar sidebar-list">
+        <li><a href="$baseurl$api/module/Irccd/index.html">Irccd</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Directory/index.html">Irccd.Directory</a></li>
+        <li><a href="$baseurl$api/module/Irccd.ElapsedTimer/index.html">Irccd.ElapsedTimer</a></li>
+        <li><a href="$baseurl$api/module/Irccd.File/index.html">Irccd.File</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Logger/index.html">Irccd.Logger</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Plugin/index.html">Irccd.Plugin</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Server/index.html">Irccd.Server</a></li>
+        <li><a href="$baseurl$api/module/Irccd.System/index.html">Irccd.System</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Timer/index.html">Irccd.Timer</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Unicode/index.html">Irccd.Unicode</a></li>
+        <li><a href="$baseurl$api/module/Irccd.Util/index.html">Irccd.Util</a></li>
+      </ul>
+$endif$ <!-- endif js -->
+
+    <!-- Side bar for guide -->
+$if(guide)$
+$toc$
+$endif$ <!-- endif guide -->
+    </div><!-- Side bar -->
+
+    <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
+    <!-- Page body for JavaScript -->
+$if(js)$
+    <!-- Page header, may be: event | module | function | method -->
+    <!-- Event -->
+    $if(event)$
+    <h1 class="page-header">Event: $event$</h1>
+    $endif$
+
+    <!-- Module -->
+    $if(module)$
+    <h1 class="page-header">Module: $module$</h1>
+    $endif$
+
+    <!-- Function -->
+    $if(function)$
+    <h1 class="page-header">Function: $function$</h1>
+    $endif$
+
+    <!-- Method -->
+    $if(method)$
+    <h1 class="page-header">Method: $method$</h1>
+    $endif$
+    <!-- End of page header -->
+
+    <div class="table-responsive">
+$summary$
+
+$if(synopsis)$
+        <h2>Synopsis</h2>
+
+        <!-- Javascript function signature -->
+        <pre><code class="javascript">$synopsis$</code></pre>
+$endif$ <!-- endif synopsis -->
+
+        <!-- Arguments -->
+$if(arguments)$
+        <h2>Arguments</h2>
+        <ul>
+$for(arguments)$
+          <li>$arguments$</li>
+$endfor$
+        </ul>
+$endif$ <!-- endif arguments -->
+
+$if(returns)$
+        <h2>Returns</h2>
+        <p>$returns$</p>
+$endif$ <!-- endif returns -->
+
+$body$
+        <!-- !Body -->
+    </div><!-- !table-responsive -->
+$endif$ <!-- endif js -->
+
+    <!-- Page body for guide -->
+$if(guide)$
+    <div class="table-responsive">
+    <!-- Generic header -->
+    $if(header)$
+    <h1 class="page-header">$header$</h1>
+    $endif$
+
+$body$
+    </div><!-- !table-responsive -->
+$endif$ <!-- endif guide -->
+    </div><!-- !column -->
+  </div><!-- !row -->
+  <hr>
+  <footer>
+    <p>&copy; 2013-2016 David Demelier.</p>
+  </footer>
+</div> <!-- !container -->
+
+    <style type="text/css">
+    .sidebar {
+        margin-top: 50px;
+    }
+    </style>
+
+    <!-- Bootstrap core JavaScript
+    ================================================== -->
+    <!-- Placed at the end of the document so the pages load faster -->
+    <script src="$baseurl$/js/jquery.min.js"></script>
+    <script src="$baseurl$/js/bootstrap.min.js"></script>
+    <script src="$baseurl$/js/joke.js"></script>
+    <script src="$baseurl$/js/highlight.js"></script>
+    <script>hljs.initHighlightingOnLoad();</script>
+    <script>jQuery("table").addClass("table");</script>
+  </body>
+</html>
--- a/templates/template.html	Tue Feb 23 15:40:48 2016 +0100
+++ b/templates/template.html	Tue Mar 01 07:31:44 2016 +0100
@@ -15,14 +15,6 @@
     <link href="$baseurl$/css/tomorrow.css" rel="stylesheet">
     <link href="$baseurl$/css/irccd.css" rel="stylesheet">
 
-$if(doc)$
-    <link href="$baseurl$/css/doc.css" rel="stylesheet">
-$endif$
-
-$if(guide)$
-    <link href="$baseurl$/css/doc-guide.css" rel="stylesheet">
-$endif$
-
     <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
     <!--[if lt IE 9]>
       <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
@@ -66,144 +58,14 @@
     </div>
 $endif$ <!-- ! endif home -->
 
-$if(doc)$
-<div class="container-fluid">
-$endif$
-$if(general)$
-<div class="container">
-$endif$
-
-$if(doc)$
-  <div class="row">
-    <!-- Side bar -->
-    <div class="col-sm-1 col-md-2 sidebar">
-    <!-- Side bar for JavaScript -->
-$if(js)$
-      <a href="$baseurl$api/index.html"><h3>Home</h3></a>
-      <h3>Events</h3>
-      <ul class="nav nav-sidebar sidebar-list">
-        <li><a href="$baseurl$api/event/onChannelMode.html">onChannelMode</a></li>
-        <li><a href="$baseurl$api/event/onChannelNotice.html">onChannelNotice</a></li>
-        <li><a href="$baseurl$api/event/onCommand.html">onCommand</a></li>
-        <li><a href="$baseurl$api/event/onConnect.html">onConnect</a></li>
-        <li><a href="$baseurl$api/event/onInvite.html">onInvite</a></li>
-        <li><a href="$baseurl$api/event/onJoin.html">onJoin</a></li>
-        <li><a href="$baseurl$api/event/onKick.html">onKick</a></li>
-        <li><a href="$baseurl$api/event/onLoad.html">onLoad</a></li>
-        <li><a href="$baseurl$api/event/onMe.html">onMe</a></li>
-        <li><a href="$baseurl$api/event/onMessage.html">onMessage</a></li>
-        <li><a href="$baseurl$api/event/onMode.html">onMode</a></li>
-        <li><a href="$baseurl$api/event/onNames.html">onNames</a></li>
-        <li><a href="$baseurl$api/event/onNick.html">onNick</a></li>
-        <li><a href="$baseurl$api/event/onNotice.html">onNotice</a></li>
-        <li><a href="$baseurl$api/event/onPart.html">onPart</a></li>
-        <li><a href="$baseurl$api/event/onQuery.html">onQuery</a></li>
-        <li><a href="$baseurl$api/event/onQueryCommand.html">onQueryCommand</a></li>
-        <li><a href="$baseurl$api/event/onReload.html">onReload</a></li>
-        <li><a href="$baseurl$api/event/onTopic.html">onTopic</a></li>
-        <li><a href="$baseurl$api/event/onUnload.html">onUnload</a></li>
-        <li><a href="$baseurl$api/event/onWhois.html">onWhois</a></li>
-      </ul>
-      <h3>Modules</h3>
-      <ul class="nav nav-sidebar sidebar-list">
-        <li><a href="$baseurl$api/module/Irccd/index.html">Irccd</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Directory/index.html">Irccd.Directory</a></li>
-        <li><a href="$baseurl$api/module/Irccd.ElapsedTimer/index.html">Irccd.ElapsedTimer</a></li>
-        <li><a href="$baseurl$api/module/Irccd.File/index.html">Irccd.File</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Logger/index.html">Irccd.Logger</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Plugin/index.html">Irccd.Plugin</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Server/index.html">Irccd.Server</a></li>
-        <li><a href="$baseurl$api/module/Irccd.System/index.html">Irccd.System</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Timer/index.html">Irccd.Timer</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Unicode/index.html">Irccd.Unicode</a></li>
-        <li><a href="$baseurl$api/module/Irccd.Util/index.html">Irccd.Util</a></li>
-      </ul>
-$endif$ <!-- endif js -->
-
-    <!-- Side bar for guide -->
-$if(guide)$
-$toc$
-$endif$ <!-- endif guide -->
-    </div><!-- Side bar -->
-
-    <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
-    <!-- Page body for JavaScript -->
-$if(js)$
-    <!-- Page header, may be: event | module | function | method -->
-    <!-- Event -->
-    $if(event)$
-    <h1 class="page-header">Event: $event$</h1>
-    $endif$
-
-    <!-- Module -->
-    $if(module)$
-    <h1 class="page-header">Module: $module$</h1>
-    $endif$
-
-    <!-- Function -->
-    $if(function)$
-    <h1 class="page-header">Function: $function$</h1>
-    $endif$
-
-    <!-- Method -->
-    $if(method)$
-    <h1 class="page-header">Method: $method$</h1>
-    $endif$
-    <!-- End of page header -->
-
-    <div class="table-responsive">
-$summary$
-
-$if(synopsis)$
-        <h2>Synopsis</h2>
-
-        <!-- Javascript function signature -->
-        <pre><code class="javascript">$synopsis$</code></pre>
-$endif$ <!-- endif synopsis -->
-
-        <!-- Arguments -->
-$if(arguments)$
-        <h2>Arguments</h2>
-        <ul>
-$for(arguments)$
-          <li>$arguments$</li>
-$endfor$
-        </ul>
-$endif$ <!-- endif arguments -->
-
-$if(returns)$
-        <h2>Returns</h2>
-        <p>$returns$</p>
-$endif$ <!-- endif returns -->
-
+  <div class="container">
 $body$
-        <!-- !Body -->
-    </div><!-- !table-responsive -->
-$endif$ <!-- endif js -->
-
-    <!-- Page body for guide -->
-$if(guide)$
-    <div class="table-responsive">
-    <!-- Generic header -->
-    $if(header)$
-    <h1 class="page-header">$header$</h1>
-    $endif$
-
-$body$
-    </div><!-- !table-responsive -->
-$endif$ <!-- endif guide -->
-    </div><!-- !column -->
-  </div><!-- !row -->
-$endif$
-
-$if(general)$
-$body$
-$endif$ <!-- endif general -->
 
   <hr>
   <footer>
     <p>&copy; 2013-2016 David Demelier.</p>
   </footer>
+  </div><!-- container (body) -->
 </div> <!-- !container -->
 
     <!-- Bootstrap core JavaScript