Documenta*on	
  Insight
                  	
  
           	
  
•  Spring	
  Framework	
  for	
  Delphi	
     	
  
•  DevJET.net	
           	
  
•                                   	
  
Spring	
  Framework	
  for	
  Delphi
Technical	
  Writers
•  Help	
  Authoring	
  
   –  Overview	
  
   –  GeCng	
  started	
  
   –  How	
  to	
  
   –  …	
  
•  API	
  Documenta*on	
  
   –  JavaDoc	
  
   –  XMLDoc	
  
XMLDoc
///	
  <summary>Provides	
  access	
  to	
  informa*on	
  on	
  a	
  drive.</summary>	
  
///	
  <remarks>	
  
///	
  	
  	
  Use	
  the	
  sta*c	
  <see	
  cref=“Spring.U*ls|TDriveInfo.GetDrives“	
  />	
  
///	
  	
  	
  method	
  to	
  retrieve	
  all	
  drives	
  of	
  the	
  computer.	
  
///	
  	
  	
  <note	
  type="caller">	
  
///	
  	
  	
  Caller	
  must	
  use	
  the	
  <see	
  cref="Spring.U*ls|TDriveInfo.IsReady">IsReady</see>	
  
///	
  	
  	
  property	
  to	
  check	
  whether	
  the	
  drive	
  is	
  ready	
  before	
  accessing	
  other	
  members.	
  Otherwise,	
  
///	
  	
  	
  an	
  <see	
  cref="Spring|EIOExcep*on“	
  />	
  excep*on	
  will	
  be	
  raised	
  if	
  
///	
  	
  	
  it	
  is	
  not	
  ready.	
  
///	
  	
  	
  </note>	
  
///	
  </remarks>	
  
TDriveInfo	
  =	
  record	
  
//…	
  
end;	
  
Help	
  Insight
 
•  XML,	
  XPath,	
  XSLT	
  
•  Inline	
  Documenta*on	
  
     –  IDE        	
  
              •           	
  
              •           	
  

       	
  
•                                	
  
•                         	
  
•                                       	
  
•  Documenta*on	
  Insight	
  Demo
Documenta*on	
  Insight
Add-­‐in


Transforma*ons	
  
  XML	
  <-­‐>	
  HTML


  Code	
  Model
Code	
  Model
Code	
  Model
•  Lexer	
  
    –               	
  
    –  Input:	
  Stream	
  
    –  Output:	
  Tokens	
  
•  Parser	
  
    –              	
  
    –                  Abstract	
  Syntax	
  Tree 	
  
    –              Symbols 	
  
    – 
Transforma*ons
•  XML	
  to	
  XHTML	
  
•  XHTML	
  to	
  XML	
  
XSLT
•  Extensible	
  Stylesheet	
  Language	
  
   Transforma*ons	
  

•  Data	
  Presenta*on	
  (Style)	
  
•  Data	
  Transforma*on	
  (Exchange)	
  

•  Rule-­‐Based	
  Programming	
  Language	
  
<?xml	
  version="1.0"	
  encoding="UTF-­‐8"	
  ?>	
  
<xsl:stylesheet	
  version="1.0"	
  xmlns:xsl="hbp://www.w3.org/1999/XSL/Transform">	
  
     <xsl:template	
  match="/">	
  
     	
  	
  	
  	
  <html	
  xmlns="hbp://www.w3.org/TR/xhtml1">	
  
     	
  	
  	
  	
  	
  	
  	
  	
  <head>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <*tle>Documenta*on</*tle>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  </head>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  <body>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <div	
  id="mainSec*on">	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <div	
  id="mainBody">	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  <xsl:call-­‐template	
  name="insertSec*ons"	
  />	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  </div>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  </div>	
  
     	
  	
  	
  	
  	
  	
  	
  	
  </body>	
  
     	
  	
  	
  	
  </html>	
  
     </xsl:template>	
  
</xsl:stylesheet>
Add-­‐in
•  Extending	
  Delphi	
  IDE	
  
   –  Splash	
  Screen	
  
   –  Menus	
  
   –  Hotkeys	
  
   –  No*fica*ons	
  
   –  Installa*on/Uninstalla*on	
  
   –  Dockable	
  Form	
  
WebBrowser	
  Customiza*on
•  designMode	
  vs	
  contentEditable	
  
•  Execute	
  Script	
  
•  External
•    Spring4d      API	
  Documenta*on	
  
•           	
  
•         	
  
     –                                  	
  
     –           API             	
  
•         	
  
     –      Delphi                             	
  
     –  Code	
  Library                               	
  
     –                    	
  
•  Standard	
  
   –  Delphi	
  Documenta*on	
  Guidelines	
  
•  Documenta*on	
  Insight	
  
•  Documenta*on	
  Generator	
  
•  Incorpora*ons	
  	
  
   –  H&M	
  
   –  Embarcadero	
  
•    $10-­‐15	
  
•    $49-­‐69	
  
•    $89-­‐99	
  
•    >$100	
  
•  Hos*ng	
  
   –  Hostmonster	
  
        •  WordPress	
  
•  Sales	
  Plamorm	
  
   –  Share	
  It!	
  
        •  Gross	
  Price/Net	
  Price	
  (VAT)	
  
        •  Margin:	
  4.9%	
  +	
  1	
  USD/EUR	
  per	
  license	
  
        •  Payment	
  cycle	
  
        •  Promo*ons	
  
        •  Refund	
  
•      CnPack                           	
  
•        Open	
  Source	
  Projects	
  
•                              	
  
•        Licenses	
  


•          	
  
•  Google	
  Ads	
  &SEO	
  
•      Express                                  Delphi	
  IDE                	
  
•                            Help	
  &	
  Manual,	
  Doc-­‐O-­‐Ma*c   	
  
•       Delphi                 	
  
•    Visual	
  Studio   	
  
•             	
  
•             	
  
•  V1.0	
  
• 
Q	
  &	
  A



Email/MSN:	
  Baoquan.Zuo@gmail.com	
  
Follow	
  Me:	
  	
  	
  weibo.com/zuobaoquan	
  
Email/MSN:	
  Baoquan.Zuo@gmail.com	
  
Follow	
  Me:	
  	
  	
  weibo.com/zuobaoquan	
  

Documentation Insight技术架构与开发历程

  • 1.
  • 2.
    •  Spring  Framework  for  Delphi     •  DevJET.net     •   
  • 3.
  • 6.
    Technical  Writers •  Help  Authoring   –  Overview   –  GeCng  started   –  How  to   –  …   •  API  Documenta*on   –  JavaDoc   –  XMLDoc  
  • 7.
    XMLDoc ///  <summary>Provides  access  to  informa*on  on  a  drive.</summary>   ///  <remarks>   ///      Use  the  sta*c  <see  cref=“Spring.U*ls|TDriveInfo.GetDrives“  />   ///      method  to  retrieve  all  drives  of  the  computer.   ///      <note  type="caller">   ///      Caller  must  use  the  <see  cref="Spring.U*ls|TDriveInfo.IsReady">IsReady</see>   ///      property  to  check  whether  the  drive  is  ready  before  accessing  other  members.  Otherwise,   ///      an  <see  cref="Spring|EIOExcep*on“  />  excep*on  will  be  raised  if   ///      it  is  not  ready.   ///      </note>   ///  </remarks>   TDriveInfo  =  record   //…   end;  
  • 8.
  • 9.
      •  XML,  XPath,  XSLT   •  Inline  Documenta*on   –  IDE   •    •      •    •    •   
  • 10.
  • 11.
  • 12.
    Add-­‐in Transforma*ons   XML  <-­‐>  HTML Code  Model
  • 13.
  • 14.
    Code  Model •  Lexer   –    –  Input:  Stream   –  Output:  Tokens   •  Parser   –    –  Abstract  Syntax  Tree   –  Symbols   – 
  • 15.
    Transforma*ons •  XML  to  XHTML   •  XHTML  to  XML  
  • 16.
    XSLT •  Extensible  Stylesheet  Language   Transforma*ons   •  Data  Presenta*on  (Style)   •  Data  Transforma*on  (Exchange)   •  Rule-­‐Based  Programming  Language  
  • 17.
    <?xml  version="1.0"  encoding="UTF-­‐8"  ?>   <xsl:stylesheet  version="1.0"  xmlns:xsl="hbp://www.w3.org/1999/XSL/Transform">   <xsl:template  match="/">          <html  xmlns="hbp://www.w3.org/TR/xhtml1">                  <head>                          <*tle>Documenta*on</*tle>                  </head>                  <body>                          <div  id="mainSec*on">                                  <div  id="mainBody">                                          <xsl:call-­‐template  name="insertSec*ons"  />                                  </div>                          </div>                  </body>          </html>   </xsl:template>   </xsl:stylesheet>
  • 18.
    Add-­‐in •  Extending  Delphi  IDE   –  Splash  Screen   –  Menus   –  Hotkeys   –  No*fica*ons   –  Installa*on/Uninstalla*on   –  Dockable  Form  
  • 19.
    WebBrowser  Customiza*on •  designMode  vs  contentEditable   •  Execute  Script   •  External
  • 21.
    •  Spring4d API  Documenta*on   •   
  • 22.
    •    –    –  API   •    –  Delphi   –  Code  Library   –   
  • 23.
    •  Standard   –  Delphi  Documenta*on  Guidelines   •  Documenta*on  Insight   •  Documenta*on  Generator   •  Incorpora*ons     –  H&M   –  Embarcadero  
  • 24.
    •  $10-­‐15   •  $49-­‐69   •  $89-­‐99   •  >$100  
  • 25.
    •  Hos*ng   –  Hostmonster   •  WordPress   •  Sales  Plamorm   –  Share  It!   •  Gross  Price/Net  Price  (VAT)   •  Margin:  4.9%  +  1  USD/EUR  per  license   •  Payment  cycle   •  Promo*ons   •  Refund  
  • 26.
    •  CnPack   •  Open  Source  Projects   •    •  Licenses   •    •  Google  Ads  &SEO   •  Express Delphi  IDE   •  Help  &  Manual,  Doc-­‐O-­‐Ma*c  
  • 27.
    •  Delphi   •  Visual  Studio  
  • 29.
    •    •    •  V1.0   • 
  • 32.
    Q  &  A Email/MSN:  Baoquan.Zuo@gmail.com   Follow  Me:      weibo.com/zuobaoquan  
  • 33.
    Email/MSN:  Baoquan.Zuo@gmail.com   Follow  Me:      weibo.com/zuobaoquan