首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一杯茶时间,上手 Gatsby 搭建个人博客

为什么用 GraphQL 在上一节介绍了选择 Gatsby 原因,其中提到了 Gatsby 使用 GraphQL 。大家可能会有疑惑,不是建静态博客么,怎么会有 GraphQL?...在 Gatsby ,根据 js 文件位置不同,使用 GraphQL 有两种形式,且 Gatsby 对其做了魔法,在 src/pages 下页面可以直接 export GraphQL 查询,在其它页面需要用...创建页面到我们前面的查询[25],得到需要数据之后只需要对每个页面调用 actions.createPage 即可。...通过实现自定义路径基本上可以了解 Gatsby 页面生成方式了。下节我会继续谈谈其它个性化配置,如草稿模式和显示上下篇博文。 草稿模式 草稿模式即可以文章保存为草稿不被渲染出来。...这是[27]我例子。 通过实现这几个功能我们了解了 Gatsby 页面生成方式以及其 Node APIs 基本使用

3.2K20

Gatsby 创建一个博客

添加必要插件 Gatsby 支持使用丰富插件,很多非常有用插件都是为了完成普通任务编写。...因为博客大部分内容都使用 Markdown 格式,让我们添加 gatsby-source-filesystem,与我们之前步骤类似,我们安装插件,然后将其注入到我 gatsby-config.js...我们不能期望用户猜测每个帖子路径,我们需要有一个索引或列表页面来展示每个博客文章,简短介绍,以及一个完整博客文章链接。...注意,我们正在提取一个稍微不同数据集,具体来说,我们提取250个字符摘要,不是完整HTML,同时我们还在用格式字符串格式化拖拽日期!GraphQL是很优雅。...添加一个 tag 列表和 tag 查询页 提示: gatsby-node.js 文件 createPages API 在这里很有用,还有之前 frontmatter 在特定博客文章之间添加导航(

2.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

博客用不着什么JavaScript框架

如果浏览器需要解析 296kb JavaScript 代码才能显示出博客文章列表,这就不是什么"渐进增强”,而是用错了工具。...这篇文章并不是要批判 Gatsby 。它背后有一些聪明头脑,他们已经承认了本文中提到许多问题,并试图解决它们。...我挑选了一些不需要添加客户端 JavaScript 也能添加功能插件: 在帖子显示代码段时,通常会包含特定于语言语法高亮显示。...Eleventry 还有一些让我感到困惑事情:我有一阵子一直搞不懂它分页功能,认为它只是帖子分页到指定大小一些组,之后才意识到它可以动态生成全新页面;我还发现自己在同一文件混用了模板语言:...我并不是推荐大家都删除自己网站上所有 JavaScript 文件,但从现在开始,在构建网站时我会尝试 JavaScript 视为可选额外功能,不是体验基本组成部分。我鼓励你也这样做。

4.1K10

2018 年前端开发五大趋势

让我们举个具体列子。想象一下,你需要在正在构建社交网络框架显示帖子列表,以及用户喜好(点赞、收藏等)。在实现方面,这个例子很简单,你只需从下一个数据库端点发出请求。...这就是GraphQL用武之地,使用GraphQL不是使用单独端点来访问每个资源。你可以使用单个端点,该端点能够同时处理涉及多个数据源复杂查询。...Gatsby 如果你预算比较紧张,但是同时又希望在你项目中只使用高级技术,那么你一定要尝试 GatsbyGatsby 是 Kyle Matthews 为静态网站创建构建新型解决方案。...因此,你可以获得自动更新和即时页面转换等优势。从1.0版本开始,Gatsby 使用了上面提到 GraphQL。...现在,让我们从枯燥特征列表转移到真正问题,看看 Gatsby 是否适合你。 Web 开发者使用现成引擎并不总是那么容易。

2.9K40

如何利用机器学习和Gatsby.js创建假新闻网站​

目录 Gatsby.js设置 配置 页面布局 机器学习设置与谷歌Colab 假文章代 Google Drive API 编程式页面生成 部署 改进领域 如果您想要更深入地了解这个项目,或者想要添加到代码...基本上,Gatsby.js帮你创建一个有完整骨架网站,你可以调整和重新配置,不是从头开始构建整个东西。...其他插件不太重要,就不介绍了。 gatsby-node.js 此文件用于实现api。这些api可以使用GraphQL从数据层获取数据。在处理程序化页面生成时,我们更深入地研究这个文件内容。...我们可以使用名为Gatsby -source-drive插件文件直接导入到Gatsby本地文件系统。这需要在谷歌api设置一个服务帐户。...编程式页面生成 我们已经使用谷歌Colab生成了文章,并且使用gatsby-source-drive插件文件直接归档到我本地文件系统。现在我们需要使用markdown文件以编程方式生成网页。

4.5K60

Gatsby还是Next.js,微言码道官网折腾事记

Hexo -- 灵活性欠缺 没有使用hexo开源博客系列原因在于,hexo是一个专注于博客产品,它灵活性非常欠缺,而我对微言码道构思,远不止博客一个内容,还包括电子书,myddd开源项目,视频及音频多种形式...但考虑到WordPress是一个基于PHP及MySQL产品,其产品形态过重,微言码道东西,虽然内容是动态更新,但以静态页面来展现会更轻,更快,更好。...但在使用getStaticProps生成静态页面的开发过程,每次都会重新请求与处理,这个非常影响体验,导致开发下速度非常慢。难以接受。...但问题是tailwind css全是原子化css,没有成套组件,这意味着诸如弹出框,进度条等可能要自己写或网上找第三方,这非常不方便。MUI则有一整套组件可供使用。...所以,在尝试与权衡后,决定仍然使用Gatsby+MUI搭配。 永不停止折腾 当然,微言码道官网不会就折腾到此为止。对它折腾仍然是永不停止。 而我最迫切想折腾其实是UI。

2.2K30

Web渲染那些事儿

(译注:也就是“页面静态化”) static-rendering-tti.png 静态渲染解决方案选择很多,像 Gatsby 这样工具旨在让开发人员感觉他们应用程序是动态渲染不是构建过程生成...(译注:简单说静态渲染不依赖客户端JS,适用于静态页面预渲染则依赖JS,更多是为了富应用初始界面加速) 如果不确定选择静态渲染还是预渲染方案,请尝试此测试:禁用JavaScript并加载创建网页...所有逻辑、数据获取、模板和路由都在客户端处理,不是服务器上。 客户端渲染很难在移动端做到很快。...页面请求交由服务器处理,应用程序渲染为 HTML,然后把用于渲染 JavaScript 和数据,嵌入到生成文档。...使用这种方法,服务器渲染后页面各部分,随着时间推移被“启动”,不是通常一次初始化整个应用程序做法。

1.8K30

进击JAMStack

因此用最通俗易懂的话来描述JAMStack就是:使用JavaScript,APIs和Markdown三种技术来构建Web应用。所以JAMStack是一种问题解决方案,不是一个具体实现。...博客网站包含以下功能: 博客列表页面:展示我发表所有博客。(静态内容) 博客详情页面:展示每一篇博客具体内容。(静态内容) 博客评论列表:游客评论博客以及展示游客对这篇博客评论列表。...例如现在pages底下有两个路由,404路由对应着是没找到资源页面index路由则是博客主页面。...这类应用内容除了频繁更新之外,还有就是动态内容多于静态内容,例如用户主页只会展示他关注的人发表动态,所以也不适合使用JAMStack。 一些不需要SEO应用。...可是使用了JAMStack或者说是Gatsby后这些问题就迎刃而解了,因为我可以继续使用我熟悉React技术栈来快速开发Web应用,还无需考虑服务端渲染问题就可以达到SEO效果,这不是美滋滋?

2.8K30

WordPress缓存插件WP Fastest Cache插件使用教程

这也更新 blogrolls(即在您主页或博客页面上)以显示新帖子。 更新帖子: 启用- 在更新帖子页面时清除缓存文件。...虽然浏览器需要在您第一次访问站点时下载这些文件,但在后续访问时加载页面会更快,因为浏览器可以使用其本地缓存文件,不是从您服务器下载它们。...选择 URI 类型(无论是主页还是以特定 URL 开头)并选择删除该区域缓存频率。我们转到“排除”选项卡。这里第一个选项是从缓存中排除某些页面。...一个CDN使您网站通过举办它在全国和世界各地多台服务器,不是1个原始服务器,减少服务器和观众之间地理距离更快。...接下来也可以在 Cloudflare 仪表板添加页面规则,设置完成后转到Cloudflare 缓存设置并清除单个文件。

6.4K30

Taro 小程序开发大型实战(二):多页面跳转和 Taro UI 组件库

这一篇完成后 DEMO 如下: 具体有三个页面主页:展示了所有帖子,以及添加帖子按钮。 帖子详情:展示单个帖子全部内容。 个人主页:展示当前用户个人信息。...Github[2] 上,如果您觉得我们写得还不错,希望您能给 ❤️ 这篇文章点个在看+Github 仓库加星 ❤️ 哦~ 来一打页面 在这一步,我们开始实现项目的其他页面,包括: 帖子详情 post...:进入单篇帖子详情页面 mine:显示当前用户个人信息(在后面的步骤中将实现登录注册哦) 其中,帖子详情页面中将复用前面编写 PostCard 组件。...为了方便管理,我们需要引入一个新 prop(isList),用于判断此组件是显示在首页列表,还是在帖子详情页面。...在 PostCard 添加跳转逻辑 我们首先在 PostCard 组件添加跳转逻辑,使得它被点击后进入该帖子详情页面

2.7K20

静态站点生成器:makesite.py

注意:在某些环境,您可能需要使用python不是python3来调用Python 3.x. 如果您只有Python 2.7,请输入以下命令: ?...这是由于这个项目中一个示例博客有一些用Markdown编写帖子。 要正确渲染它们,请使用以下命令安装commonmark软件包: ? 然后再次尝试上一步。...注意:在某些环境,您可能需要使用python不是python3来调用Python 3.x. 如果你只有python,输入这个命令: ? _site目录包含整个生成网站。...layout/item.html:它包含博客列表页面每个博客文章项目的模板。 make_list()函数使用此模板呈现每个博客文章项目,并将它们插入到列表布局模板以创建博客列表页面。...加载完所有布局模板后,它会调用render()以帖子布局模板与页面布局模板组合起来,以形成最终独立帖子模板。 同样,它将列表布局模板模板与页面布局模板组合在一起以形成最终列表模板。

2K30

Airbnb 引入 HTTP Streaming,网页性能升级

他们测试每个页面(包括主页首次内容绘制(First Contentful Paint,FCP)时间降低了大约 100 毫秒。他们还最小化了后端慢查询对加载时间影响。...Airbnb 一直在尝试进行可能改进,以便尽可能快地向网站用户呈现内容。他们发现,只在完全渲染后才发送页面主体并不能提供最佳用户体验,特别是当页面主体内容依赖后端查询时。...HTML 页面头部标签。...尽管尽早冲刷并不是什么新技术,但也并没有被广泛使用,因为它需要渲染和发送不完整 HTML 页面(有些标签没有关闭)。...Airbnb 使用基于 Express NodeJS 服务器来渲染 React 开发网页,并将之前用于渲染整个 HTML 页面的单个 React 组件重新设计拆分为三个单独组件。

21140

Astro 从静态网站生成器到 Next.js 劲敌旅程

Astro 文档 “岛屿”定义为“页面任何交互式 UI 组件”,并邀请开发者岛屿视为“漂浮在一片静态、轻量级、服务器渲染 HTML 海洋交互式小部件”。...正如 Scanlon 在他帖子中所说,“React 很棒,但你网站每一页都需要它吗,还是只需要在网站周围几个“岛屿”?”...在 1 月份Modern Web播客 一集,Quick 解释了 Astro 如何成为一种下一代 Gatsby。...他个人博客之前在 Gatsby 上,他开始将其迁移到 Next.js,这是他在工作花费大量时间使用框架。但在此过程,他试用了 Astro,并很快被开发者体验所吸引。...“我敢打赌,他们继续在服务器上添加特性和功能,但他们会考虑到出色开发者体验,因为他们已经通过他们已经完成所有其他事情证明了这一点。”

24810

优化WordPress性能高级指南

这可能会导致不一致,特别是如果我们在代码中使用查询相关过滤器,因为你在页面不期望帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是从数据库检索帖子最佳方式。...为了实现这一点,我们使用posts_per_page参数。 WordPress允许我们-1表示为该参数合理值,在这种情况下,系统尝试获取满足定义条件所有帖子。...虽然这种灵活性是一个强大功能,但应谨慎使用,因为参数化可能会转化为复杂表连接和昂贵数据库操作。 在下一节,我们概述一种在不影响性能情况下仍然实现类似功能优雅方式。...我们也可以做一个小改变,并使用transients 不是options。 Transients 工作类似,但允许我们指定一个到期时间。...例如,如果我们在用户滚动我们主页时动态加载更多帖子,那么最好直接调用其他前端页面,这将获得被缓存好处。 然后,我们可以通过浏览器JavaScript来解析结果。

7.1K20

Sticky Posts Switch插件教程WordPress为分类添加置顶文章

当您将新内容发布到您网站时,之前帖子会关闭并最终移动到存档页面。粘性帖子允许您在WordPress添加精选帖子,并在您网站主页上以不同方式显示它们。...如果您想确保人们阅读重要通知或帖子,请将其放在顶部。  同样,您可以使用置顶帖/文章子恢复旧博客帖子。定期创建内容可能具有挑战性。您可以恢复旧帖子并将其放置在您网站顶部,不是创建新内容。...(帖子或自定义帖子类型)选择开关图标的颜色显示开关图标的列自定义顺序仅使用内置WordPress功能星形图标开关立即使用 ajax 帖子保存为置顶状态可选地,帖子所有翻译设置为置顶,支持 Polylang...在WordPress为类别添加置顶帖/文章最简单方法是使用WordPress Sticky Posts Switch插件,可让您在主页、存档页面和分类页面上设置置顶文章。  ...Sticky Posts Switch插件教程WordPress为分类添加置顶文章  此外还可以选择在主页帖子存档页面或分类页面(如类别和标签)上显示粘性帖子位置。

5.5K20

钻芒博主首个汉化主题-Gliu – 创意WordPress博客主题

此外,您可以使用GIF使这个滑块更加美观!为您帖子添加徽章您可以标记自己帖子。我们这些徽章设置为“新”,“热门”和“赞助”,但您可以根据需要更改这些词。...可用样式是:经典(特色图片)英雄与灯光标题黑暗标题英雄没有特色图片画廊帖子图库添加帖子,然后选择“图库”帖子格式。它将显示在帖子页面的最顶部,在一个有用滑块。...视频帖子您可以直接嵌入任何YouTube或Vimeo视频网址,然后选择“视频”帖子格式。Gliu将在内容中找到第一个视频并显示它不是特色图像。...您可以直接嵌入任何YouTube或Vimeo视频网址,然后选择“视频”帖子格式。Gliu将在内容中找到第一个视频并显示它不是特色图像。...横幅管理我们主题有一个排行榜横幅管理系统,可让您将横幅添加主页页面帖子页面的10个不同位置。我们主题有一个排行榜横幅管理系统,可让您将横幅添加主页页面帖子页面的10个不同位置。

8.6K20

基于IOS视频APP毕业设计

,在苹果开发软件,所有视图可以被放在一个叫做storyboard“面板”,并通过视图把每一个页面联系起来,让用户一下就可以看清楚怎么使用,对功能了如指掌,只是把页面做好还不是所有的任务,还要通过相关代码...控件动作可以触发类属性或方法,需要打开Xcodestoryboard面板,在左侧列表打开,在列表中找到刚才保存好类;先选中页面“view”,在右侧打开“custom class”窗口,在“...class”列表,选择相关类,可以类与相关页面关联,下一步要关联每个控件与类属性及方法;这时右键点击左侧打开类名,会出现一个属性及方法列表,用左键点击某一属性名字,经过这个37摄区项目的开发...图3.3喜好功能需求图 (1)我群组功能主要可以查看到我添加群组列表,和进入群组进行聊天; (2)我关注功能,可以关注周边朋友等功能,即时聊天功能是可以和朋友进行实时聊天; (3)添加好友功能是添加朋友和搜索周边朋友进行添加聊天...图4.3喜好页面流程图 (1)我群组功能主要可以查看到我添加群组列表,和进入群组进行聊天; (2)我关注功能,可以关注周边朋友等功能,即时聊天功能是可以和朋友进行实时聊天; (3)添加好友功能是添加朋友和搜索周边朋友进行添加聊天

1.1K20

爬虫系列之丁香园论坛所有回复用户数据(下)

第一:lxml及xpath使用 第二:模拟登陆处理 第三:多页面处理 第四:MongoDB存储 第五:使用pandas存储数据到csv 第六:数据下载 第七:列表、字典处理 第八:面相对象思想 第九:正则啊等等...这里采用算法思想是通过zip()函数两个list合并成字典,key为id,value为avater,那么现在问题就变为了字典去重,先定义一个新字典,如果当前添加数据不在新字典里面,就往里面加,...最后就得到了一个去重后字典,对字典进行拆分为两个列表即可,返回后两个列表就是我们最后所需要数据。...2.2 用户个人主页 用户个人主页功能在上一节做了详细解释,这一节主要侧重于异常处理及如何调用bbs代码,bbs代码与个人主页代码结合使用。...浏览器输入http://i.dxy.cn/profile/壹刀,会发现重定向进入http://i.dxy.cn/lizhanqiang这个页面,如下图所示: 壹刀主页图 会发现这个已经不是我们想要用户页面图了

79630

轻松改善您网站上最大内容绘制 (LCP)

在最近尝试简化衡量和理解什么是良好用户体验过程,Google 对页面的用户体验指标进行了标准化。 这些标准化指标被称为核心 Web 指标,有助于评估您网页上真实用户体验。...例如,您需要在产品列表页面使用较小尺寸图像,在产品详细信息页面使用较大尺寸图像。这种调整大小可确保您不会发送除该特定页面所需任何额外字节。...缓存图片并缩短交付时间 图像 CDN 使用全球内容交付网络(CDN) 来交付图像。使用 CDN 可确保图像从更靠近用户位置加载,不是从您服务器加载,后者可能位于地球另一端。...您还可以尝试为 HTML 和 API 使用 CDN,以在 CDN 节点上缓存这些响应。鉴于此类内容动态特性, CDN 用于 HTML 或 API 可能比 CDN 用于静态内容复杂得多。...1.使用服务端渲染 您可以在服务器上动态生成页面,然后将其发送到客户端设备,不是整个 JS 传送到客户端并在那里进行所有渲染。这会增加生成页面所需时间,但会减少在浏览器激活页面所需时间。

3.8K20
领券