Fonts 如何为GitHub页面驱动的站点实现基本页面视图计数器?

Fonts 如何为GitHub页面驱动的站点实现基本页面视图计数器?,fonts,jekyll,github-pages,webfonts,hitcounter,Fonts,Jekyll,Github Pages,Webfonts,Hitcounter,我想使用GitHub页面主持一个Jekyll博客。 我已经购买了一个许可证,每月最多可显示50000次页面浏览量的web字体。 为了不违反这个协议,我需要实现某种机制来统计页面浏览量,这样每当我达到50000页面浏览量时,我就可以采取行动 我脑子里有一些相当复杂的想法。 一方面,我在考虑执行一个对AWS Lambda函数的调用,该函数计算每个页面视图的数量,如果页面视图过多,则采取行动。 另一方面,我了解到MyFonts、Linotype和其他字体商店使用一种称为“随用随付”的许可模式提供一些w

我想使用GitHub页面主持一个Jekyll博客。 我已经购买了一个许可证,每月最多可显示50000次页面浏览量的web字体。 为了不违反这个协议,我需要实现某种机制来统计页面浏览量,这样每当我达到50000页面浏览量时,我就可以采取行动

我脑子里有一些相当复杂的想法。 一方面,我在考虑执行一个对AWS Lambda函数的调用,该函数计算每个页面视图的数量,如果页面视图过多,则采取行动。 另一方面,我了解到MyFonts、Linotype和其他字体商店使用一种称为“随用随付”的许可模式提供一些web字体,在这种情况下,他们确实要求客户使用他们提供的页面查看计数器,以便在达到某个配额时,他们可以连续收费。 他们的客户通过链接到各自字体商店托管的唯一CSS文件,将这些页面浏览计数器添加到他们的网站

然而,由于我可能不是唯一一个必须处理这个问题的人,我想知道其他人是如何解决这个问题的。 我的想法似乎有点过头了,因为它实际上只是一个页面浏览计数器


有没有更简单的方法?通常是怎么做的?

您有不同的选择:

1。使用他们的计数器
使用他们的(铸造厂类型)CSS文件(他们计算点击次数)是最简单的解决方案。这不是一个很好的方法,因为它需要一个外部请求,但肯定是最简单的方法。请注意,过度活跃的广告拦截器可能会阻止这些跨域请求,从而导致使用默认字体的页面中断

2。外部计数器
如果你想让你的字体总是被加载,你应该把所有的东西都放在本地(CSS和字体),并使用一个外部计数器(比如Google Analytics)。但是,此计数器也可以(并且将)被阻止。您的字体将加载,但计数器将不太准确

3。AWS Lambda或日志分析器
如果需要更精确的计数器,可以使用本地Lambda函数,也可以将Jekyll网站的输出放在带有AWstats(日志分析器)的共享webhosting帐户上。这是迄今为止最好的解决办法。您的字体将始终加载,并且计数器非常准确

4。使用不同的许可证

一个不太合乎逻辑的解决方案是不使用此类许可证。从谷歌(Google)买一种好看的开源字体,自己托管。您可以使用下载字体。到目前为止,这是我最喜欢的解决方案。

另一个想法可能是使用CloudFlare Worker来管理站点,并使用Worker KV来跟踪页面视图。或者,如果你想更进一步,那也可能是你的终点


但假设这些供应商只计算未缓存的请求,您可以将工作计数器放在字体文件的路径上,以跟踪这些文件命中服务器的频率。然后,如果您与供应商匹配相同的缓存控制策略,则应设置相同的测量系统。

许多GitHub命中计数器需要服务器或数据库。但是有一个GitHub操作使用GitHub API。它每天更新,不需要任何服务器或数据库。它会自动将更改保存到存储库中。转到模板

有一个免费的API可以与Javascript一起使用。我戴着它,它就像一只手套

基本上,您创建一个键(名称空间),并且该路由的每个post都递增1。然后您可以恢复此计数以显示


感谢您的回复。很明显,我是自己托管字体的。我的问题是如何方便地计算页面浏览量。这必须是可能的,即使是GitHub页面,否则字体商店无法提供“随用随付”服务。此外,如果不可能,没有人不能在GitHub页面上使用商业字体——我对此表示怀疑。