@@ -44,10 +44,8 @@ class PageItem {
4444 }
4545
4646 prepareData ( ) {
47- let pageURL = this . siteConfig . domain + '/' + this . page . slug + '.html' ;
4847 let preparedText = ContentHelper . prepareContent ( this . page . id , this . page . text , this . siteConfig . domain , this . themeConfig , this . renderer , this . metaData . editor ) ;
4948 let preparedExcerpt = ContentHelper . prepareExcerpt ( this . themeConfig . config . excerptLength , preparedText ) ;
50- preparedExcerpt = ContentHelper . setInternalLinks ( preparedExcerpt , this . renderer ) ;
5149 let hasCustomExcerpt = false ;
5250 let readmoreMatches = preparedText . match ( / \< h r \s + i d = [ " ' ] { 1 } r e a d - m o r e [ " ' ] { 1 } [ \s \S ] * ?\/ ? \> / gmi) ;
5351
@@ -63,36 +61,11 @@ class PageItem {
6361 }
6462 }
6563
66- if ( this . siteConfig . advanced . urls . cleanUrls ) {
67- let parentItems = this . renderer . cachedItems . pagesStructureHierarchy [ this . page . id ] ;
68- let pageSlug = this . page . slug ;
69-
70- if ( this . renderer . siteConfig . advanced . urls . cleanUrls && parentItems && parentItems . length ) {
71- let slugs = [ ] ;
72-
73- for ( let i = 0 ; i < parentItems . length ; i ++ ) {
74- if ( this . renderer . cachedItems . pages [ parentItems [ i ] ] ) {
75- slugs . push ( this . renderer . cachedItems . pages [ parentItems [ i ] ] . slug ) ;
76- }
77- }
78-
79- slugs . push ( this . page . slug ) ;
80- pageSlug = slugs . join ( '/' ) ;
81- }
82-
83- pageURL = this . siteConfig . domain + '/' + pageSlug + '/' ;
84-
85- if ( this . renderer . previewMode || this . renderer . siteConfig . advanced . urls . addIndex ) {
86- pageURL += 'index.html' ;
87- }
88- }
89-
9064 this . pageData = {
9165 id : this . page . id ,
9266 title : this . page . title ,
9367 author : this . renderer . cachedItems . authors [ this . page . authors ] ,
9468 slug : this . page . slug ,
95- url : pageURL ,
9669 text : preparedText ,
9770 excerpt : preparedExcerpt ,
9871 createdAt : this . page . created_at ,
@@ -106,14 +79,6 @@ class PageItem {
10679 subpages : this . subpages
10780 } ;
10881
109- if ( this . siteConfig . advanced . usePageAsFrontpage && this . siteConfig . advanced . pageAsFrontpage === this . page . id ) {
110- this . pageData . url = this . siteConfig . domain + '/' ;
111-
112- if ( this . renderer . previewMode || this . renderer . siteConfig . advanced . urls . addIndex ) {
113- this . pageData . url += 'index.html' ;
114- }
115- }
116-
11782 if ( this . pageData . template === '*' ) {
11883 this . pageData . template = this . themeConfig . defaultTemplates . page ;
11984 }
@@ -147,7 +112,47 @@ class PageItem {
147112
148113 setInternalLinks ( ) {
149114 let pageText = this . renderer . cachedItems . pages [ this . pageID ] . text ;
115+ let pageExcerpt = this . renderer . cachedItems . pages [ this . pageID ] . excerpt ;
150116 this . renderer . cachedItems . pages [ this . pageID ] . text = ContentHelper . setInternalLinks ( pageText , this . renderer ) ;
117+ this . renderer . cachedItems . pages [ this . pageID ] . excerpt = ContentHelper . setInternalLinks ( pageExcerpt , this . renderer ) ;
118+ }
119+
120+ setHierarchyLinks ( ) {
121+ let pageURL = this . siteConfig . domain + '/' + this . page . slug + '.html' ;
122+
123+ if ( this . siteConfig . advanced . urls . cleanUrls ) {
124+ let parentItems = this . renderer . cachedItems . pagesStructureHierarchy [ this . page . id ] ;
125+ let pageSlug = this . page . slug ;
126+
127+ if ( this . renderer . siteConfig . advanced . urls . cleanUrls && parentItems && parentItems . length ) {
128+ let slugs = [ ] ;
129+
130+ for ( let i = 0 ; i < parentItems . length ; i ++ ) {
131+ if ( this . renderer . cachedItems . pages [ parentItems [ i ] ] ) {
132+ slugs . push ( this . renderer . cachedItems . pages [ parentItems [ i ] ] . slug ) ;
133+ }
134+ }
135+
136+ slugs . push ( this . page . slug ) ;
137+ pageSlug = slugs . join ( '/' ) ;
138+ }
139+
140+ pageURL = this . siteConfig . domain + '/' + pageSlug + '/' ;
141+
142+ if ( this . renderer . previewMode || this . renderer . siteConfig . advanced . urls . addIndex ) {
143+ pageURL += 'index.html' ;
144+ }
145+ }
146+
147+ if ( this . siteConfig . advanced . usePageAsFrontpage && this . siteConfig . advanced . pageAsFrontpage === this . page . id ) {
148+ pageURL = this . siteConfig . domain + '/' ;
149+
150+ if ( this . renderer . previewMode || this . renderer . siteConfig . advanced . urls . addIndex ) {
151+ pageURL += 'index.html' ;
152+ }
153+ }
154+
155+ this . renderer . cachedItems . pages [ this . pageID ] . url = pageURL ;
151156 }
152157
153158 setPageViewConfig ( config ) {
0 commit comments