<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 2nthony</title>
    <description>The latest articles on DEV Community by 2nthony (@2nthony).</description>
    <link>https://dev.to/2nthony</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F753258%2Fa3cb9baa-bd85-4d9c-8ae0-2ea1f9837547.jpeg</url>
      <title>DEV Community: 2nthony</title>
      <link>https://dev.to/2nthony</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/2nthony"/>
    <language>en</language>
    <item>
      <title>My new NeoVim setup for JavaScript(TypeScript), react, vue development</title>
      <dc:creator>2nthony</dc:creator>
      <pubDate>Tue, 21 Feb 2023 17:52:59 +0000</pubDate>
      <link>https://dev.to/2nthony/my-new-neovim-setup-for-javascripttypescript-react-vue-development-jaa</link>
      <guid>https://dev.to/2nthony/my-new-neovim-setup-for-javascripttypescript-react-vue-development-jaa</guid>
      <description>&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/2nthony/dotfiles" rel="noopener noreferrer"&gt;https://github.com/2nthony/dotfiles&lt;/a&gt; includes a quick preview video.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0yeg5se7l6wfvnyfsfbl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0yeg5se7l6wfvnyfsfbl.jpg" alt="preview"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've published a &lt;a href="https://dev.to/2nthony/my-neovim-setup-for-javascriptfront-end-development-160g"&gt;post&lt;/a&gt; about my neovim setup before, but recently, I updated the setup again!&lt;/p&gt;

&lt;p&gt;The most changes is: I use &lt;a href="https://lunarvim.org/" rel="noopener noreferrer"&gt;LunarVim&lt;/a&gt; now, with bulk of personal customize plugins. I also made a vim color scheme &lt;a href="https://github.com/2nthony/vitesse.nvim" rel="noopener noreferrer"&gt;vitesse.nvim&lt;/a&gt; just for myself to make the terminal(neovim) looks better 🤨.&lt;/p&gt;

&lt;p&gt;In the end, I'm still looking for plugins to make it better and more useful, if you happened to know something good, please comment then let me know!🙏&lt;/p&gt;

</description>
      <category>vim</category>
      <category>javascript</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My NeoVim setup for JavaScript(Front-End) development</title>
      <dc:creator>2nthony</dc:creator>
      <pubDate>Fri, 12 Aug 2022 16:59:00 +0000</pubDate>
      <link>https://dev.to/2nthony/my-neovim-setup-for-javascriptfront-end-development-160g</link>
      <guid>https://dev.to/2nthony/my-neovim-setup-for-javascriptfront-end-development-160g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Recently I update my new NeoVim setup for JavaScript development.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lxrfahxct2u9ks2rf6w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6lxrfahxct2u9ks2rf6w.jpg" alt="cover1"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfqo2730hzycfh4vnbl6.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfqo2730hzycfh4vnbl6.jpg" alt="cover2"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's includes?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;LSP(Language Server Protocol)&lt;/li&gt;
&lt;li&gt;Semantic Key Bindings&lt;/li&gt;
&lt;li&gt;Code Syntax&lt;/li&gt;
&lt;li&gt;Code Completion&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;Good looking theme(NeoSolarized)&lt;/li&gt;
&lt;li&gt;Auto Session&lt;/li&gt;
&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;I love &lt;strong&gt;frosted glass&lt;/strong&gt; effects. I used VS Code for a looong time and I don't know how to use frosted glass effected theme in VS Code, but it is very easy in vim, because I use iTerm2.&lt;/p&gt;

&lt;p&gt;Second, since I figure out how to write JavaScript code in vim, then I switch to vim without hesitate. Thanks to LSP. :)&lt;/p&gt;

&lt;h2&gt;
  
  
  Reach out
&lt;/h2&gt;

&lt;p&gt;My dotfiles configs here 👉 &lt;a href="https://github.com/2nthony/dotfiles" rel="noopener noreferrer"&gt;https://github.com/2nthony/dotfiles&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Credit
&lt;/h2&gt;

&lt;p&gt;Huge thanks to this &lt;a href="https://github.com/craftzdog/dotfiles-public" rel="noopener noreferrer"&gt;repo&lt;/a&gt; and this &lt;a href="https://www.youtube.com/watch?v=ajmK0ZNcM4Q&amp;amp;ab_channel=devaslife" rel="noopener noreferrer"&gt;vedio&lt;/a&gt;&lt;/p&gt;

</description>
      <category>vim</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Vercel-styled TOAST web widget for any website!</title>
      <dc:creator>2nthony</dc:creator>
      <pubDate>Mon, 18 Jul 2022 16:24:00 +0000</pubDate>
      <link>https://dev.to/2nthony/a-universal-toast-widget-for-any-website-ab5</link>
      <guid>https://dev.to/2nthony/a-universal-toast-widget-for-any-website-ab5</guid>
      <description>&lt;p&gt;Few YEARS ago, I created a framework-agnostic toast widget, it is really Vercel flavoured, lite and elegant, plus, it is only &lt;code&gt;≈1Kb&lt;/code&gt; in gzip!&lt;/p&gt;

&lt;p&gt;How it looks like you can see the cover gif.&lt;/p&gt;

&lt;p&gt;🙌 Til now it has &lt;code&gt;1k+&lt;/code&gt; downloads in NPM and used by &lt;code&gt;40+&lt;/code&gt; GitHub repositories, &lt;del&gt;feeling great!&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;I am pretty sure it is useful for any website, and it is dead simple to use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vercel-toast/css&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;createToast&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vercel-toast&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="nx"&gt;createToast&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;The Evil Rabbit jumped over the fence.&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Feel free to reach out the:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple doc goes 👉 &lt;a href="https://vercel-toast.vercel.app"&gt;https://vercel-toast.vercel.app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub repository goes 👉 &lt;a href="https://github.com/2nthony/vercel-toast"&gt;https://github.com/2nthony/vercel-toast&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this widget helped you and you like it, please give me a ⭐️ 🙌.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>html</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Introducing Blogkit - A Unified Blog Engine</title>
      <dc:creator>2nthony</dc:creator>
      <pubDate>Sat, 05 Mar 2022 15:41:19 +0000</pubDate>
      <link>https://dev.to/2nthony/introducing-blogkit-a-unified-blog-engine-5579</link>
      <guid>https://dev.to/2nthony/introducing-blogkit-a-unified-blog-engine-5579</guid>
      <description>&lt;p&gt;Blogkit is a unified blog engine. You can reach out on &lt;a href="https://github.com/2nthony/blogkit"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;Many people blogging on GitHub by using &lt;a href="https://github.com/11ty/eleventy"&gt;11ty&lt;/a&gt;, &lt;a href="https://github.com/saberland/saber"&gt;Saber&lt;/a&gt;, &lt;a href="https://github.com/shuding/nextra"&gt;Nextra&lt;/a&gt;, and etc. They are all great tools for blogging, with the power of Vercel so we can update our blog by just committing the new markdown file to GitHub.&lt;/p&gt;

&lt;p&gt;Sounds nature! But all the tools rely on GitHub ecosystem which means is if we out of our git environment, we can not update our blog.&lt;/p&gt;

&lt;p&gt;So I was thinking, “How to blogging on anywhere I want?”. Fortunately, since I notice &lt;a href="https://github.com/djyde/sairin"&gt;Sairin - A Blog Engine Based on GitHub Issue&lt;/a&gt; ,that is exactly what I want to have.&lt;/p&gt;

&lt;p&gt;But I prefer Notion than GitHub Issue, so I made up a new idea based on Sairin, make it extensible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And now, &lt;a href="https://github.com/2nthony/blogkit"&gt;blogkit - A Unified Blog Engine&lt;/a&gt; is here!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Specific
&lt;/h2&gt;

&lt;p&gt;Blogkit has 3 parts: core, request, theme.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;core: the built-in logic&lt;/li&gt;
&lt;li&gt;request: tell core how to fetch post list and post&lt;/li&gt;
&lt;li&gt;theme: the blog looks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With custom request, we can fetch the posts data from any service(Notion, etc.). For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// pesudo code&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;request&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;getPostList&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;posts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/api/getPostList&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;posts&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="nx"&gt;getPost&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;slug&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;markdown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/api/getPost&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;query&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;slug&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;})&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// ...&lt;/span&gt;
      &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;`my-post`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="nx"&gt;markdown&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With Next.js &lt;a href="https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration"&gt;Incremental Static Regeneration&lt;/a&gt;, our blog will generate static pages once, and update them on demand.&lt;/p&gt;

&lt;h2&gt;
  
  
  One More
&lt;/h2&gt;

&lt;p&gt;Blogkit is extensible, and we had built-in some useful presets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Notion request(RSS included)&lt;/li&gt;
&lt;li&gt;Yuque request&lt;/li&gt;
&lt;li&gt;A minimal theme&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/2nthony/blogkit-notion-starter"&gt;Notion starter template&lt;/a&gt; (One-click deploy)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/2nthony/blogkit-yuque-starter"&gt;Yuque starter template&lt;/a&gt; (One-click deploy)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Not the end
&lt;/h2&gt;

&lt;p&gt;We will keep adding new features to &lt;a href="https://github.com/2nthony/blogkit"&gt;Blogkit&lt;/a&gt;! Let’s build the ecosystem!&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>news</category>
    </item>
  </channel>
</rss>
