// Copyright 2016 The Hugo Authors. All rights reserved.//// Licensed under the Apache License, Version 2.0 (the "License");// you may not use this file except in compliance with the License.// You may obtain a copy of the License at// http://www.apache.org/licenses/LICENSE-2.0//// Unless required by applicable law or agreed to in writing, software// distributed under the License is distributed on an "AS IS" BASIS,// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.// See the License for the specific language governing permissions and// limitations under the License.packagehugolibimport("bytes""errors""fmt""reflect""github.com/mitchellh/mapstructure""github.com/spf13/hugo/helpers""github.com/spf13/hugo/parser""html/template""io""net/url""path""path/filepath""regexp""strings""sync""time""unicode/utf8""github.com/spf13/cast"bp"github.com/spf13/hugo/bufferpool""github.com/spf13/hugo/hugofs""github.com/spf13/hugo/source""github.com/spf13/hugo/tpl"jww"github.com/spf13/jwalterweatherman""github.com/spf13/viper")var(cjk=regexp.MustCompile(`\p{Han}|\p{Hangul}|\p{Hiragana}|\p{Katakana}`))typePagestruct{Paramsmap[string]interface{}Contenttemplate.HTMLSummarytemplate.HTMLAliases[]stringStatusstringImages[]ImageVideos[]VideoTableOfContentstemplate.HTMLTruncatedboolDraftboolPublishDatetime.TimeExpiryDatetime.TimeMarkupstringtranslationsPagesextensionstringcontentTypestringlangstringlanguage*LanguagerenderableboolLayoutstringlayoutsCalculated[]stringlinkTitlestringfrontmatter[]byterawContent[]bytecontentShortCodesmap[string]string// TODO(bep) this shouldn't be needed.shortcodesmap[string]shortcodeplainstring// TODO should be []byteplainWords[]stringplainInitsync.OncerenderingConfig*helpers.BlackfridayrenderingConfigInitsync.OncepageMenusPageMenuspageMenusInitsync.OnceisCJKLanguageboolPageMetaSourcePosition`json:"-"`Noderenderedbool}typeSourcestruct{