{{- extends "layout/default" }} {{- import "blocks/novelnav" }} {{- import "blocks/comments" }} {{- block body() }} {{ fontType := .FontType }} {{ viewMode := .ViewMode }} {{- if .Novel.SeriesNavData }} {{- end }}

{{ .Novel.Title }}

{{- if .Novel.SeriesNavData }}

{{- .Novel.SeriesNavData.Title }} #{{- .Novel.SeriesNavData.Order}}

{{- end}}

{{ .Novel.WordCount }} word(s) · {{ floor: .Novel.ReadingTime / 60 }} mins

{{ raw: .Novel.Description }}

{{- if .Novel.AiType == 2 }} AI-generated {{- end }} {{- range .Novel.Tags.Tags }} {* NOTE: early block to catch the R-18 tag *} {{- if isEmphasize(.Name) }} {{ .Name }} {{- end }} {{- end }} {{- if .Novel.IsOriginal }} Original {{- end }} {{- if .Novel.Genre != "0" }} {{ novelGenre: .Novel.Genre }} {{- end }} {{- range .Novel.Tags.Tags }} {{- if isEmphasize(.Name) }} {* Intentionally empty to not render anything to avoid duplication *} {{- else }} {{- end }} {{- end }}
{{- .Novel.Views }}
{{- .Novel.Bookmarks }}
{{- .Novel.Likes }}
{{- parseTime: .Novel.CreateDate }}
{{- if .Novel.SeriesNavData }}

{{- .Novel.SeriesNavData.Title }}

{* NOTE: formatting for the i18n crawler *} {{ seriesWorks := len(.NovelSeriesContentTitles) }} {{- if seriesWorks == 1 }} {{ seriesWorks }} work in this series {{- else }} {{ seriesWorks }} works in this series {{- end }}


{{- end }}

{{ .Novel.Title }}

{{ .User.Name }}

{{ .Novel.WordCount }} word(s) · {{ floor: .Novel.ReadingTime / 60 }} mins

{{- raw: renderNovel(.Novel.Content) }}>
{{- if .Novel.SeriesNavData }}

{{- .Novel.SeriesNavData.Title }}

{* NOTE: formatting for the i18n crawler *} {{ seriesWorks := len(.NovelSeriesContentTitles) }} {{- if seriesWorks == 1 }} {{ seriesWorks }} work in this series {{- else }} {{ seriesWorks }} works in this series {{- end }}


{{- end }}
{{- range .Novel.UserNovels }} {* TODO: figure out how to make the affordance here visible on small devices, where the element uses overflow-scroll Reducing col-12 causes the novel thumbnails to become too small, and hacking in a width larger than than the viewport causes each time to have excess spacing if there isn't much content (few tags, short titles, etc) Setting a larger col width for the thumbnail at low breakpoints in fragments/novel-tn might work, but creates possibility of unintended breakage elsewhere in the frontend Duplicating fragments/novel-tn and customising it just for this purpose could also work. but an entirely different approach might be better at that point (e.g. using a modal) *}
{{- include "fragments/novel-tn" . }}

{{- end }}
{{- yield Comments(data=.Novel, contentType="novel") }}
{{- if len(.NovelRelated) > 0 }}

Related works

{{- range .NovelRelated }}
{{- include "fragments/novel-tn" . }}

{{- end }}
{{- end }}
{{- end }}