首页
学习
活动
专区
圈层
工具
发布

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

但这么做还是略嫌不便,通过 CMS 一般可以在一个可视化的在线环境中编辑文章,然后一键即可发布。 Gatsby 主流的两个 CMS 是 Contentful 和 Netlify CMS。...Netlify CMS 借助 Oauth 把写好的 Markdown 文件推送到项目源码的仓库上,再配合 Netlify 检测仓库变动自动构建发布。当然后者也不是必须的,可以换其它方式自动构建。...Widgets 代表了在 CMS 中可输入的模块,官方[21]为常见的类型都提供了默认的 widgets ,没有满足的也可以自定义[22]。...Gatsby 如何生成特定页面 一般来说,在 /src/pages/ 目录下的组件会自动生成相应路径的页面,但如果是其它类型的文件就不会了。...如果是新的博客这个问题不大,如果是迁移过来的,有两个解决方式,第一个是手动写个脚本给文章都补上域,另一个是利用 Gatsby 的 Node APIs 在 fields 上生成特定域,鲁棒性更好些。

4.3K20

你的博客用不着什么JavaScript框架

用户首次访问 Gatsby 网站时会发生这些事情: 用户请求一个页面。 服务器将静态生成的 HTML 文档发送到用户的浏览器,然后浏览器开始渲染页面。...这里就有些不对劲——Gatsby 需要你以 React 组件的形式再加载一次页面;在完成多出来的这一步之前,所有需要 JavaScript 的元素(例如按钮、菜单、自定义输入)实际上都不能交互。...哪怕你的网站没有任何互动元素(链接除外,即使没有 Gatsby,它们也无需 JavaScript 即可工作),你的用户也必须下载这部分 JavaScript,仅仅是为了将你的网站变成单页应用程序(SPA...华丽的 Gatsby 网站在 2,000 美元的 MacBook 上可能很快,但对于使用 3G 连接和廉价智能手机的用户来说,它显示是能显示出来,但是没有响应;用户等待加载 JavaScript 的过程要持续...例如,在 Eleventy 中没有一种优雅的方法来生成响应式图像。

5.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何将 github pages 迁移到 vercel 上托管

    github pages,后来迁移到 coding,最近又放到腾讯云网站静态托管,无论是 coding 的 cos 存储桶,还是静态网站托管 他们都是收费的,那有没有免费的托管商呢,既不影响网站的访问速度还免费...,于是,找了一下,还真有,vercel和Netlify,就是免费的 其中大名顶顶的Next.js,create-react-app,Nuxt.js等就是部署在部署托管在vercel的,而vuejs,reactjs...等就是托管在Netlify上的 想必经常打开这些鼎鼎大名官网的时候,访问速度还是可以的 今天说一下这个vercel,Vercel 可以部署任何前端应用程序的最佳场所。...号称以零配置部署到我们的全球边缘网络,动态扩展到数百万个页面而不会费力 一键导入(支持 github,gitlab,BitBucket),自己的存储库,然后推送。...(找到自己github pages的仓库) ? (在vercel上导入github 仓库的代码) ? 等待导入部署即可 04 自定义域名解析 ? 点击 Settings?Domains?

    3K20

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

    在没有报纸订阅的情况下,公司必须为每一笔销售而战,而当你最好的营销方式是招牌和报童时,就需要通过新闻标题迅速形成强烈的印象。随之而来的是大量过度夸张的标题和缺乏研究的文章。听起来是不是很熟悉? ?...,请查看最后的GitHub Gatsby.js 为了构建一个可以无限扩展且加载速度非常快的博客,我们需要一个能够构建和渲染静态资源的框架,这些静态资源可以很容易地部署在web服务器上。...GitHub上的现成代码 在本地机器上拥有站点文件和静态文件之后,就可以使用gatsby develop的本地开发服务器进行开发。...如果查看gen.py的底部,将看到我在path /content/gdrive/My Drive/ articles /中编写了文章。这是我为自己设置的配置,所以它可能与其他人不同。...部署 让我们使用Netlify将我们的站点部署到互联网上。Netlify是一个建立和部署网站的平台。它将你的本地资源存储在云上以便部署。 我们现在需要做的是更新GitHub库。

    5.4K60

    进击的JAMStack

    JAMStack的Web应用会通过JavaScript给后端API发送AJAX请求或者GraphQL query,后端API会以某种格式(一般是JSON)返回数据给前端来实现一些用户交互。...首先游客会向SSR服务器发送一个查看某个博客的请求,SSR服务器收到请求后向后端服务请求这个博客的内容然后渲染出一个HTML页面然后返回给用户。...最后让我们来看一下这个博客网站的运行效果吧: 上图中我点击了“如何马上实现财富自由”这个博客,进入到博客详情页时浏览器没有重新向服务端请求博客详情的HTML文件,而是直接在浏览器完成渲染,用户体验非常之流畅...这其实是Gatsby应用的一个很大的亮点,那就是:Gatsby打包的应用在浏览器首次请求获得提前生成的静态HTML文件后,会演变成一个React SPA应用,接下来的用户交互就和一般的SPA应用没有任何差别了...高性价比以及高可扩展性 由于我们前端的内容都是一些静态的文件没有服务端渲染的要求,而静态资源服务器对性能的要求并不高,所以我们在购买服务器方面不需要很大的成本,我们甚至还可以使用一些诸如netlify和

    3.5K30

    小程序开发仿微信界面 DEMO

    因为考虑到小程序真机体验时只允许请求安全域名,所以数据不打算使用后端接口返回,而是采用MOCK数据模拟后端接口返回。聊天记录储存于小程序提供的Storage中。...,如下图: 四、MOCK数据设计 通过需求分析得到只需要两份基础数据: 联系人数据 初始聊天记录数据 其对应的数据表结构如下: 因此我们可以使用js构建这两份数据表作为原始数据, 目录结构设计大致如下...,我们可以同步吐出接口数据,但这里希望能更接近于AJAX访问的异步效果,所以所有接口均返回setTimeout处理的Promise对象。...整理出所需功能的所有数据请求如下: 拉取聊天列表页的聊天列表(用户头像,用户名称,最后一条聊天信息) 拉取聊天页面的聊天记录 (用户头像,自己头像,聊天记录) 发送聊天信息 拉取tab我下的个人头像以及用户昵称等信息...结束语 wepy让用户能以组件化思维开发小程序,加上一些新特性的引入让开发与维护变得更简单,但同时缺点又在于引入框架以及额外的polyfill,npm增加项目代码体积(压缩后170kb),在仅限1M代码体积的小程序中

    20.6K30

    前端框架新格局:从过去一年的演进看未来趋势

    ,框架会在底层将其转换为发送给服务器的 fetch 请求,并提供完整的类型安全。...Content Layer:Astro 对 Gatsby 的 GraphQL 数据层的回应。...Next.js 在开放性方面取得了显著进展: 由 SST 发起的 OpenNext 计划吸引了 Cloudflare 和 Netlify 的加入。...破解类型检查的难题 尽管 TypeScript 占据主导地位多年,但在 Web 框架中仍有一个小而重要的领域没有完全类型支持:路由参数、查询参数以及基于文件的路由间交叉引用。...请务必尽快升级你的应用。(Netlify 也建议尽早升级到 Node.js 22。) Nuxt 4 预计将在 2025 年正式发布,目前已基本准备就绪。(在 Netlify 上可提前体验)。

    1.6K10

    写在 2021: 值得关注学习的前端框架和工具库

    [1], 有很奇妙的感觉,因为我在最开始入门前端时,也是以Vue入的门,在“学完”Vue之后, 我也有了类似的疑问,但当时的我没多想,觉得“技多不压身”,反正都是前端,以后肯定用得上,那就学呗。...Immer[14],思路巧妙的数据不可变方案。 Angular! Angular[15] 是我最近正在学的框架,在开始前我其实是拒绝的,但写了两个例子之后我觉得真香!...在最开始我就是处在这么个情况,直到我跟着官方教程走完第一个demo,我觉得我一段时间内不会再学Vue3了(对不起尤大)。...跨端 Taro[17],京东凹凸实验室出品,应该是我目前见到支持最多端的跨端框架(但问题也不少,这个没办法),一直没有用Taro写过一个完整应用,有机会会试试的。...你可能同样在犹豫要不要学这玩意,我的意见是:学!因为确实NodeJS中目前没有特别全面的框架(虽然NestJS在Spring面前也是弟弟)。

    5.7K10

    Netlify提供的静态网站渲染和缓存技术

    而且一个单独的HTML文件非常容易在Netlify上托管,通过连接Git存储库或通过Netlify Drop上传。这是我之前创建的一个。...## 服务器端渲染(SSR)随着Web的发展,出现了更大的站点和更动态的体验的需求,从而出现了服务器端渲染(SSR)的崛起。SSR是一种渲染方法,其中Web页面在请求时在服务器上构建。...幸运的是,现代前端 JavaScript 框架(如 Astro、Next.js、Remix、Nuxt 和 Gatsby)现在提供了使用最新的 Web 开发平台(如 Netlify)通过底层使用无服务器函数来进行...此外,缓慢的互联网速度、旧设备、网页复杂性的增加、有缺陷的浏览器插件或浏览器中没有 JavaScript 等组合都表明要谨慎使用 CSR。此外,CSR 对 SEO 不是很理想。...Netlify 提供的 ESR 通过 Netlify Edge Functions(在边缘执行的无服务器函数)提供,这些函数可以拦截 HTTP 请求并在发送到浏览器之前修改 HTTP 响应。

    1.7K30

    新一代Web技术栈的演进:SSRSSGISRDPR都在做什么?

    但 SSR 引入了另一个问题,既然要做服务端渲染,就必然需要一个实时在线的后台服务(通常是基于 Node.js 的服务)用来承载页面请求,那么: 1、需要服务器的计算资源和公网流量来部署这套服务,并且消耗的资源与页面的访问量成正相关...例如,在一篇文章的页面中,文章的主题内容是偏向于静态的,很少有改动,那么每次用户的页面请求,都通过服务端来渲染就变得非常不值得,因为每次服务端渲染出来大部分内容都是一样的!...对于电商这样的场景而言,是不可接受的(比如商品已经卖完了,但用户看到的过期数据上显示还有)。...在 Netlify 平台上,你可以像这样定义一个 Builder,用于预渲染或者实时渲染。...、网关等等)都趋近于完善,但还缺少能够把这些能力组合封装起来的一层,前段时间我也表达过类似的想法: “经常看到有人讨论为啥国内没有netlify、vercel这样的web托管产品,其实在国内要做个类似的东西还真没那么容易

    5.7K53

    salesforce零基础学习(八十六)Ajax Toolkit (VF页面中使用及javascript action使用)

    一.链接到Ajax Toolkit API VF:在页面中引入js,其中42.0代表version,这个值代表着当前connection.js的版本号。你也可以设置成41.0,40.0等等。...同步调用和异步调用的区别为:同步调用为当向服务器端发送请求后,需要一直等到服务器端返回结果,并针对结果进行后期的处理;异步调用为当向服务器发送请求后,可以继续进行其他的处理,当服务器有调用返回结果后,再进行结果处理...toolkit call 不论当前搜索的数据字段在表结构中是什么类型,使用ajax toolkit query返回的数据类型均为string类型,如果搜索的字段在数据库中存储的value为null,则获取到的值为...,则调用结构为 var reuslt = sforce.apex.execute("className","methodName","{}"); 三.举例 需求:客户上面有多个联系人,如果没有选择联系人...选择的联系人要求联系人的邮箱必须都不能为空。点击按钮后更新联系人Is_Checked__c设置为true。 1.Contact上创建字段Is_Checked__c ?

    1.7K60

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

    考虑都到了2022新的一年了,就想着对它再折腾一下,周末我也调研了next.js以及tailwind css等朋友推荐的不错的前端技术,但最终没有采纳。...V4版本•升级Material UI至最新的MUI 5•生产打包添加gzip支持,优化网站请求大小 技术构建背景 微言码道的官网是基于Gatsby + Cockpit CMS + MUI构建而成。...因此,在2020年底了解了Jamstack理念以及基于React的Gatsby技术后,决定基于Gatsby完全开发一个网站,这个在2021年元旦用了三天假期完成。...生产打包添加gzip支持,优化网站请求大小 基于Gatsby提供的压缩插件,将官网的打包形态换成了gzip模式,这样网页更小,加载速度就会更快了。...但问题是tailwind css全是原子化的css,没有成套的组件,这意味着诸如弹出框,进度条等可能要自己写或网上找第三方,这非常不方便。而MUI则有一整套组件可供使用。

    2.8K30

    深入探讨 Web 开发中的预渲染和 Hydration

    我们可以选择使用服务器或 Serverless 功能 SPA 可以托管在静态 CDN 上,如Netlify。...在服务器上渲染 React 组件,然后将生成的 HTML 发送到浏览器。这可以提高 SEO 和初始加载时间。渲染过程在每个页面请求时发生。 什么是静态站点生成(SSG)?...使用Gatsby(一个具有 SSR 功能的静态站点生成框架)创建了我的应用 即使没有 JavaScript,我们仍然可以在我的应用上看到内容。那是因为用户收到了预渲染的 HTML!...Gatsby.js、Next.js 和 Remix 并没有取代单页面应用程序的概念——它们为这个过程增添了内容。看看这个流程: 它是在当前的单页面应用程序流程基础上进行添加!...Next.js 有一种方法,Gatsby 有另一种方法,Remix 还有另一种方法。它尚未标准化。 我们所有的 React 组件将始终在客户端进行 Hydration,即使它们没有必要这样做。

    2K10

    Netlify 谈他们遇到的六个现实问题

    关于此刻的说明 实际上,我们在这篇文章上花费了很多的时间,思考如何以最好的方式呈现下面的事实和建议,同时又能避免让它显得是一篇攻击性文章。毕竟,我们与 Vercel 在平台领域存在竞争关系。...例如,npm CLI 既集成了 npm 公司的注册表,也集成了所有第三方的注册表,Docker 也集成了 DockerHub,这样的例子不胜枚举。...例如,Remix、Astro、SvelteKit、Gatsby 和 Qwik。...API(Build Output API),但 Next.js 本身并不遵循该 API,也没有适配器机制,任何其他角色都无法通过该机制支持其他平台。...虽然 Netlify 没有这样做,但一些供应商甚至选择利用这种未文档化的模式,并在自己的平台中反向实现了同等的功能。

    73410

    在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    GlobalConfiguration的静态属性Configuration返回一个代表当前配置的HttpConfiguration对象,全局路由表就注册在它的Routes属性上。...由于Web API的调用本质上就是一次普通的发送请求/接收响应的过程,所以HttpClient其实可以作为一般意义上发送HTTP请求的工具。...我们最后来创建一个叫做“联系人管理器”的Web应用。这是一个单网页应用,我们采用Ajax的请求的形式调用以Web Host模式寄宿的Web API实现针对联系人的CRUD操作。...load:发送Ajax请求调用Web API以获取当前联系人列表,并将得到的联系人列表“赋值”给contacts属性。 showDialog:弹出“编辑联系人信息”对话框。...delete:发送Ajax请求调用Web API以删除指定的联系人。联系人成功删除之后,load方法被调用以刷新当前联系人列表。

    5.4K110

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

    在 Netlify 最近的开发者调查中,Astro 是 增长最快的 Web 框架,无论是使用率还是满意度。...在它的主页上,Astro 谦虚地宣称自己是“面向内容驱动网站的 Web 框架”(尽管不那么谦虚的是,Astro 还表示它“为世界上最快的网站提供支持”)。...在 1 月份的Modern Web播客的 一集中,Quick 解释了 Astro 如何成为一种下一代 Gatsby。...他的个人博客之前在 Gatsby 上,他开始将其迁移到 Next.js,这是他在工作中花费大量时间使用的框架。但在此过程中,他试用了 Astro,并很快被开发者体验所吸引。...他补充说,“Next.js 并没有真正拥有这个——他们只有 NPM 包。” Scanlon 在 Astro 中使用了 React 集成,以便为他的网站制作一个交互式联系表单。

    1.3K10

    超越DX:开发者现在必须学习Agent Experience(AX)

    在本月的一篇博文中,Netlify 首席执行官 Matt Biilmann 介绍了“代理体验”(AX)的概念,他指出“如今,每天有 1,000 多个网站直接通过 ChatGPT 在 Netlify 上创建...“在与 ChatGPT 集成时,我们了解到我们需要为其提供围绕身份验证和移交等的特定流程。”...AX之前的现状,来自Netlify的Sean Roberts的一篇文章。 “在与ChatGPT集成时,我们了解到我们需要为它提供一些关于身份验证和移交等的特定流程,”Biilmann说。...在公司博客中,Netlify已经成为Devin、Bolt和Stripe等几个合作伙伴的“代理的部署目标”。但Biilmann表示,让代理自动将其站点和应用程序部署到Netlify仅仅是个开始。...为了启动这一运动,Netlify在AgentExperience.ax上创建了一个网站(为了节省您的搜索查询:.ax是奥兰群岛的域名,奥兰群岛是芬兰的一个自治区)。

    27700

    WordPress Elementor 3.6.2 远程代码执行

    该模块使用一种不寻常的方法来注册 AJAX 操作,在其构造函数中添加一个 admin_init 侦听器,该侦听器首先检查请求是否发往 AJAX 端点并在调用 may_handle_ajax 函数之前包含有效的随机数...不幸的是,在易受攻击的版本中没有使用能力检查。...经过身份验证的用户可以通过多种方式获取 Ajax::NONCE_KEY,但最简单的方法之一是以登录用户的身份查看管理仪表板的源,因为它存在于所有经过身份验证的用户中,即使对于订阅者级别的用户。...假插件中存在的任何代码都将被执行,这些代码可用于接管站点或访问服务器上的其他资源。...我们将全部披露信息发送给插件开发人员的官方安全联系人。 2022 年 4 月 5 日 - 我们与插件开发人员的安全联系人联系,因为我们尚未收到回复。

    98720

    ASP.NET Core 6框架揭秘实例演示:跨域资源的共享(CORS)N种用法

    我们通过注册针对根路径的路由使之现一个包含联系人列表的Web页面,我们在该页面中采用jQuery以AJAX的方式调用上面这个API获取呈现的联系人列表。...我们将AJAX请求的目标地址设置为“http://www.qux.com:8080/contacts”。在AJAX请求的回调操作中,可以将返回的联系人以无序列表的形式呈现出来。...如果利用浏览器采用映射的域名(www.foo.com)访问App应用,就会发现我们期待的联系人列表并没有呈现出来。...图2 跨域访问导致联系人无法呈现 有的读者可能会想是否是AJAX调用发生错误导致没有得到联系人信息呢。如果我们利用抓包工具捕捉AJAX请求和响应的内容,就会捕获到如下所示的HTTP报文。...对于我们演示的实例来说,当AJAX调用成功并返回联系人列表之后,浏览器正是利用Access-Control-Allow-Origin报头确定当前请求采用的域是否有权对获取的资源做进一步处理的。

    82820
    领券