{%- if theme.firestore.enable %} (function() { const db = firebase.firestore(); const articles = db.collection('{{ theme.firestore.collection }}'); if (CONFIG.page.isPost) { // Fix issue #118 // https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent const title = document.querySelector('.post-title').textContent.trim(); const doc = articles.doc(title); let increaseCount = CONFIG.hostname === location.hostname; if (localStorage.getItem(title)) { increaseCount = false; } else { // Mark as visited localStorage.setItem(title, true); } getCount(doc, increaseCount).then(appendCountTo(document.querySelector('.firestore-visitors-count'))); } else if (CONFIG.page.isHome) { const promises = [...document.querySelectorAll('.post-title')].map(element => { const title = element.textContent.trim(); const doc = articles.doc(title); return getCount(doc); }); Promise.all(promises).then(counts => { const metas = document.querySelectorAll('.firestore-visitors-count'); counts.forEach((val, idx) => { appendCountTo(metas[idx])(val); }); }); } })(); {%- endif %}