Loading lib/jsduck/members.rb +25 −1 Original line number Diff line number Diff line Loading @@ -60,10 +60,34 @@ module JsDuck :cls => "#{cls.full_name}", :member => m[:name], :type => m[:tagname], :doc => m[:doc] :doc => expandable_desc(m[:doc]) } end def expandable_desc(p_doc) tagless = first_sentence(strip_tags(strip_links(p_doc))) if tagless.length > 120 short_doc = tagless[0..116] ellipsis = tagless.length > short_doc.length ? "..." : "" "#{short_doc}#{ellipsis}" else tagless end end def strip_tags(str) str.gsub(/<.*?>/, "") end def strip_links(str) str = str.gsub(/\{@link +(\S*?)(?: +(.+?))?\}/, "\\1") str = str.gsub(/#/, ".") end def first_sentence(str) r = str.sub(/^(.+?\.)\s.*$/m, "\\1") end end end template/resources/docs.js +4 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,10 @@ DocPanel = Ext.extend(Ext.Panel, { MainPanel = function(){ this.searchStore = new Ext.data.Store({ sortInfo: { field: 'member', direction: 'ASC' }, reader: new Ext.data.JsonReader({ root: 'data', fields: ['cls', 'member', 'type', 'doc'] Loading Loading
lib/jsduck/members.rb +25 −1 Original line number Diff line number Diff line Loading @@ -60,10 +60,34 @@ module JsDuck :cls => "#{cls.full_name}", :member => m[:name], :type => m[:tagname], :doc => m[:doc] :doc => expandable_desc(m[:doc]) } end def expandable_desc(p_doc) tagless = first_sentence(strip_tags(strip_links(p_doc))) if tagless.length > 120 short_doc = tagless[0..116] ellipsis = tagless.length > short_doc.length ? "..." : "" "#{short_doc}#{ellipsis}" else tagless end end def strip_tags(str) str.gsub(/<.*?>/, "") end def strip_links(str) str = str.gsub(/\{@link +(\S*?)(?: +(.+?))?\}/, "\\1") str = str.gsub(/#/, ".") end def first_sentence(str) r = str.sub(/^(.+?\.)\s.*$/m, "\\1") end end end
template/resources/docs.js +4 −0 Original line number Diff line number Diff line Loading @@ -226,6 +226,10 @@ DocPanel = Ext.extend(Ext.Panel, { MainPanel = function(){ this.searchStore = new Ext.data.Store({ sortInfo: { field: 'member', direction: 'ASC' }, reader: new Ext.data.JsonReader({ root: 'data', fields: ['cls', 'member', 'type', 'doc'] Loading