# Hugo\_stats.json is missing some classes when there is somewhere an apostrophe in string

**URL:** https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849
**Category:** support
**Created:** [May 12, 2021, 6:02pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849 "2021-05-12T18:02:07Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 6:02pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/1 "2021-05-12T18:02:07Z")

</div>

In the direct link of [this issue](https://discourse.gohugo.io/t/template-file-being-ignored-by-writestats/26447/7) (bug now closed), I again have some `<i>` classes not writen in `hugo_stats.json`.

For example, I have a `range` over 6 items. And 3 on the 6 classes are not written.  
I can’t see any obvious pattern or possible cause like the referring issue.

I’m also pretty sure it is on my side, but after battling for hours, I find nothing.

Any light / tip ?

OK in `hugo_stats.json`:

- `<i class="tf-ion-wifi"></i>`
- & a lot of other `<i>`class (see full json below).

Missing from `hugo_stats.json` in this loop.:

- `<i class="tf-ion-earth"></i>`
- `<i class="tf-ion-images"></i>`
- `<i class="tf-ion-home"></i>`

### HTML Produced (from homepage)

```html
                    <!-- Single Feature Item -->
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="service-block color-bg text-center">
                            <div class="service-icon text-center">
                                <i class="tf-ion-earth"></i>
                            </div>
                            <h3>Des produits naturels</h3>
                            <p>De l&rsquo;eau exceptionnelement pure en direct du glacier, produits locaux naturels. Nous utilisons exclusivement des produits nettoyants écologiques.</p>
                        </div>
                    </div>
                    <!-- End Single Feature Item -->
                
                    <!-- Single Feature Item -->
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="service-block color-bg text-center">
                            <div class="service-icon text-center">
                                <i class="tf-ion-wifi"></i>
                            </div>
                            <h3>Internet Wifi gratuit</h3>
                            <p>Un réseau Internet Wifi gratuit <em>(étendu et rénové en 2021)</em> est disponible sur la quasi totalité du terrain de camping.</p>
                        </div>
                    </div>
                    <!-- End Single Feature Item -->
                
                    <!-- Single Feature Item -->
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="service-block color-bg text-center">
                            <div class="service-icon text-center">
                                <i class="tf-ion-images"></i>
                            </div>
                            <h3>Des promenades magiques</h3>
                            <p>De nombreuses randonnées se font au départ d&rsquo;Arolla. Tous les goûts et tous les niveaux !</p>
                        </div>
                    </div>
                    <!-- End Single Feature Item -->
                
                    <!-- Single Feature Item -->
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="service-block color-bg text-center">
                            <div class="service-icon text-center">
                                <i class="tf-ion-home"></i>
                            </div>
                            <h3>Des cabanes proches</h3>
                            <p>Une expérience unique. Six cabanes (refuges) sont directement accessibles depuis Arolla. Ces cabanes sont aussi une belle randonnée à la journée.</p>
                        </div>
                    </div>
                    <!-- End Single Feature Item -->

```

### hugo code

```auto
{{ $data := index site.Data site.Language.Lang }}
{{ with $data.feature }}
    {{ if .enable }}
    {{ "<!-- Feature Section Start -->" | safeHTML }}
    <section class="services section-xs" id="services">
        <div class="container">
            <div class="row">
                {{ range .item }}
                    {{ "<!-- Single Feature Item -->" | safeHTML }}
                    <div class="col-md-4 col-sm-6 col-xs-12">
                        <div class="service-block color-bg text-center">
                            <div class="service-icon text-center">
                                <i class="{{ .icon }}"></i>
                            </div>
                            <h3>{{ .title }}</h3>
                            <p>{{ .description | markdownify }}</p>
                        </div>
                    </div>
                    {{ "<!-- End Single Feature Item -->" | safeHTML }}
                {{ end }}
            </div>
        </div>
    </section>
    {{ "<!-- End Feature section -->" | safeHTML }}
    {{ end }}
{{ end }}

```

### hugo\_stats.json

> **Summary**
>
> {  
> “htmlElements”: {  
> “tags”: [  
> “”,  
> “a”,  
> “article”,  
> “audio”,  
> “body”,  
> “br”,  
> “button”,  
> “div”,  
> “em”,  
> “footer”,  
> “form”,  
> “h1”,  
> “h2”,  
> “h3”,  
> “h4”,  
> “h5”,  
> “h6”,  
> “head”,  
> “hr”,  
> “html”,  
> “i”,  
> “iframe”,  
> “img”,  
> “input”,  
> “label”,  
> “li”,  
> “link”,  
> “meta”,  
> “nav”,  
> “ol”,  
> “p”,  
> “script”,  
> “section”,  
> “small”,  
> “source”,  
> “span”,  
> “strong”,  
> “style”,  
> “table”,  
> “tbody”,  
> “td”,  
> “textarea”,  
> “thead”,  
> “title”,  
> “tr”,  
> “ul”  
> ],  
> “classes”: [  
> “MsgBoxBootstrap”,  
> “TF-ion-map”,  
> “about”,  
> “about-2”,  
> “about-mission-vision”,  
> “about-section”,  
> “active”,  
> “activemenu”,  
> “address-block”,  
> “alert”,  
> “alert-danger”,  
> “alert-info”,  
> “alert-success”,  
> “align-items-center”,  
> “align-self-center”,  
> “animated”,  
> “animaux”,  
> “arolla”,  
> “bg-gray”,  
> “bg-one”,  
> “bg-pricing-camping”,  
> “bg-pricing-cocoon”,  
> “bg-pricing-loc”,  
> “block”,  
> “blog”,  
> “blog-single”,  
> “border”,  
> “breadcrumb”,  
> “breadcrumb-item”,  
> “btn”,  
> “btn-main”,  
> “btn-main-access”,  
> “btn-main-inactif”,  
> “btn-main-sm”,  
> “btn-transparent”,  
> “cabanes”,  
> “camping”,  
> “caption”,  
> “checkbox”,  
> “checkbox-inline”,  
> “clearfix”,  
> “click-to-tel”,  
> “client-details”,  
> “client-meta”,  
> “client-thumb”,  
> “close”,  
> “close-text”,  
> “cocoon”,  
> “col”,  
> “col-12”,  
> “col-5”,  
> “col-6”,  
> “col-7”,  
> “col-form-label-lg”,  
> “col-form-label-sm”,  
> “col-lg-12”,  
> “col-lg-3”,  
> “col-lg-4”,  
> “col-lg-6”,  
> “col-md-12”,  
> “col-md-3”,  
> “col-md-4”,  
> “col-md-5”,  
> “col-md-6”,  
> “col-md-7”,  
> “col-md-8”,  
> “col-sm-12”,  
> “col-sm-3”,  
> “col-sm-6”,  
> “col-xs-12”,  
> “collapse”,  
> “commonTab”,  
> “contact-form”,  
> “contact-meta-block”,  
> “contact-section”,  
> “contact-text”,  
> “contact-us”,  
> “container”,  
> “container-fluid”,  
> “content”,  
> “count”,  
> “crise”,  
> “d-block”,  
> “d-flex”,  
> “disabled”,  
> “embed-responsive”,  
> “embed-responsive-16by9”,  
> “embed-responsive-item”,  
> “fade”,  
> “fadeInUp”,  
> “flagnoselect”,  
> “flagselect”,  
> “float-right”,  
> “footer-bottom”,  
> “form-control”,  
> “form-group”,  
> “form-pricing”,  
> “header”,  
> “hidden”,  
> “img-fluid”,  
> “img-thumbnail”,  
> “item”,  
> “justify-content-center”,  
> “kas\_online\_reception”,  
> “lachotte”,  
> “lazy”,  
> “list-inline”,  
> “list-inline-item”,  
> “map”,  
> “map-responsive”,  
> “mb-0”,  
> “mb-1”,  
> “mb-5”,  
> “mb-50”,  
> “mix”,  
> “ml-2”,  
> “ml-auto”,  
> “montagne”,  
> “mr-2”,  
> “mr-auto”,  
> “mt-0”,  
> “mt-20”,  
> “mt-50”,  
> “mx-auto”,  
> “nav”,  
> “nav-item”,  
> “nav-link”,  
> “nav-tabs”,  
> “navbar”,  
> “navbar-brand”,  
> “navbar-collapse”,  
> “navbar-expand-md”,  
> “navbar-nav”,  
> “navbar-toggler”,  
> “navigation”,  
> “newseason”,  
> “next”,  
> “no-js”,  
> “nouveautes”,  
> “offset-md-1”,  
> “p-0”,  
> “p-1”,  
> “padding-0”,  
> “page-404”,  
> “page-item”,  
> “page-link”,  
> “pagination”,  
> “phone-block”,  
> “plane”,  
> “portfolio”,  
> “portfolio-block”,  
> “portfolio-filter”,  
> “portfolio-items-wrapper”,  
> “post-content”,  
> “post-img”,  
> “post-item”,  
> “post-meta”,  
> “post-thumb”,  
> “post-title”,  
> “preloader”,  
> “press”,  
> “press-list”,  
> “prev”,  
> “price-title”,  
> “pricing-item”,  
> “pricing-table”,  
> “rando”,  
> “rounded”,  
> “row”,  
> “sanitaires”,  
> “search-icon”,  
> “section”,  
> “section-sm”,  
> “seo-hack”,  
> “service-2”,  
> “service-item”,  
> “service-list”,  
> “shadow”,  
> “show”,  
> “single-page-header”,  
> “sk-child”,  
> “sk-circle1”,  
> “sk-circle10”,  
> “sk-circle11”,  
> “sk-circle12”,  
> “sk-circle2”,  
> “sk-circle3”,  
> “sk-circle4”,  
> “sk-circle5”,  
> “sk-circle6”,  
> “sk-circle7”,  
> “sk-circle8”,  
> “sk-circle9”,  
> “social-icon”,  
> “social-icons-block”,  
> “subtitle”,  
> “subtitle-des”,  
> “tab-content”,  
> “tab-pane”,  
> “testimonial”,  
> “testimonial-slider”,  
> “text-center”,  
> “text-right”,  
> “tf-genius”,  
> “tf-gift2”,  
> “tf-ion-”,  
> “tf-ion-android-”,  
> “tf-ion-android-arrow-dropleft”,  
> “tf-ion-android-arrow-dropright”,  
> “tf-ion-android-bicycle”,  
> “tf-ion-android-bus”,  
> “tf-ion-android-calendar”,  
> “tf-ion-android-car”,  
> “tf-ion-android-checkmark-circle”,  
> “tf-ion-android-cloud-circle”,  
> “tf-ion-android-contact”,  
> “tf-ion-android-contacts”,  
> “tf-ion-android-home”,  
> “tf-ion-android-image”,  
> “tf-ion-android-menu”,  
> “tf-ion-android-open”,  
> “tf-ion-android-people”,  
> “tf-ion-android-pin”,  
> “tf-ion-android-plane”,  
> “tf-ion-android-sunny”,  
> “tf-ion-android-train”,  
> “tf-ion-android-walk”,  
> “tf-ion-arrow-graph-down-right”,  
> “tf-ion-at”,  
> “tf-ion-beer”,  
> “tf-ion-bonfire”,  
> “tf-ion-bowtie”,  
> “tf-ion-card”,  
> “tf-ion-cash”,  
> “tf-ion-coffee”,  
> “tf-ion-fork”,  
> “tf-ion-heart”,  
> “tf-ion-icecream”,  
> “tf-ion-information-circled”,  
> “tf-ion-ios-alarm-outline”,  
> “tf-ion-ios-analytics-outline”,  
> “tf-ion-ios-at”,  
> “tf-ion-ios-calendar-outline”,  
> “tf-ion-ios-contact”,  
> “tf-ion-ios-home-outline”,  
> “tf-ion-ios-information-outline”,  
> “tf-ion-ios-paw”,  
> “tf-ion-ios-photos-outline”,  
> “tf-ion-ios-search-strong”,  
> “tf-ion-ios-snowy”,  
> “tf-ion-ios-stopwatch-outline”,  
> “tf-ion-ios-telephone”,  
> “tf-ion-ios-videocam-outline”,  
> “tf-ion-iphone”,  
> “tf-ion-knife”,  
> “tf-ion-map”,  
> “tf-ion-outlet”,  
> “tf-ion-pizza”,  
> “tf-ion-power”,  
> “tf-ion-quote”,  
> “tf-ion-social-euro”,  
> “tf-ion-social-facebook”,  
> “tf-ion-social-instagram”,  
> “tf-ion-social-twitter”,  
> “tf-ion-spoon”,  
> “tf-ion-thermometer”,  
> “tf-ion-thumbsup”,  
> “tf-ion-trophy”,  
> “tf-ion-waterdrop”,  
> “tf-ion-wifi”,  
> “tf-ion-wineglass”,  
> “tf-tools”,  
> “tf-tools-2”,  
> “tf-trophy6”,  
> “tf-wallet”,  
> “title”,  
> “toast”,  
> “toast-body”,  
> “toast-header”,  
> “top-bar”,  
> “top-footer”,  
> “value”,  
> “vintage”,  
> “w-100”,  
> “widget”,  
> “wow”  
> ],  
> “ids”: [  
> “CalculTarifs”,  
> “about”,  
> “administration-et-suppression-des-cookies”,  
> “aerial-videos-of-camping-arolla”,  
> “aiguilles”,  
> “aiguilles-tab”,  
> “amber”,  
> “amber-1”,  
> “amber-2”,  
> “amber-3”,  
> “amber-4”,  
> “amber-5”,  
> “amber-6”,  
> “amber-7”,  
> “amber-8”,  
> “amber-9”,  
> “amber-and-cyril”,  
> “ambre”,  
> “ambre-1”,  
> “ambre-2”,  
> “ambre-3”,  
> “ambre-4”,  
> “ambre-5”,  
> “ambre-6”,  
> “ambre-7”,  
> “ambre-8”,  
> “ambre-9”,  
> “ambre-et-cyril”,  
> “and-today-what-inspires-you-arolla-the-val-dhérens-in-general”,  
> “and-what-advice-would-you-give-to-a-visitor-wishing-to-discover-the-val-dhérens”,  
> “audio”,  
> “avec-cette-riche-activité-avez-vous-du-temps-pour-vos-loisirs-vos-passions–quels-sont-ils-”,  
> “bertol”,  
> “bertol-tab”,  
> “blog”,  
> “body”,  
> “bookingcom-guest-review-awards-2018”,  
> “bouquetins”,  
> “bouquetins-tab”,  
> “cette-année-nous-fêtons-les-50-ans-du-camping-arolla-créé-en-1969”,  
> “consentement-à-lutilisation-de-cookies”,  
> “contact”,  
> “contact-form”,  
> “contact-small”,  
> “contact-submit”,  
> “cookies-de-performance”,  
> “cookies-de-statistiques–marketing–tiers–à-base-de-consentement”,  
> “cookies-fonctionnels”,  
> “cookies-strictement-nécessaires”,  
> “cyril”,  
> “cyril-1”,  
> “cyril-2”,  
> “cyril-3”,  
> “cyril-4”,  
> “cyril-5”,  
> “cyril-6”,  
> “cyril-7”,  
> “cyril-8”,  
> “cyril-9”,  
> “date”,  
> “des-vidéos-aériennes-du-camping-arolla”,  
> “dit-jaar-vieren-we-de-50e-verjaardag-van-de-arolla-camping-opgericht-in-1969”,  
> “divers-liens”,  
> “dix”,  
> “dix-tab”,  
> “email”,  
> “en-vous-installant-dans-ce-lieu-quel-était-votre-ressenti-de-départ–choc-culturel-ou-easy-life-”,  
> “et-aujourdhui-que-vous-inspire-arolla–le-val-dhérens-en-général-”,  
> “et-quels-conseils-donneriez-vous-à-un-visiteur-souhaitant-découvrir-le-val-dhérens-”,  
> “faisons-connaissance-avec-”,  
> “footer”,  
> “inNbreAdulte”,  
> “inNbreBigCampingcar”,  
> “inNbreBigCaravan”,  
> “inNbreBigTent”,  
> “inNbreDog”,  
> “inNbreElectricity”,  
> “inNbreEnfant”,  
> “inNbreJours”,  
> “inNbreMandatoryTrashTax”,  
> “inNbreMidTent”,  
> “inNbreMoto”,  
> “inNbreSmallCampingcar”,  
> “inNbreSmallCaravan”,  
> “inNbreSmallTent”,  
> “inNbreVan”,  
> “inNbreVoiture”,  
> “interview-de-cyril-et-ambre-gérant-du-camping-darolla-et-lhôtel-bar-de-la-gouille”,  
> “interview-with-cyril-and-ambre-managers-of-camping-darolla-and-hotel-bar-de-la-gouille”,  
> “language-www”,  
> “le-concert-au-camping”,  
> “le-concert-au-pigne-darolla”,  
> “lets-get-to-know-”,  
> “luchtvideos-van-camping-arolla”,  
> “merci-à-vanupié-pour-ces-deux-concerts-juste-magiques”,  
> “message”,  
> “meteoblue”,  
> “myForm”,  
> “myTab”,  
> “myTabContent”,  
> “name”,  
> “navbarSupportedContent”,  
> “nbnuit”,  
> “one-last-word”,  
> “otherwise-lets-talk-about-val-dherens-what-are-your-highlights-in-the-valley-what-would-you-like-to-share”,  
> “ou-vivez-vous-aujourdhui-et-que-faites-vous-depuis-combien-de-temps-”,  
> “page-www”,  
> “parlez-moi-un-peu-de-votre-activité-professionnelle–le-camping-la-pension-du-lac-bleu”,  
> “photos-vintage”,  
> “portfolio”,  
> “preloader”,  
> “press”,  
> “pricing”,  
> “pricing2”,  
> “prixTotal”,  
> “que-sont-les-cookies”,  
> “quelles-sont-vos-perspectives-davenir-à-arolla–des-envies-des-projets-”,  
> “quest-ce-qui-vous-a-amené-dans-le-val-dhérens-à-arolla-”,  
> “quote”,  
> “rechaud”,  
> “service”,  
> “sinon-parlons-val-dhérens-quels-sont-vos-immanquables-dans-la-vallée-quaimeriez-vous-partager-”,  
> “source-www”,  
> “source-www-location”,  
> “source-www-page”,  
> “subject”,  
> “submit”,  
> “tell-me-a-bit-about-your-professional-activity-the-campsite-the-lac-bleu-pension”,  
> “tent-medium”,  
> “tent-small”,  
> “testimonial”,  
> “this-year-we-are-celebrating-the-50th-anniversary-of-the-arolla-campsite-created-in-1969”,  
> “toppage”,  
> “tsa”,  
> “tsa-tab”,  
> “type-www”,  
> “un-dernier-mot”,  
> “une-nouvelle-webcam-est-installée-au-camping”,  
> “vaisselle2p”,  
> “vaisselle4p”,  
> “various-links”,  
> “vignettes”,  
> “vignettes-tab”,  
> “vintage-fotos”,  
> “vintage-pictures”,  
> “what-are-your-prospects-for-the-future-at-arolla-desires-projects-”,  
> “what-brought-you-to-the-val-dhérens-in-arolla”,  
> “when-you-moved-to-this-place-what-was-your-initial-feeling-culture-shock-or-easy-life”,  
> “where-do-you-live-today-and-what-have-you-been-doing-for-how-long”,  
> “with-this-rich-activity-do-you-have-time-for-your-leisure-your-passions-what-are-they-”  
> ]  
> }  
> }

---

<div class="post-metadata">

### Author: ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)
#### Post date: [May 12, 2021, 6:20pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/2 "2021-05-12T18:20:19Z")

</div>

> [@divinerites](#):
>

Why do you close the i twice?

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 6:23pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/3 "2021-05-12T18:23:56Z")

</div>

Mmmmmmm … Isn’t the correct syntax ?  
I have a opening `<i>` and a closing `</i>`.

Not sure to understand. Will check.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 6:26pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/4 "2021-05-12T18:26:52Z")

</div>

I see, it is a typo in my message. But the code is OK.

Message edited.

---

<div class="post-metadata">

### Author: ![jmooring](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/jmooring/32/4214_2.png) [@jmooring](https://discourse.gohugo.io/u/jmooring)
#### Post date: [May 12, 2021, 6:59pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/5 "2021-05-12T18:59:23Z")

</div>

This appears to be a multilingual site. If true, are there any `feature.item` differences between `data/fr.json` and `data/en.json` (or whatever language and formats are in use)?

Also, what happens when you run `hugo --path-warnings`?

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 7:06pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/6 "2021-05-12T19:06:14Z")

</div>

- No difference I can see. 3 language fr/en/nl. 6 items in each json.
- A lot of warnings, but this is a known bug/problem (can’t find the issue right now).

[EDIT] : This issue : [resources.PostProcess causes --path-warnings to falsely report duplicate content · Issue #7735 · gohugoio/hugo · GitHub](https://github.com/gohugoio/hugo/issues/7735)

But this site is working flawlessly since ages. Just see this problem because I want to activate Bep’s tailwind purgecss.  
This site is working if I whitelist the 3 missing classes in `tailwind.config.js`

I invite you to the repo.

> **data/fr/feature.yml**
>
> enable : true  
> item :
> 
> - icon : tf-ion-waterdrop  
> title : Sanitaires et douche  
> description : \>  
> Douche chaude 1 CHF (4 min). Eviers vaisselle avec eau chaude, wc et lavabos.
> 
> - icon : tf-ion-coffee  
> title : Epicerie de produits locaux  
> description : \>  
> Boissons chaudes et épicerie de produits locaux et bios.
> 
> - icon : tf-ion-earth  
> title : Des produits naturels  
> description : \>  
> De l’eau exceptionnelement pure en direct du glacier, produits locaux naturels. Nous utilisons exclusivement des produits nettoyants écologiques.
> 
> - icon : tf-ion-wifi  
> title : Internet Wifi gratuit  
> description : \>  
> Un réseau Internet Wifi gratuit _(étendu et rénové en 2021)_ est disponible sur la quasi totalité du terrain de camping.
> 
> - icon : tf-ion-images  
> title : Des promenades magiques  
> description : \>  
> De nombreuses randonnées se font au départ d’Arolla. Tous les goûts et tous les niveaux !
> 
> - icon : tf-ion-home  
> title : Des cabanes proches  
> description : \>  
> Une expérience unique. Six cabanes (refuges) sont directement accessibles depuis Arolla. Ces cabanes sont aussi une belle randonnée à la journée.

> **data/en/feature.yml**
>
> enable: true  
> item:
> 
> - icon: tf-ion-waterdrop  
> title: Sanitary and shower  
> description:  
> Hot shower 1 CHF (4 min). Dish sink with hot water, wc and washbasin.
> 
> - icon: tf-ion-coffee  
> title: Grocery of local products  
> description:  
> Hot drinks and groceries of local and organic products.
> 
> - icon: tf-ion-earth  
> title: Natural products  
> description:  
> Exceptionally pure water live from the glacier, natural local products. We use only environmentally friendly cleaning products.
> 
> - icon: tf-ion-wifi  
> title: Free Wifi Internet  
> description:  
> Free Wi-Fi network _(extended & renovated in 2021)_ is available on almost the entire campsite.
> 
> - icon: tf-ion-images  
> title: Magic walks  
> description:  
> Many hikes are from Arolla. All tastes and all levels!
> 
> - icon: tf-ion-home  
> title: Nearby huts  
> description:  
> A unique experience. Six mountin huts (shelters) are directly accessible from Arolla. These huts also make a nice target for a day’s walk.

> **data/nl/feature.yml**
>
> enable : true  
> item :
> 
> - icon : tf-ion-waterdrop  
> title : Sanitair en douche  
> description : \>  
> Warme douche 1 CHF (4 min). Wasbakken en wastafels met warm water en toiletten.
> 
> - icon : tf-ion-coffee  
> title : Verkoop van lokale producten  
> description : \>  
> Warme dranken, lokale en biologische producten.
> 
> - icon : tf-ion-earth  
> title : Natuurlijke producten  
> description : \>  
> Uitzonderlijk zuiver water van de gletsjer, natuurlijke lokale producten. We gebruiken alleen milieuvriendelijke schoonmaakproducten.
> 
> - icon : tf-ion-wifi  
> title : Gratis wifi internet  
> description : \>  
> Een gratis Wi-Fi internetnetwerk _(uitgebreid en gerenoveerd in 2021)_ is beschikbaar op bijna de hele camping.
> 
> - icon : tf-ion-images  
> title : Magische wandelingen  
> description : \>  
> Vanuit Arolla zÿn er veel wandelingen te maken op elle niveau!
> 
> - icon : tf-ion-home  
> title : Hutten in de buurt  
> description : \>  
> Een unieke ervaring. Zes hutten (schuilplaatsen) zijn direct toegankelijk vanuit Arolla. Deze hutten zijn ook een leuke bestemming voor een dagwandeling.

> **WARN**
>
> WARN 2021/05/12 21:02:29 Duplicate target paths: /Users/myhome/Documents/Git/camping-navigator.com/public/404.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/contactez-nous/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/booking\_award\_2018/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/camping\_50/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/concert\_vanupie/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/interview/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/nouveautes-2020/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/nouvelle\_webcam/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/page/2/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/page/3/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/dernieres-nouveautes/video\_drone/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/404.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/contact-us/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/faq/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/highres/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/hiking/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/booking\_award\_2018/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/camping\_50/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/interview/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/new-season-2020/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/new\_webcam/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/page/2/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/page/3/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/vanupied\_gig/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/latest-news/video\_drone/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/legal/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/pictures/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/press/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/rates/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/en/services/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/faq/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/highres/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/legal/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/404.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/contact/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/diensten/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/faq/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/fotos/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/highres/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/booking\_award\_2018/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/camping\_50/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/interview/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/new\_webcam/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/niews-2020/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/page/2/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/page/3/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/vanupied\_gig/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/laatste-niews/video\_drone/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/legal/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/pers/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/tarieven/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/nl/wandelen/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/photos/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/presse/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/randonnees/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/services/index.html (2), /Users/myhome/Documents/Git/camping-navigator.com/public/tarifs/index.html (2)

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 7:51pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/7 "2021-05-12T19:51:17Z")

</div>

I can see an explanation for the difference between the 6 icons.

- The ones writen in `hugo_stats.json` **are used in an other part** , the FAQ partial.  
So may be this explains why there are difference in this range.

The working code is below, but I can’t see any obvious difference.

May be a small difference on the faq =\> it is a slice of icons : For example `- icon: [tf-ion-wifi]`

```auto
{{ $data := index site.Data site.Language.Lang }}
{{ with $data.faq }}
    {{ if .enable }}

{{ "<!-- Start Payments Section -->" | safeHTML }}
<section class="about-2 section bg-gray" id="about">
    <div class="container">

    {{ range .content }}
        {{ range . }}
            {{ range . }}
                <div class="row">
                    <div class="col-12 col-md-5">
                        {{ with .icon }}<i class="{{ . }}"></i>{{ end }}
                        {{ with .title }}<h2>{{ . }}</h2>{{ end }}
                    </div>
                    <div class="col-12 col-md-7">
                        {{ range .item }}
                            <div class="block contact-section">
                                {{ range .icon }}<i class="{{.}}"></i> {{ end }}
                                {{ with .title }}<h3>{{.}}</h3>{{ end }}
                                <ul>
                                    {{ range .list }}
                                    <li>{{ .name | markdownify | emojify }}</li>
                                    {{ end }}
                                </ul>
                            </div>
                        {{ end }}
                    </div>
                </div>
            {{ end }}
        {{ end }}
    {{ end }}

    </div>
</section>
{{ "<!-- End pyments section -->" | safeHTML }}
{{ end }}

{{ end }}

```

---

<div class="post-metadata">

### Author: ![chrillek](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/chrillek/32/19797_2.png) [@chrillek](https://discourse.gohugo.io/u/chrillek)
#### Post date: [May 12, 2021, 8:31pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/8 "2021-05-12T20:31:02Z")

</div>

The `i` elements in your initial post are empty. I suppose that empty elements might not be considered save-worthy.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 8:34pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/9 "2021-05-12T20:34:06Z")

</div>

Thanks for the help.

But **all** my icons are made the same way (`<i class="whatever"></i>`).  
Only those 6 are forgotten by WriteStat.

---

<div class="post-metadata">

### Author: ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)
#### Post date: [May 12, 2021, 9:40pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/10 "2021-05-12T21:40:49Z")

</div>

I tested your HTML in the parser that “does this”, and all the i classes are preserved there, so this a little bit of a mystery.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 12, 2021, 9:44pm UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/11 "2021-05-12T21:44:12Z")

</div>

Do you mean, that my _final generated_ HTML, thru the parser, preserve **all** the i classes ??

That’s weird.  
I doubled checked by removing the json. Restarting hugo regenerate the same classes.

This is a full Agatha Christie mystery.

[EDIT] The only difference I can see is you do not test the full index.html.  
So here is the [full `index.html`](https://www.camping-arolla.com) if it can help for diagnostic.

PS : Note that the given site works because I whitelist the problematic classes in `tailwind.config.js` as a workaround for production.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 7:43am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/12 "2021-05-13T07:43:11Z")

</div>

> [@divinerites](#):
>
> The ones writen in `hugo_stats.json` **are used in an other part** , the FAQ partial.  
> So may be this explains why there are difference in this range.

I can confirm.

If I remove the other reference to those 6 icons is `feature.yml`, then **none** of the 6 icons are writen in the `hugo_stat.json`.  
All the others icons are well taken care of.

So this is really related to the surroundings/context of the `feature.html` calling `feature.yml`.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 8:14am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/13 "2021-05-13T08:14:52Z")

</div>

A - I added those 2 lines in both/either the 2 partials. And run `hugo`

```auto
<i class="tf-ion-bug"></i>
<i class="tf-ion-earth"></i>

```

- Classes well writen in the json for `faq.html`.
- Classes not writen in the json for `feature.html`

B - But an other weirdo, If i run `hugo server`, and add the 2 lines in the one with problem (`feature.html`) I can see that the 2 classes are added in the json.

Then I run `hugo` (not server) and the 2 classes disapears.

Those 2 partials are just call normally (no cache) and only once each in.

Only difference is :

- working partial called from a `layout/faq/list.html`
- problem partial is called for my main `index.html`

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 8:27am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/14 "2021-05-13T08:27:03Z")

</div>

> [@divinerites](#):
>
> Only difference is :

Ahhhhhhhhhh !!! I think I found something usefull (not for me but for diagnostic).

Call partial `feature.html`:

- from main `/index.html` =\> Do not work (classes not written)
- from `layout/faq/list.html` =\> It works (classes written in the json)

And the second :

Call partial `faq.html`:

- from main `/index.html` =\> Do not work (classes not written)
- from `layout/faq/list.html` =\> It works (classes written in the json)

So my conclusion is : The problem occurs when my partials with those icons/styles are called from main `index.html`, and works OK if called from my section template.

Could explain the weird and different behaviour for different people ?

[EDIT] I opened an issue : [Hugo\_stats.json is missing some classes when there is somewhere an apostrophe in string · Issue #8530 · gohugoio/hugo · GitHub](https://github.com/gohugoio/hugo/issues/8530)

---

<div class="post-metadata">

### Author: ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)
#### Post date: [May 13, 2021, 9:10am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/15 "2021-05-13T09:10:18Z")

</div>

> [@divinerites](#):
>
> Do you mean, that my _final generated_ HTML, thru the parser, preserve **all** the i classes ??

Assuming the HTML you posted above is … final.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 9:12am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/16 "2021-05-13T09:12:36Z")

</div>

I (think) see your point.  
But to my knowledge there is no js stuff manipulating the DOM after the page load.

---

<div class="post-metadata">

### Author: ![bep](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/bep/32/3332_2.png) [@bep](https://discourse.gohugo.io/u/bep)
#### Post date: [May 13, 2021, 9:36am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/17 "2021-05-13T09:36:37Z")

</div>

> [@divinerites](#):
>
> But to my knowledge there is no js stuff manipulating the DOM after the page load.

No, that’s not related. I have no real idea; it looks funky, I would hope that there is some bad HTML markup in there somewhere that’s not visible in your examples, but I think _someone_ would need to see the actual site to do better “guesswork”.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 9:44am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/18 "2021-05-13T09:44:48Z")

</div>

I narrow again the problem. I miss interpreted. It is not index.html vs layout/list.html.

It is I have a partial code just before my problem. Removing this partial makes the bug disapear.  
I gave the detail in GitHub.

I invite you as i’ve done for jmooring.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 10:11am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/19 "2021-05-13T10:11:44Z")

</div>

OK. Narrowing to one line responsible for making wasting time to all of you (but still no sensible explanation for me).

Removing the comment line `{{ "<!-- Hero Area Image d'accueil -->" | safeHTML }}` in this `hero.html` partial solves the bug.

Just that. Weird.

---

<div class="post-metadata">

### Author: ![divinerites](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.gohugo.io/divinerites/32/12625_2.png) [@divinerites](https://discourse.gohugo.io/u/divinerites)
#### Post date: [May 13, 2021, 10:13am UTC](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849/20 "2021-05-13T10:13:36Z")

</div>

I. GET. IT !

Removing the `'` in the comment solves the bug.

[Next page](https://discourse.gohugo.io/t/hugo-stats-json-is-missing-some-classes-when-there-is-somewhere-an-apostrophe-in-string/32849.md?page=2)
