xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8e3fa3a97f827118ce051b3899e2091164b89bef

commit 8e3fa3a97f827118ce051b3899e2091164b89bef
Author: Xavi Artigas <xavierarti...@yahoo.es>
Date:   Tue Apr 23 10:51:56 2019 +0200

    mono-docs: Use full name in list of derived classes
    
    In the EFL API we have several objects with the same name in different 
namespaces.
    Thus it is important to use fully-qualified names throughout the docs, to 
avoid
    confusion.
    However, the default DocFX templates prefer using only simple class names.
    The default templates have already been modified to use full names 
everywhere
    except in the list of derived classes in the hierarchy section, where a 
DocFX
    bug was hit.
    This commit is a workaround to that bug (see
    https://github.com/dotnet/docfx/issues/3769#issuecomment-485616064 )
    so full names (with links) are used in the whole hierarchy.
---
 doc/docfx/default_efl/partials/class.header.tmpl.partial |  2 +-
 doc/docfx/gendoc.sh                                      | 14 ++++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/doc/docfx/default_efl/partials/class.header.tmpl.partial 
b/doc/docfx/default_efl/partials/class.header.tmpl.partial
index 1a445ab3ca..3bdf956fc1 100644
--- a/doc/docfx/default_efl/partials/class.header.tmpl.partial
+++ b/doc/docfx/default_efl/partials/class.header.tmpl.partial
@@ -12,7 +12,7 @@
   {{/inheritance}}
   <div class="level{{level}}"><span 
class="xref"><b>{{fullName.0.value}}</b></span></div>
   {{#derivedClasses}}
-    <div class="level{{index}}">{{{specName.0.value}}}</div>
+    <div class="level{{index}}"><xref uid="{{uid}}" 
text="{{fullName.0.value}}"/></div>
   {{/derivedClasses}}
   </div>
 </div>
diff --git a/doc/docfx/gendoc.sh b/doc/docfx/gendoc.sh
index 99da2d9f18..48d781cd81 100755
--- a/doc/docfx/gendoc.sh
+++ b/doc/docfx/gendoc.sh
@@ -22,5 +22,19 @@ for f in `ls api/*.yml`; do
   sed -e 's/\(<xref href=\\"[^\\]*\)\\"/\1?displayProperty=fullName\\"/g' -i $f
 done;
 
+# Add missing references to derived classes, so they can be rendered with
+# their full name.
+# https://github.com/dotnet/docfx/issues/3769#issuecomment-485616064
+for f in `grep -l derivedClasses api/*.yml`; do
+  sed "1,/^  derivedClasses:$/d" $f > /tmp/efl_docfx_gendoc
+  sed -i "/^  [^-]/,$ d" /tmp/efl_docfx_gendoc
+  sed -i "/^[^ ]/,$ d" /tmp/efl_docfx_gendoc
+  while read dash class
+  do
+    sed -i "s/^references:$/references:\n- uid: $class\n  fullName: $class/g" 
$f
+  done <<< "$(cat /tmp/efl_docfx_gendoc)"
+done;
+rm -rf /tmp/efl_docfx_gendoc
+
 # DocFX Step 2: Generate HTML files
 mono bin/docfx.exe build docfx.json && echo "Docs ready in the _site folder!"

-- 


Reply via email to