Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

hexo-theme-ayer

Package Overview
Dependencies
Maintainers
1
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hexo-theme-ayer - npm Package Compare versions

Comparing version 1.8.23 to 1.8.24

rollup.config.js

12

package.json
{
"name": "hexo-theme-ayer",
"version": "1.8.23",
"version": "1.8.24",
"description": "a clean and elegant theme for hexo.",
"scripts": {
"dev": "parcel serve source-src/main.js -d source/dist",
"build": "rimraf source/dist && parcel build source-src/main.js -d source/dist --no-source-maps",
"dev": "rollup -c -w",
"build": "rollup -c",
"postinstall": "node ./move_config.js",

@@ -31,7 +31,7 @@ "test": "stylint source-src/css/style.styl -c .stylintrc"

"autoprefixer": "^9.8.6",
"cssnano": "^4.1.10",
"parcel-bundler": "^1.12.5",
"postcss-modules": "^1.5.0",
"rollup": "^2.50.2",
"rollup-plugin-styles": "^3.14.1",
"rollup-plugin-terser": "^7.0.2",
"stylint": "^2.0.0"
}
}

@@ -30,3 +30,3 @@ <p align="center"><a href="https://shen-yu.gitee.io" target="_blank" rel="noopener noreferrer"><img width="100" src="logo.png" alt="ayer logo"></a></p>

</a>
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE" target="_blank" rel="noopener noreferrer"><img alt="LICENSE" src="https://img.shields.io/badge/LICENSE-SATA-yellow">
<a href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE" target="_blank" rel="noopener noreferrer"><img alt="LICENSE" src="https://img.shields.io/badge/LICENSE-SATA-6ccab8">
</a>

@@ -37,6 +37,6 @@ </p>

:ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. If you have any queries or advice during the process of using, Please contact me! shenyu@hotmail.com
:ocean: Ayer is a clean and elegant theme for Hexo, also fast, powerful and responsive. It contains many awesome features, It's perfect for your blog, "Ayer" means "water" in Malaysian and "yesterday" in Spanish. If you have any queries or advice during the process of using, Please contact me! shenyu@hotmail.com
<b>注:收藏本主题请点右上角Star,谢谢~~ </b>
<b>如果你想给主题添砖加瓦,可以点右上角Fork,然后给此仓库提交PR</b>
<b>注:收藏本主题请点右上角 Star,谢谢~~ </b>
<b>如果你想给主题添砖加瓦,可以点右上角 Fork,然后给此仓库提交 PR</b>

@@ -53,11 +53,5 @@ ### [Preview 预览](https://shen-yu.gitee.io)

### For hexo < 5.0
``` shell
git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
```
### For hexo >= 5.0
``` shell
```shell
npm i hexo-theme-ayer -S

@@ -69,2 +63,8 @@ ```

### For hexo < 5.0
```shell
git clone https://github.com/Shen-Yu/hexo-theme-ayer.git themes/ayer
```
## Enable

@@ -74,3 +74,3 @@

``` yml
```yml
theme: ayer

@@ -81,3 +81,3 @@ ```

``` bash
```bash
cd themes/ayer

@@ -88,2 +88,3 @@ git pull

## Multi Language Support
zh-CN(中文简体) en(English) zh-TW(中文繁体) ja(日本語) es(Español) de(Deutsch) fr(Français) ru(Русский) ko(한국어) vi(Tiếng Việt) nl(Nederlands) no(norsk) pt(Português)

@@ -97,3 +98,3 @@

``` yml
```yml
# Menu-Sidebar

@@ -115,3 +116,3 @@ menu:

text2: It's perfect for your hexo blog
text3: Have fun! #Supports up to three lines of text
text3: Have fun! #Supports up to three lines of text
startDelay: 0

@@ -127,10 +128,10 @@ typeSpeed: 200

# Cover Setting
# Cover Setting
# enable: [true|false];path: [background-image];logo: [cover-logo-image]
cover:
enable: true
path: /images/cover1.jpg # there are some beautiful cover images in Ayer's directory: /source/images, choose your favorite image to replace it.
path: /images/cover1.jpg # there are some beautiful cover images in Ayer's directory: /source/images, choose your favorite image to replace it.
logo: /images/ayer.svg
# ProgressBar
# ProgressBar
progressBar: true

@@ -182,3 +183,3 @@

# reward word
reward_wording: 'Buy me a cup of coffee~'
reward_wording: "Buy me a cup of coffee~"
# qrcode image path

@@ -221,3 +222,3 @@ alipay: /images/alipay.jpg

# GitHub Ribbons(https://github.blog/2008-12-19-github-ribbons/)
github:
github:
# (Set false if you don't need)

@@ -237,5 +238,5 @@ enable: false

# Google Analytics
google_analytics: ''
google_analytics: ""
# Baidu Analytics
baidu_analytics: ''
baidu_analytics: ""

@@ -296,3 +297,3 @@ # Mathjax Support

# You need create leancloud account first (https://console.leancloud.app), then put the id|key in below.
leancloud:
leancloud:
enable: true

@@ -303,3 +304,3 @@ app_id: #

valine:
enable: true
enable: true
avatar: mp # (https://valine.js.org/avatar.html)

@@ -327,3 +328,3 @@ placeholder: Add some comments to my article~ # placeholder

md: true
# more options https://minivaline.js.org/docs/cn/#/Options
# more options https://minivaline.js.org/docs/cn/#/Options
backend: waline

@@ -335,9 +336,10 @@ serverURL: https://waline.vercel.app

+ [hexo-generator-search](https://github.com/wzpan/hexo-generator-search) (for Local Search)
- [hexo-generator-search](https://github.com/wzpan/hexo-generator-search) (for Local Search)
```yml
$ npm install hexo-generator-searchdb --save
```
Then add the plugin configuration in hexo's configuration file `_config.yml` (note: not the theme's configuration file):
```yml

@@ -351,3 +353,3 @@ # Hexo-generator-search

+ [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) (for RSS)
- [hexo-generator-feed](https://github.com/hexojs/hexo-generator-feed) (for RSS)

@@ -357,7 +359,7 @@ ```yml

```
Then add the plugin configuration in hexo's configuration file `_config.yml` (note: not the theme's configuration file):
```yml
feed:m
feed:m
type: atom

@@ -370,17 +372,21 @@ path: atom.xml

content_limit_delim: ' '
order_by: -date
order_by: -date
```
+ [hexo-generator-index-pin-top](https://github.com/netcan/hexo-generator-index-pin-top) (for Sticky Post)
``` bash
- [hexo-generator-index-pin-top](https://github.com/netcan/hexo-generator-index-pin-top) (for Sticky Post)
```bash
$ npm uninstall hexo-generator-index --save
$ npm install hexo-generator-index-pin-top --save
```
## Categories
``` bash
```bash
hexo new page categories
```
Then paste following codes to file: /source/categories/index.md
``` md
```md
---

@@ -394,10 +400,14 @@ title: categories

## Tags
Same as categories.
## Friend Links
``` bash
```bash
hexo new page friends
```
Then paste following codes to file: /source/friends/index.md
``` md
```md
---

@@ -409,15 +419,14 @@ title: friends

```
Then edit `friends_link` in `_config.yml`
Then edit `friends_link` in `_config.yml`
## Gallery
Need to write in the head of the markdown, this is not a good way to write, I hope to get a better way to write on github.
``` md
```md
---
title: Gallery
albums: [
["img_url","img_caption"],
["img_url","img_caption"]
]
albums: [["img_url", "img_caption"], ["img_url", "img_caption"]]
---

@@ -428,17 +437,18 @@ ```

Use Tocbot to parse the title tags (h1~h6) in the content and insert the directory.
Use Tocbot to parse the title tags (h1~h6) in the content and insert the directory.
+ ayer/_config.yml
- ayer/\_config.yml
``` bash
# Toc
```bash
# Toc
toc: true
```
+ If Toc is turned on in ayer/_config.yml, then Tocbot will generate a Toc article directory in the title tag of each blog parsing content, but not all blogs require Toc, so in the Front-matter section of markdown Can be closed:
```
``` md
---
- If Toc is turned on in ayer/\_config.yml, then Tocbot will generate a Toc article directory in the title tag of each blog parsing content, but not all blogs require Toc, so in the Front-matter section of markdown Can be closed:
```md
---
no_toc: true
---
```
```

@@ -459,6 +469,5 @@ ---

## License
<a src="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> by <a href="https://github.com/Shen-Yu">Eric-Shen</a> is licensed under <a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA-License</a>.
<a src="https://github.com/Shen-Yu/hexo-theme-ayer">Ayer</a> by <a href="https://github.com/Shen-Yu">Eric-Shen</a> is licensed under <a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA-License</a>.

@@ -468,9 +477,9 @@ The basic idea is, whenever using a project using SATA license, people shall star/like/+1 that project and thank the author. Just imagine Google stared your project and send you a thank-you letter because they used your project in github!

本项目采用<a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA</a>开源协议,在遵守MIT许可证的前提下,你应该马不停蹄的给这个开源项目“点个赞”,比如github右上角的star,然后你应该感谢这个开源项目的作者,作者信息可以在许可证头部的版权声明部分找到。<br>
本项目采用<a rel="license" href="https://github.com/Shen-Yu/hexo-theme-ayer/blob/master/LICENSE">SATA</a>开源协议,在遵守 MIT 许可证的前提下,你应该马不停蹄的给这个开源项目“点个赞”,比如 github 右上角的 star,然后你应该感谢这个开源项目的作者,作者信息可以在许可证头部的版权声明部分找到。<br>
下面是几条SATA作者推荐的感谢途径,也是SATA包含的内容:
下面是几条 SATA 作者推荐的感谢途径,也是 SATA 包含的内容:
- 给你使用的开源项目的作者发个Email,和他交个朋友
- 提出你在使用过程中发现的BUG或者提一些建设性的意见
- 给你使用的开源项目的作者发个 Email,和他交个朋友
- 提出你在使用过程中发现的 BUG 或者提一些建设性的意见
- 告诉你的朋友们这是一个多棒的开源项目
- 当然,你也可以只是在心里默默的感激,不用让全世界都知道

@@ -1,3 +0,3 @@

import './css/style.styl'
import './js/ayer'
import './js/share'
import "./css/style.styl";
import "./js/ayer";
import "./js/share";

@@ -1,9 +0,1 @@

parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"MiQR":[function(require,module,exports) {
},{}],"jSg4":[function(require,module,exports) {
!function(e){var o=e(".search-form-wrap"),a=!1;e(".nav-item-search").click(function(){var n;a||(a=!0,o.addClass("on"),n=function(){e(".local-search-input").focus()},setTimeout(function(){a=!1,n&&n()},200))}),e(document).mouseup(function(a){var n=e(".local-search");n.is(a.target)||0!==n.has(a.target).length||o.removeClass("on")}),e(".local-search").size()&&e.getScript("/js/search.js",function(){searchFunc("/search.xml","local-search-input","local-search-result")});var n;e(".share-outer").click(function(){return e(".share-wrap").fadeToggle()}),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready(function(e){e(".anchor").click(function(o){o.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")})}),(n=e("#totop")).hide(),e(".content").scroll(function(){e(".content").scrollTop()>1e3?e(n).stop().fadeTo(200,.6):e(n).stop().fadeTo(200,0)}),e(n).click(function(){return e(".content").animate({scrollTop:0},1e3),!1});var t=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",function(){e(".content,.sidebar").addClass("anim"),t.toggleClass("on"),r.toggleClass("on")}),e("#reward-btn").click(function(){e("#reward").fadeIn(150),e("#mask").fadeIn(150)}),e("#reward .close, #mask").click(function(){e("#mask").fadeOut(100),e("#reward").fadeOut(100)}),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").click(function(){1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))});console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),function(e){"use strict";!function(o){var a=window,n=document,t=e,r="".concat("https:"===n.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),s=n.createElement("script"),c=n.getElementsByTagName("script")[0];s.type="text/javascript",s.setAttribute("charset","UTF-8"),s.async=!0,s.src=r,s.id="LA_COLLECT",t.d=s;var i=function(){a.LA.ids.push(t)};a.LA?a.LA.ids&&i():(a.LA=e,a.LA.ids=[],i()),c.parentNode.insertBefore(s,c)}()}({id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"});
},{}],"BNiz":[function(require,module,exports) {
function e(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function t(){$(".wx-share-modal").addClass("in ready"),$("#share-mask").show()}function s(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function o(s,o){"weibo"===s?e("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===s?e("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===s?e("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===s?e("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===s?e("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===s?e("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===s?e("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===s&&t()}var r=function(){var e=document.querySelectorAll(".share-sns");if(e&&0!==e.length){var t=window.location.href,r=document.querySelector("title").innerHTML,c=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===c||/^(http:|https:)?\/\//.test(c)||(c=window.location.origin+c),e.forEach(function(e){e.onclick=function(s){o(e.getAttribute("data-type"),{sUrl:t,sPic:c,sTitle:r,sDesc:r})}}),document.querySelector("#mask").onclick=s,document.querySelector(".modal-close").onclick=s}};r();
},{}],"epB2":[function(require,module,exports) {
"use strict";require("./css/style.styl"),require("./js/ayer"),require("./js/share");
},{"./css/style.styl":"MiQR","./js/ayer":"jSg4","./js/share":"BNiz"}]},{},["epB2"], null)
!function(){"use strict";var e;function t(e,t){e=e.replace(/<%-sUrl%>/g,encodeURIComponent(t.sUrl)).replace(/<%-sTitle%>/g,encodeURIComponent(t.sTitle)).replace(/<%-sDesc%>/g,encodeURIComponent(t.sDesc)).replace(/<%-sPic%>/g,encodeURIComponent(t.sPic));window.open(e)}function o(){$(".wx-share-modal").removeClass("in ready"),$("#share-mask").hide()}function s(e,o){"weibo"===e?t("http://service.weibo.com/share/share.php?url=<%-sUrl%>&title=<%-sTitle%>&pic=<%-sPic%>",o):"qq"===e?t("http://connect.qq.com/widget/shareqq/index.html?url=<%-sUrl%>&title=<%-sTitle%>&source=<%-sDesc%>",o):"douban"===e?t("https://www.douban.com/share/service?image=<%-sPic%>&href=<%-sUrl%>&name=<%-sTitle%>&text=<%-sDesc%>",o):"qzone"===e?t("http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=<%-sUrl%>&title=<%-sTitle%>&pics=<%-sPic%>&summary=<%-sDesc%>",o):"facebook"===e?t("https://www.facebook.com/sharer/sharer.php?u=<%-sUrl%>",o):"twitter"===e?t("https://twitter.com/intent/tweet?text=<%-sTitle%>&url=<%-sUrl%>",o):"google"===e?t("https://plus.google.com/share?url=<%-sUrl%>",o):"weixin"===e&&($(".wx-share-modal").addClass("in ready"),$("#share-mask").show())}!function(e){let t=e(".search-form-wrap"),o=!1;e(".nav-item-search").click((()=>{var s;o||(o=!0,t.addClass("on"),s=function(){e(".local-search-input").focus()},setTimeout((function(){o=!1,s&&s()}),200))})),e(document).mouseup((o=>{const s=e(".local-search");s.is(o.target)||0!==s.has(o.target).length||t.removeClass("on")})),e(".local-search").size()&&e.getScript("/js/search.js",(function(){searchFunc("/search.xml","local-search-input","local-search-result")})),e(".share-outer").click((()=>e(".share-wrap").fadeToggle())),e("img.lazy").lazyload({effect:"fadeIn"}),e("#gallery").justifiedGallery({rowHeight:200,margins:5}),e(document).ready((function(e){e(".anchor").click((function(t){t.preventDefault(),e("main").animate({scrollTop:e(".cover").height()},"smooth")}))})),(()=>{const t=e("#totop");t.hide(),e(".content").scroll((function(){e(".content").scrollTop()>1e3?e(t).stop().fadeTo(200,.6):e(t).stop().fadeTo(200,0)})),e(t).click((function(){return e(".content").animate({scrollTop:0},1e3),!1}))})();const s=e(".content"),r=e(".sidebar");e(".navbar-toggle").on("click",(function(){e(".content,.sidebar").addClass("anim"),s.toggleClass("on"),r.toggleClass("on")})),e("#reward-btn").click((()=>{e("#reward").fadeIn(150),e("#mask").fadeIn(150)})),e("#reward .close, #mask").click((()=>{e("#mask").fadeOut(100),e("#reward").fadeOut(100)})),1==sessionStorage.getItem("darkmode")?(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line")):(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line")),e("#todark").click((()=>{1==sessionStorage.getItem("darkmode")?(e("body").removeClass("darkmode"),e("#todark i").removeClass("ri-sun-line").addClass("ri-moon-line"),sessionStorage.removeItem("darkmode")):(e("body").addClass("darkmode"),e("#todark i").removeClass("ri-moon-line").addClass("ri-sun-line"),sessionStorage.setItem("darkmode",1))}));console.log("%c%s%c%s%c%s","background-color: #49b1f5; color: #fff; padding: 8px; font-size: 14px;","主题不错?⭐star 支持一下 ->","background-color: #ffbca2; padding: 8px; font-size: 14px;","https://github.com/Shen-Yu/hexo-theme-ayer","background-color: #eaf8ff;","\n\n _ __ _______ _____ \n / \\ \\ \\ / / ____| _ \\ \n / _ \\ \\ V /| _| | |_) | \n / ___ \\ | | | |___| _ < \n /_/ \\_\\ _| |_____|_| \\__\\ \n")}(jQuery),e={id:"JGjrOr2rebvP6q2a",ck:"JGjrOr2rebvP6q2a"},function(t){var o=window,s=document,r=e,a="".concat("https:"===s.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=s.createElement("script"),c=s.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=a,n.id="LA_COLLECT",r.d=n;var i=function(){o.LA.ids.push(r)};o.LA?o.LA.ids&&i():(o.LA=e,o.LA.ids=[],i()),c.parentNode.insertBefore(n,c)}();(()=>{let e=document.querySelectorAll(".share-sns");if(!e||0===e.length)return;let t=window.location.href,r=document.querySelector("title").innerHTML,a=document.querySelectorAll(".article-entry img").length?document.querySelector(".article-entry img").getAttribute("src"):"";""===a||/^(http:|https:)?\/\//.test(a)||(a=window.location.origin+a),e.forEach((e=>{e.onclick=o=>{s(e.getAttribute("data-type"),{sUrl:t,sPic:a,sTitle:r,sDesc:r})}})),document.querySelector("#mask").onclick=o,document.querySelector(".modal-close").onclick=o})()}();
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc