]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mdhelp: clean up the toc (again) mdhelp: add help doc for the about tab (webui_about...
authorMark Clarkstone <hello@markclarkstone.co.uk>
Thu, 3 Nov 2016 17:24:45 +0000 (17:24 +0000)
committerJaroslav Kysela <perex@perex.cz>
Thu, 10 Nov 2016 13:17:16 +0000 (14:17 +0100)
docs/markdown/doc_about.md [moved from docs/markdown/about.md with 100% similarity]
docs/markdown/dvr.md [deleted file]
docs/markdown/toc.md
docs/markdown/webui_about.md [new file with mode: 0644]
src/access.c
src/webui/static/app/tvheadend.js

diff --git a/docs/markdown/dvr.md b/docs/markdown/dvr.md
deleted file mode 100644 (file)
index 4a0b5ac..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-##Digital Video Recorder
-
-<tvh_include>inc/dvr</tvh_include>
-
-<tvh_class_items>dvrentry</tvh_class_items>
index d08984408aa63ab558ceadfde39a6dc32785ac7d..ad979caf3376c96518924b808dac044d2f62616e 100644 (file)
@@ -6,6 +6,7 @@
 * [Features](features)
 
 Getting Started
+
 * [Before you begin (concepts)](before_begin)
 * [Install hardware](install_hardware)
 * [Install Tvheadend](install_tvheadend)
@@ -26,79 +27,81 @@ Web Interface Guide
   - [Auto-recording (Autorecs)](class/dvrautorec)
   - [Time-based Recording (Timers)](class/dvrtimerec)
 
-Configuration Guide
+* Configuration
 
-* General
+  - General
+    * [Base](class/config)
+    * [Image Cache](class/imagecache)
+    * [SAT>IP Server](class/satip_server)
 
-  - [Base](class/config)
-  - [Image Cache](class/imagecache)
-  - [SAT>IP Server](class/satip_server)
+  - Users
 
-* Access Configuration (Users)
+    * [Access Entries](class/access)
+    * [Passwords](class/passwd)
+    * [IP Address Block List](class/ipblocking)
 
-  - [Access Entries](class/access)
-  - [Passwords](class/passwd)
-  - [IP Address Block List](class/ipblocking)
+  - DVB Inputs
 
-* DVB Inputs
+    * [TV Adapters](tv_adapters)
+    * [Networks](class/mpegts_network)
+    * [Muxes](class/mpegts_mux)
+    * [Services](class/mpegts_service)
+    * [Mux Schedulers](class/mpegts_mux_sched)
 
-  - [TV Adapters](tv_adapters)
-  - [Networks](class/mpegts_network)
-  - [Muxes](class/mpegts_mux)
-  - [Services](class/mpegts_service)
-  - [Mux Schedulers](class/mpegts_mux_sched)
+  - Channel / EPG
 
-* Channel / EPG
+    * [Channels](class/channel)
+    * [Channel Tags](class/channeltag)
+    * [Bouquets](class/bouquet)
+    * [EPG Grabber Channels](class/epggrab_channel)
+    * [EPG Grabber](class/epggrab)
+    * [EPG Grabber Modules](class/epggrab_mod)
+      - [OTA Module](class/epggrab_mod_ota)
+      - [Internal PyEPG](class/epggrab_mod_int_pyepg)
+      - [Internal XMLTV](class/epggrab_mod_int_xmltv)
+      - [External PyEPG](class/epggrab_mod_ext_pyepg)
+      - [External XMLTV](class/epggrab_mod_ext_xmltv)
 
-  - [Channels](class/channel)
-  - [Channel Tags](class/channeltag)
-  - [Bouquets](class/bouquet)
-  - [EPG Grabber Channels](class/epggrab_channel)
-  - [EPG Grabber](class/epggrab)
-  - [EPG Grabber Modules](class/epggrab_mod)
-    - [OTA Module](class/epggrab_mod_ota)
-    - [Internal PyEPG](class/epggrab_mod_int_pyepg)
-    - [Internal XMLTV](class/epggrab_mod_int_xmltv)
-    - [External PyEPG](class/epggrab_mod_ext_pyepg)
-    - [External XMLTV](class/epggrab_mod_ext_xmltv)
+  - Stream
 
-* Stream
+    * Stream Profiles
 
-  - Stream Profiles
-    - [HTSP Profile](class/profile-htsp)
-    - [MPEG-TS Pass-thru Profile](class/profile-mpegts)
-    - [Matroska Profile](class/profile-matroska)
-    - [MPEG-TS/libav Profile](class/profile-libav-mpegts)
-    - [Matroska/libav Profile](class/profile-libav-matroska)
-    - [MP4/libav Profile](class/profile-libav-mp4)
-    - [Transcode Profile](class/profile-transcode)
-  - [Video Stream Filters](class/esfilter_video)
-  - [Audio Stream Filters](class/esfilter_audio)
-  - [Teletext Stream Filters](class/esfilter_teletext)
-  - [Subtitle Stream Filters](class/esfilter_subtit)
-  - [CA Stream Filters](class/esfilter_ca)
-  - [Other Stream Filters](class/esfilter_other)
+      - [HTSP Profile](class/profile-htsp)
+      - [MPEG-TS Pass-thru Profile](class/profile-mpegts)
+      - [Matroska Profile](class/profile-matroska)
+      - [MPEG-TS/libav Profile](class/profile-libav-mpegts)
+      - [Matroska/libav Profile](class/profile-libav-matroska)
+      - [MP4/libav Profile](class/profile-libav-mp4)
+      - [Transcode Profile](class/profile-transcode)
+    * [Video Stream Filters](class/esfilter_video)
+    * [Audio Stream Filters](class/esfilter_audio)
+    * [Teletext Stream Filters](class/esfilter_teletext)
+    * [Subtitle Stream Filters](class/esfilter_subtit)
+    * [CA Stream Filters](class/esfilter_ca)
+    * [Other Stream Filters](class/esfilter_other)
 
-* Recording
+  - Recording
 
-  - [Digital Video Recorder Profiles](class/dvrconfig)
-  - [Timeshift](class/timeshift)
+    * [Digital Video Recorder Profiles](class/dvrconfig)
+    * [Timeshift](class/timeshift)
 
-* Conditional Access (CA)
+  - Conditional Access (CA)
 
-  - [CAPMT (Linux Network DVBAPI)](class/caclient_capmt)
-  - [Code word client (newcamd)](class/caclient_cwc)
-  - [DES constant code word client](class/caclient_ccw_des)
-  - [AES constant code word client](class/caclient_ccw_aes)
+    * [CAPMT (Linux Network DVBAPI)](class/caclient_capmt)
+    * [Code word client (newcamd)](class/caclient_cwc)
+    * [DES constant code word client](class/caclient_ccw_des)
+    * [AES constant code word client](class/caclient_ccw_aes)
 
-* [Debugging](class/tvhlog_conf)
+  - [Debugging](class/tvhlog_conf)
 
-Web Status Tab
+  - Status
 
-* [Stream](status_stream)
-* [Subscriptions](status_subscriptions)
-* [Connections](status_connections)
-* [Server Mapper](status_service_mapper)
+    * [Stream](status_stream)
+    * [Subscriptions](status_subscriptions)
+    * [Connections](status_connections)
+    * [Server Mapper](status_service_mapper)
+    
+  - [About](webui_about)
 
 Appendices
 
@@ -108,4 +111,4 @@ Appendices
   - [Appendix 4 - Updating this documentation](doc_update)
   - [Appendix 5 - Markdown Cribsheet](markdown_cribsheet)
 
-[About](about)
+[About](doc_about)
diff --git a/docs/markdown/webui_about.md b/docs/markdown/webui_about.md
new file mode 100644 (file)
index 0000000..79a6208
--- /dev/null
@@ -0,0 +1,8 @@
+##About
+
+This page displays general information about the current Tvheadend 
+version.
+
+The build arguments/options used during compilation can be seen by 
+clicking the _Toggle details_ link (only visible to users with admin 
+rights). 
index ae89e0192b46d4fec105eefbe5506d7b2cd972b7..e59af8563ef39ab516efa891def2bd92d09428ef 100644 (file)
@@ -1372,7 +1372,7 @@ PROP_DOC(streaming_profile)
 
 const idclass_t access_entry_class = {
   .ic_class      = "access",
-  .ic_caption    = N_("Access Configuration - Access Entries"),
+  .ic_caption    = N_("Users - Access Entries"),
   .ic_event      = "access",
   .ic_perm_def   = ACCESS_ADMIN,
   .ic_doc        = tvh_doc_access_entry_class,
@@ -1816,7 +1816,7 @@ CLASS_DOC(passwd)
 
 const idclass_t passwd_entry_class = {
   .ic_class      = "passwd",
-  .ic_caption    = N_("Access Configuration - Passwords"),
+  .ic_caption    = N_("Users - Passwords"),
   .ic_event      = "passwd",
   .ic_perm_def   = ACCESS_ADMIN,
   .ic_doc        = tvh_doc_passwd_class,
@@ -1969,7 +1969,7 @@ CLASS_DOC(ipblocking)
 
 const idclass_t ipblock_entry_class = {
   .ic_class      = "ipblocking",
-  .ic_caption    = N_("Access Configuration - IP Blocking"),
+  .ic_caption    = N_("Users - IP Blocking"),
   .ic_event      = "ipblocking",
   .ic_perm_def   = ACCESS_ADMIN,
   .ic_doc        = tvh_doc_ipblocking_class,
index 6b352a6abd4a34b9a9fc6078c806f7b257257690..73e4510a2af4733463909c935a28a31f14f23521 100644 (file)
@@ -236,12 +236,37 @@ tvheadend.mdhelp = function(pagename) {
     var helpfailuremsg = function() { 
         Ext.MessageBox.show({
             title:_('Error'),
-            msg: _('There was a problem displaying the help page!') + '<br>' + 
-                 _('This usually means there is no help available or the document couldn\'t be loaded.'),
+            msg: _('There was a problem displaying the Help!') + '<br>' + 
+                 _('Please check Tvheadend is running and try again.'), 
             buttons: Ext.Msg.OK,
             icon: Ext.MessageBox.ERROR,
         });
     }
+    
+    var helppagefail = function() { 
+        title = _('Not Available');
+        msg = _('There is no documentation associated with the Help button pressed, or there was an problem loading the page.\n\n') + 
+              _('Please take a look at the other Help pages (Table of Contents). If you still can\'t find what you\'re ') + 
+              _('looking for please see the [Wiki](http://tvheadend.org/projects/tvheadend/wiki) ') + 
+              _('or join the [IRC channel on freenode](https://kiwiirc.com/client/chat.freenode.net/?nick=tvhhelp|?#hts).');
+              
+        // Fake the result.
+        result = [];
+        result['responseText'] = "## " + title + '\n\n' + msg;
+        
+        // Load the TOC.
+        if (!tvheadend.docs_toc) {
+            Ext.Ajax.request({
+                url: 'markdown/toc',
+                success: function(result_toc) {
+                    tvheadend.docs_toc = parse(result_toc.responseText);
+                    fcn(result);
+                },
+                failure: helpfailuremsg,
+            });
+        }
+        fcn(result);
+    }
 
     Ext.Ajax.request({
         url: 'markdown/' + pagename,
@@ -259,7 +284,7 @@ tvheadend.mdhelp = function(pagename) {
                 fcn(result);
             }
         },
-        failure: helpfailuremsg,
+        failure: helppagefail,
     });
 };