diff --git a/.file-name-linter.json b/.file-name-linter.json index 97f13f2c635..2d0edf0f81b 100644 --- a/.file-name-linter.json +++ b/.file-name-linter.json @@ -6,7 +6,7 @@ ], "jekyll/assets": [ "/[0-9\\-a-z_]+\\.", - "\\.(jpg|jpeg|png|gif|webp|zip|pdf|docx|doc|txt)$" + "\\.(webp|pdf|zip)$" ] }, "ignore": [ diff --git a/jekyll/_posts/2016-12-04-gitchat-lijiarui-interview.md b/jekyll/_posts/2016-12-04-gitchat-lijiarui-interview.md index 30f89563263..fc8b7e907c3 100644 --- a/jekyll/_posts/2016-12-04-gitchat-lijiarui-interview.md +++ b/jekyll/_posts/2016-12-04-gitchat-lijiarui-interview.md @@ -5,7 +5,7 @@ categories: story tags: - interview - news -image: /assets/2016/gitchat-lijiarui-interview.jpg +image: /assets/2016/gitchat-lijiarui-interview.webp --- 11月24日周四晚8点,GitChat团队开启了来自一位前端女技术工程师李佳芮的问答交流,以下是主持人小冰将交流过程重新整理,记录下了分享者和用户之间对微信机器人的交流精彩片段。 diff --git a/jekyll/_posts/2016-12-05-ghostcloud-wechaty-docker.md b/jekyll/_posts/2016-12-05-ghostcloud-wechaty-docker.md index 137cfb76e44..790846c1da0 100644 --- a/jekyll/_posts/2016-12-05-ghostcloud-wechaty-docker.md +++ b/jekyll/_posts/2016-12-05-ghostcloud-wechaty-docker.md @@ -5,7 +5,7 @@ categories: tutorial tags: - code - docker -image: /assets/2016/ghostcloud-banner.jpg +image: /assets/2016/ghostcloud-banner.webp --- Wechaty()是一款开源的微信SDK,它基于微信公开的API,对接口进行了一系列的封装,提供一系列简单的接口,然后开发者可以在其之上进行微信机器人的开发。在跟作者沟通试用以后,发现其中有着非常多的应用场景,比如: @@ -102,7 +102,7 @@ docker logs -f wechaty 扫描日志中的二维码或将URL地址复制到浏览器中扫描,然后正常的使用微信,可以看到终端中会有相关信息。 -[ghostcloud-banner]: /assets/2016/ghostcloud-banner.jpg -[ghostcloud-log]: /assets/2016/ghostcloud-log.jpg -[ghostcloud-message]: /assets/2016/ghostcloud-message.jpg -[ghostcloud-qrcode]: /assets/2016/ghostcloud-qrcode.jpg +[ghostcloud-banner]: /assets/2016/ghostcloud-banner.webp +[ghostcloud-log]: /assets/2016/ghostcloud-log.webp +[ghostcloud-message]: /assets/2016/ghostcloud-message.webp +[ghostcloud-qrcode]: /assets/2016/ghostcloud-qrcode.webp diff --git a/jekyll/_posts/2016-12-07-beijing-nodejs-meetup-party.md b/jekyll/_posts/2016-12-07-beijing-nodejs-meetup-party.md index 8198ee02de1..25d3bf6d8a7 100644 --- a/jekyll/_posts/2016-12-07-beijing-nodejs-meetup-party.md +++ b/jekyll/_posts/2016-12-07-beijing-nodejs-meetup-party.md @@ -5,7 +5,7 @@ categories: event tags: - talk - news -image: /assets/2016/nodeparty-banner.jpg +image: /assets/2016/nodeparty-banner.webp --- ![Node Party Banner][nodeparty-banner] @@ -79,6 +79,6 @@ image: /assets/2016/nodeparty-banner.jpg 主办 Rockq社区 -[nodeparty-banner]: /assets/2016/nodeparty-banner.jpg -[nodeparty-speaker]: /assets/2016/nodeparty-speaker.jpg -[nodeparty-speaker2]: /assets/2016/nodeparty-speaker2.jpg +[nodeparty-banner]: /assets/2016/nodeparty-banner.webp +[nodeparty-speaker]: /assets/2016/nodeparty-speaker.webp +[nodeparty-speaker2]: /assets/2016/nodeparty-speaker2.webp diff --git a/jekyll/_posts/2016-12-08-jaslin-user-case.md b/jekyll/_posts/2016-12-08-jaslin-user-case.md index b10cca1d466..f11cd93fda2 100644 --- a/jekyll/_posts/2016-12-08-jaslin-user-case.md +++ b/jekyll/_posts/2016-12-08-jaslin-user-case.md @@ -4,7 +4,7 @@ author: jaslin categories: story tags: - case -image: /assets/2016/jaslin-case-study.jpg +image: /assets/2016/jaslin-case-study.webp --- ## Usercase of using wechat robot with Wechaty @@ -43,7 +43,7 @@ Jas, 3/12/2016 > Author: @[JasLin](https://github.com/jaslin/), BotWave CTO, Wechaty Contributor -[jaslin-case]: /assets/2016/jaslin-case-study.jpg -[jaslin-record]: /assets/2016/jaslin-use-case-record.jpg -[jaslin-send]: /assets/2016/jaslin-use-case-send.jpg -[jaslin-statistics]: /assets/2016/jaslin-use-case-statistics.jpg +[jaslin-case]: /assets/2016/jaslin-case-study.webp +[jaslin-record]: /assets/2016/jaslin-use-case-record.webp +[jaslin-send]: /assets/2016/jaslin-use-case-send.webp +[jaslin-statistics]: /assets/2016/jaslin-use-case-statistics.webp diff --git a/jekyll/_posts/2016-12-10-try-to-write-wexinrobot.md b/jekyll/_posts/2016-12-10-try-to-write-wexinrobot.md index 701d7976314..325334c2409 100644 --- a/jekyll/_posts/2016-12-10-try-to-write-wexinrobot.md +++ b/jekyll/_posts/2016-12-10-try-to-write-wexinrobot.md @@ -5,7 +5,7 @@ categories: story tags: - code - news -image: /assets/2016/ruirui-dance.jpg +image: /assets/2016/ruirui-dance.webp --- 我一直和我的小伙伴在业余时间拍摄舞蹈教学视频,叫“舞哩”,原创了几百个视频,近千万的播放,所以就建了微信群来和粉丝交流。 @@ -176,8 +176,8 @@ Wechaty解放了我的一些重复性工作,我也希望能为Wechaty做点什 ![qr-code][qr-code] -[ruirui-dance-image]: /assets/2016/ruirui-dance.jpg -[wechaty-pic]: /assets/2017/lijiarui-write-bot-wechaty-pic.jpeg -[docker-pull]: /assets/2017/lijiarui-write-bot-docker-pull.jpeg -[run-ding]: /assets/2017/lijiarui-write-bot-run-ding.jpeg -[qr-code]: /assets/2017/lijiarui-write-bot-qr-code.jpeg +[ruirui-dance-image]: /assets/2016/ruirui-dance.webp +[wechaty-pic]: /assets/2017/lijiarui-write-bot-wechaty-pic.webp +[docker-pull]: /assets/2017/lijiarui-write-bot-docker-pull.webp +[run-ding]: /assets/2017/lijiarui-write-bot-run-ding.webp +[qr-code]: /assets/2017/lijiarui-write-bot-qr-code.webp diff --git a/jekyll/_posts/2017-01-01-getting-started-wechaty.md b/jekyll/_posts/2017-01-01-getting-started-wechaty.md index 7b8e2ccf845..0897532c92e 100644 --- a/jekyll/_posts/2017-01-01-getting-started-wechaty.md +++ b/jekyll/_posts/2017-01-01-getting-started-wechaty.md @@ -5,7 +5,7 @@ categories: tutorial tags: - code - news -image: /assets/2017/lijiarui-speech-nodejs.jpg +image: /assets/2017/lijiarui-speech-nodejs.webp --- {% include iframe.html src="https://www.youtube.com/watch?v=IUDuxHaV9bQ?t=85" %} @@ -93,4 +93,4 @@ docker run -ti --volume="$(pwd)":/bot --rm zixia/wechaty mybot.ts [Click here to get the repo](https://github.com/lijiarui/Getting-Started-with-Wechaty---Live-Coding-Tutorial "Click here to get the repo") -[ruirui-speech-nodejs-image]: /assets/2017/lijiarui-speech-nodejs.jpg +[ruirui-speech-nodejs-image]: /assets/2017/lijiarui-speech-nodejs.webp diff --git a/jekyll/_posts/2017-01-06-wechaty-101-presentation.md b/jekyll/_posts/2017-01-06-wechaty-101-presentation.md index 0d80d09fdcd..dada3651b8d 100644 --- a/jekyll/_posts/2017-01-06-wechaty-101-presentation.md +++ b/jekyll/_posts/2017-01-06-wechaty-101-presentation.md @@ -5,7 +5,7 @@ categories: announcement tags: - talk - news -image: /assets/2017/wechaty-connect-chatbots.jpg +image: /assets/2017/wechaty-connect-chatbots.webp --- This talk was presented at [Node Party Beijing](https://github.com/rockq-org/node-party) #18 Dec 2016, all about ChatBots. diff --git a/jekyll/_posts/2017-03-20-added-hot-reload-for-bots.md b/jekyll/_posts/2017-03-20-added-hot-reload-for-bots.md index 268a4d9312c..57a66a92e65 100644 --- a/jekyll/_posts/2017-03-20-added-hot-reload-for-bots.md +++ b/jekyll/_posts/2017-03-20-added-hot-reload-for-bots.md @@ -4,7 +4,7 @@ author: gcaufy categories: feature tags: - code -image: /assets/2017/gcaufy-hot-reload-screencast.gif +image: /assets/2017/gcaufy-hot-reload-screencast.webp --- ![avatars](https://avatars3.githubusercontent.com/u/2182004?v=3&s=88) @@ -193,4 +193,4 @@ docker run -ti -e NODE_ENV=production --rm --volume="$(pwd)":/bot zixia/wechaty 作者:@[Gcaufy](https://github.com/gcaufy), Tencent, [Wechaty Contributor](https://github.com/orgs/Chatie/teams/contributor) -[gcaufy-hot-reload]: /assets/2017/gcaufy-hot-reload-screencast.gif +[gcaufy-hot-reload]: /assets/2017/gcaufy-hot-reload-screencast.webp diff --git a/jekyll/_posts/2017-04-13-support-message-type-of-image-and-video.md b/jekyll/_posts/2017-04-13-support-message-type-of-image-and-video.md index 2a59696e3cc..7ec9c7224e4 100644 --- a/jekyll/_posts/2017-04-13-support-message-type-of-image-and-video.md +++ b/jekyll/_posts/2017-04-13-support-message-type-of-image-and-video.md @@ -4,7 +4,7 @@ author: mukaiu categories: feature tags: - code -image: /assets/2017/mukaiu-ding-code.jpg +image: /assets/2017/mukaiu-ding-code.webp --- 公司活动,需要对入群用户进行管理和自动回复。前期在Node Party Beijing上接触到 @huan 的分享,Wechaty刚好能支持该活动,支持Docker部署,是一个很棒的Bot Framework。 @@ -164,4 +164,4 @@ Room.say(mediaMessage: MediaMessage) ![avatars2](https://avatars2.githubusercontent.com/u/7746790?v=3&s=88) -[mukaiu-ding-code]: /assets/2017/mukaiu-ding-code.jpg +[mukaiu-ding-code]: /assets/2017/mukaiu-ding-code.webp diff --git a/jekyll/_posts/2017-04-21-interact-wechaty-with-ruby-on-rails-from-scratch.md b/jekyll/_posts/2017-04-21-interact-wechaty-with-ruby-on-rails-from-scratch.md index f61bcf186e4..d4b64a0684d 100644 --- a/jekyll/_posts/2017-04-21-interact-wechaty-with-ruby-on-rails-from-scratch.md +++ b/jekyll/_posts/2017-04-21-interact-wechaty-with-ruby-on-rails-from-scratch.md @@ -5,7 +5,7 @@ categories: tutorial tags: - code - featured -image: /assets/2017/wildcat-rails-db-initial-structure.png +image: /assets/2017/wildcat-rails-db-initial-structure.webp --- ![architecture2][wildcat-rails-architecture-2] @@ -424,9 +424,9 @@ Thanks for your reading. Feel free to drop any questions. [^3]: Read–eval–print loop - Wikipedia: [https://en.wikipedia.org/wiki/Read–eval–print_loop](https://en.wikipedia.org/wiki/Read–eval–print_loop) [^4]: Docker (software) - Wikipedia: [https://en.wikipedia.org/wiki/Docker_(software)](https://en.wikipedia.org/wiki/Docker_(software)) -[wildcat-rails-db-initial-structure]: /assets/2017/wildcat-rails-db-initial-structure.png -[wildcat-rails-architecture-1]: /assets/2017/wildcat-rails-architecture-1.png -[wildcat-rails-architecture-2]: /assets/2017/wildcat-rails-architecture-2.png -[wildcat-rails-admin-panel]: /assets/2017/wildcat-rails-admin-panel.png +[wildcat-rails-db-initial-structure]: /assets/2017/wildcat-rails-db-initial-structure.webp +[wildcat-rails-architecture-1]: /assets/2017/wildcat-rails-architecture-1.webp +[wildcat-rails-architecture-2]: /assets/2017/wildcat-rails-architecture-2.webp +[wildcat-rails-admin-panel]: /assets/2017/wildcat-rails-admin-panel.webp Author: [@imWildCat](https://github.com/imWildCat), University of Portsmouth diff --git a/jekyll/_posts/2017-04-21-wechaty-meeting-dinner.md b/jekyll/_posts/2017-04-21-wechaty-meeting-dinner.md index 7b5753ab9b6..d6a9ea90b15 100644 --- a/jekyll/_posts/2017-04-21-wechaty-meeting-dinner.md +++ b/jekyll/_posts/2017-04-21-wechaty-meeting-dinner.md @@ -5,7 +5,7 @@ categories: event tags: - meetup - news -image: /assets/2017/wechat-meeting.jpg +image: /assets/2017/wechat-meeting.webp --- ![Photo][antonia-video-photo] @@ -60,7 +60,7 @@ Here is the Chinese version. 很开心大家能聚在一起,共同探讨技术问题并增进对彼此的了解,希望日后能多一些线下交流的机会。 -[dinner-photo]: /assets/2017/wechat-meeting.jpg -[antonia-video-photo]: /assets/2017/antonia0912-issue-4-seminar.jpg +[dinner-photo]: /assets/2017/wechat-meeting.webp +[antonia-video-photo]: /assets/2017/antonia0912-issue-4-seminar.webp Author: [Yang BAI](https://github.com/antonia0912), formal community manager at [JueJin](https://juejin.im/)(Chinese Hacker News) diff --git a/jekyll/_posts/2017-05-17-deliver-dialogs-with-superscript.md b/jekyll/_posts/2017-05-17-deliver-dialogs-with-superscript.md index a7002f7d2b7..98114bd61e6 100644 --- a/jekyll/_posts/2017-05-17-deliver-dialogs-with-superscript.md +++ b/jekyll/_posts/2017-05-17-deliver-dialogs-with-superscript.md @@ -11,7 +11,7 @@ tags: 现在时间是7点半,8点下班回家,在这半个小时,让我们来聊聊SuperScript 和 Wechaty 结合带来的巨大前景。 -![Blue and Red pill](/assets/2017/samurais-the-matrix.jpg) +![Blue and Red pill](/assets/2017/samurais-the-matrix.webp) Wechaty就像是连到母体的管道,当我们还在思考着是吃红药片还是蓝药片的时候,pia,[zixia](https://github.com/huan)就把Wechaty给做出来。然后呢?! @@ -21,7 +21,7 @@ Wechaty就像是连到母体的管道,当我们还在思考着是吃红药片 SuperScript是一个开源的对话引擎。使用SuperScript定义的语法,书写脚本文件,然后使用编译工具,生成对话元数据。 -![ss](/assets/2017/samrais-ss-1.png) +![ss](/assets/2017/samrais-ss-1.webp) ### 脚本 @@ -89,7 +89,7 @@ SuperScript是一个开源的对话引擎。使用SuperScript定义的语法, ## SuperScript and Wechaty -![ss](/assets/2017/samurias-hifive.jpg) +![ss](/assets/2017/samurias-hifive.webp) ```sh git clone git@github.com:Samurais/ss-wechaty.git && cd ss-wechaty diff --git a/jekyll/_posts/2017-06-05-a-simple-wechaty-bot-with-intelligence-powered-by-tf.md b/jekyll/_posts/2017-06-05-a-simple-wechaty-bot-with-intelligence-powered-by-tf.md index 79f54054fba..13722914269 100644 --- a/jekyll/_posts/2017-06-05-a-simple-wechaty-bot-with-intelligence-powered-by-tf.md +++ b/jekyll/_posts/2017-06-05-a-simple-wechaty-bot-with-intelligence-powered-by-tf.md @@ -8,7 +8,7 @@ tags: - tensorflow - news - utility -image: /assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png +image: /assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.webp --- Wechaty is an powerful library to help developers interact with WeChat programmatically, creating a bot for a varity of purposes. A very significant purpose of a bot is to chat with users, implementing tons of businesses within only a message app instead of a website or other apps[^1] (Raval, 2016). A chatbot is extremely useful for businesses such as custom services. A traditional way to implement a chatbot is to write all possible responses. It would cost a large amount of time and money and seems to be 'mission impossible'. With the growth of Artificial Intelligence, machines could learn from a large number of dialogues generated by human beings automatically so that programmers do not have to 'teach' these machines step by step. In this article, I will introduce a few codes of TensorFlow to make our chatbots more 'intelligent'. @@ -143,11 +143,11 @@ Although there would be a number of challenges in the future, it is desirable to [^1]: Siraj Raval, 2016. *How to Make an Amazing Tensorflow Chatbot Easily*. Retrieved from: [https://www.youtube.com/watch?v=SJDEOWLHYVo](https://www.youtube.com/watch?v=SJDEOWLHYVo) [^2]: Russell Jon, 2017. *Google’s AlphaGo AI wins three-match series against the world’s best Go player*. Retrived from: [https://techcrunch.com/2017/05/24/alphago-beats-planets-best-human-go-player-ke-jie/](https://techcrunch.com/2017/05/24/alphago-beats-planets-best-human-go-player-ke-jie/) -[wechaty-and-tensorflow]: /assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png -[from-go-to-chatbot]: /assets/2017/wildcat-tf-from-go-to-chatbot.png -[screenshot-training]: /assets/2017/wildcat-tf-screenshot-training.png -[screenshot-testing]: /assets/2017/wildcat-tf-screenshot-testing.png -[screenshot-simple-ui]: /assets/2017/wildcat-tf-screenshot-simple-ui.jpg -[screenshot-bot-in-wechat]: /assets/2017/wildcat-tf-screenshot-bot-in-wechat.jpg +[wechaty-and-tensorflow]: /assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.webp +[from-go-to-chatbot]: /assets/2017/wildcat-tf-from-go-to-chatbot.webp +[screenshot-training]: /assets/2017/wildcat-tf-screenshot-training.webp +[screenshot-testing]: /assets/2017/wildcat-tf-screenshot-testing.webp +[screenshot-simple-ui]: /assets/2017/wildcat-tf-screenshot-simple-ui.webp +[screenshot-bot-in-wechat]: /assets/2017/wildcat-tf-screenshot-bot-in-wechat.webp Author: [@imWildCat](https://github.com/imWildCat), University of Birmingham diff --git a/jekyll/_posts/2017-06-06-the-first-chatie-wwdc-party.md b/jekyll/_posts/2017-06-06-the-first-chatie-wwdc-party.md index c2b4f485032..625ac1a54ec 100644 --- a/jekyll/_posts/2017-06-06-the-first-chatie-wwdc-party.md +++ b/jekyll/_posts/2017-06-06-the-first-chatie-wwdc-party.md @@ -6,7 +6,7 @@ tags: - meetup - news - featured -image: /assets/2017/wechaty-wwdc.jpg +image: /assets/2017/wechaty-wwdc.webp --- On June 6, 2017, 6 pm, we have a great first Wechaty World Wide Developer Conference (WWDC) at Su Shi Restaurant of Wudaokou, Beijing. diff --git a/jekyll/_posts/2017-06-24-an-interesting-weekend-with-wechaty.md b/jekyll/_posts/2017-06-24-an-interesting-weekend-with-wechaty.md index 7080ad8f5b4..fb6897e217d 100644 --- a/jekyll/_posts/2017-06-24-an-interesting-weekend-with-wechaty.md +++ b/jekyll/_posts/2017-06-24-an-interesting-weekend-with-wechaty.md @@ -6,7 +6,7 @@ tags: - code - featured - social -image: /assets/2017/helen-screenshot-testing.jpg +image: /assets/2017/helen-screenshot-testing.webp --- Thanks for inviting me to write this article that give me a chance to share my story for each other. And Wechaty is a very awesome library that is powerful and easy to use. The most important point is that is interesting for Wechat users and developers. @@ -128,8 +128,8 @@ bot.on('scan', (url, code)=>{ Finally, I want to thank our teammate [@拖拉机](https://github.com/dianwuone) [@姜姜姜](https://github.com/jiangyuzhen) [@glowd](https://github.com/Glowdable) [@myself](https://github.com/TingYinHelen) -[screenshot-test]: /assets/2017/helen-screenshot-testing.jpg -[screenshot-doc]: /assets/2017/helen-screenshot-doc.png +[screenshot-test]: /assets/2017/helen-screenshot-testing.webp +[screenshot-doc]: /assets/2017/helen-screenshot-doc.webp ![avatar](https://avatars2.githubusercontent.com/u/14006826?v=3&s=88) diff --git a/jekyll/_posts/2017-07-06-wechaty-sticker-on-sale.md b/jekyll/_posts/2017-07-06-wechaty-sticker-on-sale.md index d78c0bab461..7b8769c6354 100644 --- a/jekyll/_posts/2017-07-06-wechaty-sticker-on-sale.md +++ b/jekyll/_posts/2017-07-06-wechaty-sticker-on-sale.md @@ -5,7 +5,7 @@ categories: shop tags: - news - badge -image: /assets/2017/wechaty-sticker.jpg +image: /assets/2017/wechaty-sticker.webp --- [![Wechaty Sticker][wechaty-sticker-size]](https://item.jd.com/12994583384.html) @@ -35,9 +35,9 @@ If you are using Wechaty and you love Wechaty, from now you can buy our logo sti [^1]: Disclaimer: The seller is not wechaty/wechaty but a 3rd party partner. [^2]: Worldwide: International shipping with PayPal/Credit Card support. -[wechaty-sticker]: /assets/2017/wechaty-sticker.jpg -[wechaty-sticker-mac]: /assets/2017/wechaty-sticker-mac.jpg -[wechaty-sticker-size]: /assets/2017/wechaty-sticker-size.jpg -[wechaty-sticker-mac-inside]: /assets/2017/wechaty-sticker-mac-inside.jpg -[wechaty-sticker-ipad]: /assets/2017/wechaty-sticker-ipad.jpg -[wechaty-sticker-windows]: /assets/2017/wechaty-sticker-windows.jpg +[wechaty-sticker]: /assets/2017/wechaty-sticker.webp +[wechaty-sticker-mac]: /assets/2017/wechaty-sticker-mac.webp +[wechaty-sticker-size]: /assets/2017/wechaty-sticker-size.webp +[wechaty-sticker-mac-inside]: /assets/2017/wechaty-sticker-mac-inside.webp +[wechaty-sticker-ipad]: /assets/2017/wechaty-sticker-ipad.webp +[wechaty-sticker-windows]: /assets/2017/wechaty-sticker-windows.webp diff --git a/jekyll/_posts/2017-07-13-how-to-build-a-chatbot.md b/jekyll/_posts/2017-07-13-how-to-build-a-chatbot.md index b134c8dc095..abbf0df4277 100644 --- a/jekyll/_posts/2017-07-13-how-to-build-a-chatbot.md +++ b/jekyll/_posts/2017-07-13-how-to-build-a-chatbot.md @@ -5,14 +5,14 @@ categories: tutorial tags: - talk - featured -image: /assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg +image: /assets/2017/itdakashuo-how-to-build-a-chatbot-7.webp --- > Chatbot,聊天机器人,用于和人类用户聊天的电脑程序。它是场交互革命,也是一个多技术融合的平台。桔子互动创始人根据自己的经验告诉大家,该如何来编写微信聊天机器人。 ## What are chatbots and why the hype -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-1.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-1.webp) 早在80年代,大家普遍使用PC上网,所有网上交互都是通过PC客户端去实现的。随着网速变得越来越快,浏览器开始普及。 @@ -26,7 +26,7 @@ image: /assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg 我认为chatbot是未来,接下来的所有服务可能都是通过chatbot去实现的。 -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-2.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-2.webp) Chatbot Magazine创始人Matt Schlicht对chatbot的定义是:“A chatbot is a service,powered by rules and sometimes artificial intelligence,that you interact with via a chat interface.” @@ -40,7 +40,7 @@ Chatbot Magazine创始人Matt Schlicht对chatbot的定义是:“A chatbot is a ## Overview of the bot ecosystem -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-3.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-3.webp) Facebook Message已经向开发者开放了,Apple ios Message APPS也在开放,Slack、Kik、Telegram和Skype都支持相关的接口。 Facebook收购了Wit.ai,google收购了Api.ai,微软推出了luis.ai。我认为这三个都是实现一样的功能,就是实行意图识别。 @@ -53,7 +53,7 @@ Facebook Message上面有超过10万个bots,大概有10万个开发者在Faceb 在其它平台如Skype、Telegram上也有上千的bot。 -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-4.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-4.webp) 消费者能够真正接触到的chatbots大概分为三类: @@ -65,7 +65,7 @@ Facebook Message上面有超过10万个bots,大概有10万个开发者在Faceb Chatbot是一个很大的产业,它不是只有AI和deep learning,不一定要high tech去做,也不只有算法。而是要真正去解决一些实际问题。未来它就会像APP一样在我们身边,为我们提供非常一些简洁的服务。 -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-5.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-5.webp) Requirement和正常软件开发相似,然后写一些需求的文档和需求说明。 @@ -80,12 +80,12 @@ Chatbot里做的测试和一般的APP测试不一样。在APP里可以简单暴 要部署到一个可托管的环境并时刻去监控它,然后做推广。 最后还要做chatbot的分析,需要知道每一个会话时长是怎样的、用户对什么最感兴趣。拿到这些数据后再去调研用户的需求,形成一个循环。 -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-6.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-6.webp) Chatbot主要是从场景入手,更关注的是解决一些问题和创新的点,而不是底层的开发。我认为接下来各种开发者也会从APP开发者转换成chatbot开发者,只是时间问题。 ## itdakashuo-how-to-build-a-chatbot -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-7.webp) Wechaty是一个可以让微信变成机器人的接口,利用这个框架可以把个人微信号变成机器人,能自动回复和提供一些服务。 @@ -95,7 +95,7 @@ Side project通过代码追踪的方式应对微信网页变化。 Wechaty的七个基本事件分别是error、scan、login、logout、message、friend和join。 -![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-8.jpg) +![wechaty](/assets/2017/itdakashuo-how-to-build-a-chatbot-8.webp) ## Related Scene diff --git a/jekyll/_posts/2017-07-17-run-your-telegram-bot-with-wechaty.md b/jekyll/_posts/2017-07-17-run-your-telegram-bot-with-wechaty.md index 5076e1a6659..2bbc5e50e37 100644 --- a/jekyll/_posts/2017-07-17-run-your-telegram-bot-with-wechaty.md +++ b/jekyll/_posts/2017-07-17-run-your-telegram-bot-with-wechaty.md @@ -7,12 +7,12 @@ tags: - telegram - news - utility -image: /assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png +image: /assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.webp --- Before introducing [Wechaty Telegram Bot Adaptor](https://github.com/hczhcz/wechaty-telegram), I would like to say something about Telegram chatbots. Recent days, I have a lot of fun playing chatbots on Telegram. After lynched hundreds of tanners in [Werewolf](http://www.tgwerewolf.com/) games, I realized that a chatbot can bring so much fun to users. -![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png) +![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.webp) ## Playing Werewolf on Telegram @@ -20,7 +20,7 @@ What are the differences between a chatbot and a game app? A chatbot is much mor In addition to games, chatbots can involve in one's daily life from many aspects. When I wake up in the morning, I can call a bot to add myself to the list of early-morning guys (even if I get up later than 10 a.m. XD). I can keep tracking the updates from GitHub via a bot. A bot can also get random XKCD comics, Konachan wallpapers or Wikipedia entries for me. There are some super funny chatbots. One of them would let you ban a user in a group for several seconds but you have a probability of 50% that gets yourself banned. Another will pair the parentheses you sent. For example, if you say something like "(逃", it will reply ") ○( ̄^ ̄○)". -![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.jpg) +![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.webp) ## A Bot Involves in Your Daily Life (via Imgur) @@ -46,11 +46,11 @@ WeChat is a great chatting application and it may be the most functional one. It Taking [MESE bot](https://github.com/hczhcz/mese-next-telegram) as an example, it is a Telegram chatbot of a business simulation game MESE. Several months ago, I ported it to WeChat because the majority of MESE players in China do not use Telegram. The idea is creating a mock Telegram chatbot library which provides Telegram's interface but interacts with WeChat internally. It is somewhat a dirty hack. The mock library processes text message only, and the user identification still works in WeChat's way. I slightly modified the code of MESE bot so that it works as expected. Since then, by writing the code once, the new feature of MESE bot will be deployed to both Telegram and WeChat. -![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.png) +![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.webp) ## Telegram MESE Bot -![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.png) +![telegram](/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.webp) ## WeChat MESE Bot diff --git a/jekyll/_posts/2017-08-28-wechaty-shanghai-meetup.md b/jekyll/_posts/2017-08-28-wechaty-shanghai-meetup.md index 80082c2189f..4af3f5af363 100644 --- a/jekyll/_posts/2017-08-28-wechaty-shanghai-meetup.md +++ b/jekyll/_posts/2017-08-28-wechaty-shanghai-meetup.md @@ -5,13 +5,13 @@ categories: event tags: - meetup - news -image: /assets/2017/dcsan-shanghai-meetup.jpg +image: /assets/2017/dcsan-shanghai-meetup.webp --- Most of the Wechaty core team are in Beijing, but there are a few of us here in Shanghai too. [@lijiarui](https://github.com/lijiarui) was in town for a few days and so we had a small get together! -![shanghai wechaty peeps](/assets/2017/dcsan-shanghai-meetup.jpg) +![shanghai wechaty peeps](/assets/2017/dcsan-shanghai-meetup.webp) We talked devops, chatbot games, NLP and more! diff --git a/jekyll/_posts/2017-09-10-wechaty-the-bot-sdk.md b/jekyll/_posts/2017-09-10-wechaty-the-bot-sdk.md index e2d2a7ce7db..468f40e700e 100644 --- a/jekyll/_posts/2017-09-10-wechaty-the-bot-sdk.md +++ b/jekyll/_posts/2017-09-10-wechaty-the-bot-sdk.md @@ -6,7 +6,7 @@ tags: - api - unofficial - news -image: /assets/2017/dcsan-dashbot.jpg +image: /assets/2017/dcsan-dashbot.webp --- Recently I was in San Francisco talking to a lot of my friends in the Chatbot community, and realized how the Wechaty community is becoming central to Chatbot development in China. @@ -61,7 +61,7 @@ There are some [fascinating ideas here for a language to compose bots](https://w ## Analytics for Bots -![Dennis and Socks](/assets/2017/dcsan-dashbot.jpg) +![Dennis and Socks](/assets/2017/dcsan-dashbot.webp) One of those from overseas who works with the Wechaty team is Dennis Yang from [Dashbot.io](https://www.dashbot.io/), one of the leading analytics providers purely for 'bots. The 'bot industry outside of China is at this established stage where the ecosystem is growing enough to have all types of companies from authoring to analytics to AI. diff --git a/jekyll/_posts/2017-09-18-wechaty-selfie-bot.md b/jekyll/_posts/2017-09-18-wechaty-selfie-bot.md index e556806008c..796a75e07cd 100644 --- a/jekyll/_posts/2017-09-18-wechaty-selfie-bot.md +++ b/jekyll/_posts/2017-09-18-wechaty-selfie-bot.md @@ -7,7 +7,7 @@ tags: - featured - machine-learning - game -image: /assets/2017/wechaty-selfie-pear.jpg +image: /assets/2017/wechaty-selfie-pear.webp --- Recently I found a fun and easy middleware to use for WeChat, called [Wechaty](https://github.com/wechaty/wechaty). @@ -16,13 +16,13 @@ Wechaty can help developers quickly build applications based on Wechat, and it w So I build a fun application based on Wechaty, called [wechaty_selfie](https://github.com/huyingxi/wechaty_selfie), which is a ChatBot that can score self-portraits. -![selfie pear](/assets/2017/wechaty-selfie-pear.jpg) +![selfie pear](/assets/2017/wechaty-selfie-pear.webp) Say goodbye to your choice of difficulty! ## Screenshot of the application -![selfie demo](/assets/2017/wechaty-selfie-demo-screenshoot.jpg) +![selfie demo](/assets/2017/wechaty-selfie-demo-screenshoot.webp) ## Our development steps diff --git a/jekyll/_posts/2017-09-20-add-wechaty-jsdoc.md b/jekyll/_posts/2017-09-20-add-wechaty-jsdoc.md index 294dbd6513e..9fb6f1aa9a0 100644 --- a/jekyll/_posts/2017-09-20-add-wechaty-jsdoc.md +++ b/jekyll/_posts/2017-09-20-add-wechaty-jsdoc.md @@ -4,12 +4,12 @@ author: lijiarui categories: announcement tags: - document -image: /assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg +image: /assets/2017/add-wechaty-jsdoc-automate-all-the-things.webp --- In order to sync the doc with the latest code, it's best to use [jsdoc](https://github.com/jsdoc3/jsdoc) to describe the API and use [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown) to generate markdown format documents to the docs directory. -![automate all the things](/assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg) +![automate all the things](/assets/2017/add-wechaty-jsdoc-automate-all-the-things.webp) Yes, we planned to do this for nearly a year... diff --git a/jekyll/_posts/2017-10-04-wechaty-new-release-version-0.9.0.md b/jekyll/_posts/2017-10-04-wechaty-new-release-version-0.9.0.md index 90bda718c0d..9d1623576f4 100644 --- a/jekyll/_posts/2017-10-04-wechaty-new-release-version-0.9.0.md +++ b/jekyll/_posts/2017-10-04-wechaty-new-release-version-0.9.0.md @@ -5,7 +5,7 @@ categories: announcement tags: - release - news -image: /assets/2017/huan-wechaty-new-version-0.9.0.png +image: /assets/2017/huan-wechaty-new-version-0.9.0.webp --- ![wechaty-release-0.9.0][wechaty-release-0.9.0] @@ -120,4 +120,4 @@ Thank you all contributors, Wechaty could not release version 0.9 without your h 1. @[ax4](https://github.com/ax4): [\#380](https://github.com/wechaty/wechaty/pull/380) 1. @[Gcaufy](https://github.com/Gcaufy): [\#310](https://github.com/wechaty/wechaty/pull/310) -[wechaty-release-0.9.0]: /assets/2017/huan-wechaty-new-version-0.9.0.png +[wechaty-release-0.9.0]: /assets/2017/huan-wechaty-new-version-0.9.0.webp diff --git a/jekyll/_posts/2017-10-06-wechat-pc-impactor.md b/jekyll/_posts/2017-10-06-wechat-pc-impactor.md index 1ca02be3e00..7e5cd9ee446 100644 --- a/jekyll/_posts/2017-10-06-wechat-pc-impactor.md +++ b/jekyll/_posts/2017-10-06-wechat-pc-impactor.md @@ -6,10 +6,10 @@ tags: - code - hook - news -image: /assets/2017/h4dex-inject.png +image: /assets/2017/h4dex-inject.webp --- -![Wechat Windows Impactor](/assets/2017/h4dex-inject.png) +![Wechat Windows Impactor](/assets/2017/h4dex-inject.webp) 因为易语言代码有的朋友们可能看起来怪怪的 如果没有接触过它,并不是那么通俗易懂。所以改成了cpp代码供审阅. 由于书写仓促 错误的部分希望大家指正,小弟在此多谢! diff --git a/jekyll/_posts/2017-10-28-ten-minutes-to-build-a-daily-paper-bot.md b/jekyll/_posts/2017-10-28-ten-minutes-to-build-a-daily-paper-bot.md index e0c526b01f9..ee2299f3327 100644 --- a/jekyll/_posts/2017-10-28-ten-minutes-to-build-a-daily-paper-bot.md +++ b/jekyll/_posts/2017-10-28-ten-minutes-to-build-a-daily-paper-bot.md @@ -5,7 +5,7 @@ categories: project tags: - code - media -image: /assets/2017/leinue-bot.jpg +image: /assets/2017/leinue-bot.webp --- I built a bot to deliver the daily paper about machine learning and fintech to the users.Considering the development of lowest cost, I chose wechaty. It's so awesome that it only took me **10 mintues** to make the bot work. @@ -38,7 +38,7 @@ I also added some functions such as automatic reply to the bot, which made our u Finally, I like wechaty, thanks to all the contributors of wechaty! - [1]: /assets/2017/leinue-bot.jpg - [2]: /assets/2017/leinue-screenshot.png + [1]: /assets/2017/leinue-bot.webp + [2]: /assets/2017/leinue-screenshot.webp [3]: https://wechaty.github.io/guide/2017/01/01/getting-started-wechaty.html [4]: https://github.com/wechaty/wechaty/wiki/Docker diff --git a/jekyll/_posts/2017-11-08-red-pocket-wechaty-iyjian.md b/jekyll/_posts/2017-11-08-red-pocket-wechaty-iyjian.md index 6db17b8bffc..5bf57e37067 100644 --- a/jekyll/_posts/2017-11-08-red-pocket-wechaty-iyjian.md +++ b/jekyll/_posts/2017-11-08-red-pocket-wechaty-iyjian.md @@ -5,7 +5,7 @@ categories: project tags: - code - finance -image: /assets/2017/iyjian-1.png +image: /assets/2017/iyjian-1.webp --- 我是个半路出家的程序员,有一个爱玩信用卡的老婆,老婆总逼着我我参加银行的积分活动,为了节省时间,我用wechaty做了一个积分红包机器人。 @@ -76,6 +76,6 @@ docker容器中默认的时间不是东八区,一定要重新搞一下,我 最后,谢谢你用这么多时间看了我写的字。 -[1]: /assets/2017/iyjian-1.png -[2]: /assets/2017/iyjian-2.png -[3]: /assets/2017/iyjian-3.jpg +[1]: /assets/2017/iyjian-1.webp +[2]: /assets/2017/iyjian-2.webp +[3]: /assets/2017/iyjian-3.webp diff --git a/jekyll/_posts/2017-11-25-analysis-and-enhancement-wechaty.md b/jekyll/_posts/2017-11-25-analysis-and-enhancement-wechaty.md index a6b7075a5b7..a19070b9bf4 100644 --- a/jekyll/_posts/2017-11-25-analysis-and-enhancement-wechaty.md +++ b/jekyll/_posts/2017-11-25-analysis-and-enhancement-wechaty.md @@ -5,7 +5,7 @@ categories: hacking tags: - code - featured -image: /assets/2017/binsee-wechaty-structure.png +image: /assets/2017/binsee-wechaty-structure.webp --- ![wechaty结构脑图][1] @@ -430,4 +430,4 @@ function glueToAngular() { 也感谢耐心看完文章的你,希望我的文章没有浪费你的时间。 谢谢! -[1]: /assets/2017/binsee-wechaty-structure.png +[1]: /assets/2017/binsee-wechaty-structure.webp diff --git a/jekyll/_posts/2017-11-26-wechaty-electron-making-your-wechaty-as-a-client-service.md b/jekyll/_posts/2017-11-26-wechaty-electron-making-your-wechaty-as-a-client-service.md index ea5e8960f80..fe3fc65c6ff 100644 --- a/jekyll/_posts/2017-11-26-wechaty-electron-making-your-wechaty-as-a-client-service.md +++ b/jekyll/_posts/2017-11-26-wechaty-electron-making-your-wechaty-as-a-client-service.md @@ -6,7 +6,7 @@ tags: - code - featured - utility -image: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg +image: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.webp --- ## 初识wechaty @@ -118,10 +118,10 @@ app.on('ready', () => { ps: 这几天听闻微信网页端要封的消息,尚不知真假。不过,技术本身更加吸引我。倘若web端被封杀,肯定会涌现出新的解决方案,对技术本身而言,也不算一件坏事情。 - [1]: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg - [2]: /assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.jpg - [3]: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.jpg - [4]: /assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.jpg + [1]: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.webp + [2]: /assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.webp + [3]: /assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.webp + [4]: /assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.webp ![a](https://avatars1.githubusercontent.com/u/33899027?s=88&v=3) diff --git a/jekyll/_posts/2017-12-25-wechaty-mail-tool.md b/jekyll/_posts/2017-12-25-wechaty-mail-tool.md index 25a9c189ba8..13e8691edd4 100644 --- a/jekyll/_posts/2017-12-25-wechaty-mail-tool.md +++ b/jekyll/_posts/2017-12-25-wechaty-mail-tool.md @@ -5,18 +5,18 @@ categories: project tags: - code - utility -image: /assets/2017/wechaty-email.png +image: /assets/2017/wechaty-email.webp --- As soon as I learn how to use 6 lines of JavaScript to achieve a simple chatbot based on [Wechaty](https://github.com/wechaty/wechaty), I was deeply attracted and decide to develop an easy-to-use email tool based on it. [Wechaty-Mail](https://github.com/wnbupt/wechaty_email) is an application based on Wechaty which can help you get notifications in WeChat when you receive new emails. -![wechaty_email](/assets/2017/wechaty-email.png) +![wechaty_email](/assets/2017/wechaty-email.webp) ## Screenshot of the Application For example, my binding email address is 346786495@qq.com -![wechaty-email](/assets/2017/wechaty-email-demo.jpeg) +![wechaty-email](/assets/2017/wechaty-email-demo.webp) ## How to use Wechaty-Mail? diff --git a/jekyll/_posts/2018-01-09-all-you-need-to-know-about-chatbot.md b/jekyll/_posts/2018-01-09-all-you-need-to-know-about-chatbot.md index c2be4a84270..9ef7e7dfac9 100644 --- a/jekyll/_posts/2018-01-09-all-you-need-to-know-about-chatbot.md +++ b/jekyll/_posts/2018-01-09-all-you-need-to-know-about-chatbot.md @@ -4,28 +4,28 @@ author: bukaqiaqia categories: event tags: - datagirls -image: /assets/2018/techiefestival-25.jpeg +image: /assets/2018/techiefestival-25.webp --- 2018年已经到来,一觉醒来,各种社交媒体已经被18岁刷屏 有这样的: -![1_](/assets/2018/techiefestival-1.jpg) +![1_](/assets/2018/techiefestival-1.webp) 当然还有这样的: -![2_](/assets/2018/techiefestival-2.jpg) +![2_](/assets/2018/techiefestival-2.webp) 已经陷入正态分布式懵逼的我决定请教我的私人助手———Siri -![3_](/assets/2018/techiefestival-3.jpg) +![3_](/assets/2018/techiefestival-3.webp) 这让我不禁好奇起来Siri到底有多大? -![4](/assets/2018/techiefestival-4.jpeg) +![4](/assets/2018/techiefestival-4.webp) 好吧,女孩子是要神秘一点才美丽。那么看淡一切,不拘小节的知名佛系青年——龙泉寺的贤二总不会不告诉我吧。 -![5](/assets/2018/techiefestival-5.jpeg) +![5](/assets/2018/techiefestival-5.webp) ## 聊天机器人的历史 @@ -33,7 +33,7 @@ image: /assets/2018/techiefestival-25.jpeg ELIZA最初是为了模仿“无定向的心理治疗师在最初的精神病学访谈中的反应”而开发的,据此验证人与机器之间到底是如何进行交流。她使用了能够识别某些模式和关键词的脚本,并据此产生响应。令Joseph没有想到的是,ELIZA可以像心理治疗师那样与人交流,其中还和其中一些人产生了情感联系。 -![6](/assets/2018/techiefestival-6.jpg) +![6](/assets/2018/techiefestival-6.webp) ELIZA之后激发了大量的聊天机器人,像 PERRY、 ALICE、Mitsuku、Albert One等等。 @@ -41,11 +41,11 @@ SmarterChild是其中最受欢迎的。开发于2000年,00后的它,现在 在2002年一款让全球用户开心大笑的聊天机器人诞生了——SimSimi。它是由韩国科技公司ISMaker创建的应用程序,画面清新可爱,尤为受女生欢迎。由于吉祥物是一只黄色的鸡,在中国又得名小黄鸡。这只小黄鸡凭借其幽默诙谐的应答几乎一夜爆红...在网络上还刮起了人鸡对话的旋风。 -![7](/assets/2018/techiefestival-7.jpg) +![7](/assets/2018/techiefestival-7.webp) 它利用了大约1000万个问答对话的基础,并且词汇量会随着用户的输入而增长。一旦小黄鸡没有数据可以回答,用户可以选择“教学”选项卡教小黄鸡学习新的词语。这让用户仿佛觉得自己是在和多年亲密好友短信交流,在空虚寂寞冷时候给你送来温暖。 -![8](/assets/2018/techiefestival-8.jpeg) +![8](/assets/2018/techiefestival-8.webp) 你以为聊天机器人只能搞笑吗?你错了。在2010年Siri出生了,她几乎重新定义了聊天机器人的功能。这位始终对年龄秘而不宣的神秘女郎今年竟然才刚刚8岁! @@ -53,46 +53,46 @@ SmarterChild是其中最受欢迎的。开发于2000年,00后的它,现在 > 提醒备忘,小case! -![9](/assets/2018/techiefestival-9.gif) +![9](/assets/2018/techiefestival-9.webp) > 帮你叫车,easy job! -![10](/assets/2018/techiefestival-10.gif) +![10](/assets/2018/techiefestival-10.webp) > 懒得读邮件,siri替你读! -![11](/assets/2018/techiefestival-11.gif) +![11](/assets/2018/techiefestival-11.webp) 从打电话、寻找路线、歌曲识别到设置闹钟,你想到的她都能帮你。那么至于siri有多会聊天? -![12](/assets/2018/techiefestival-12.jpeg) +![12](/assets/2018/techiefestival-12.webp) > 有趣的是,Siri发布时,Eliza也被再次请出进行对话。 当时,Eliza和 Siri 之间年龄相差 45 岁,内存相差 200 万倍。 在Siri之后,不到4岁amazon的alexa则让聊天机器人更进一步。她现在内置于Amazon Echo,Echo Dot,Echo Show,Fire TV等多种智能家居设备中。所有你需要做的就是说“Alexa,播放一些音乐”或“Alexa,打开电视机”,就可以轻松命令家里的所有家电了。Amazon甚至允许开发人员使用Alexa技能工具包(ASK)为Alexa创建和发布技能。您可以使用Alexa应用免费下载技巧。 -![13](/assets/2018/techiefestival-13.jpg) +![13](/assets/2018/techiefestival-13.webp) 最后那位表情永远呆萌佛系青年贤二僧人究竟年龄几许呢?这款聊天机器人界的“扫地僧”的生日是2015年10月1日,当天是师父主持龙泉寺工作十周年的日子。它不仅也就是说他不过才1岁半,这么看出家人果然不打诳语。别看他年龄最小,听贤二一席话,能用禅意净化心灵,指引人生方向。 -![14_](/assets/2018/techiefestival-14.jpg) +![14_](/assets/2018/techiefestival-14.webp) ## 风起云涌的商业应用 随着消息应用程序在使用中继续超越社交媒体网络,聊天机器人在商业范围内变得越来越流行,它的不断优化与进步也正在对企业产生显著的变化。现在,越来越多的企业开始在客服渠道引入聊天机器人,以替代使用体验不佳的客服语音系统。这么一来,用户再也不用不耐烦地经过层层系统才能获得资讯或是和人类客服沟通,对商家而言,聊天机器人可以更低的成本提供与客服中心类似的服务。如果第三方开发者能够快速开发出功能丰富的聊天机器人,更多的企业和商户将会利用聊天工具建立和消费者、老顾客之间的沟通管道。 -![15](/assets/2018/techiefestival-15.png) +![15](/assets/2018/techiefestival-15.webp) > 在3个月内聊天机器人甚至实现了170%的增长 在2016年4月份的F8开发者大会上,Facebook宣布为Messenger平台启用聊天机器人(chatbot),商家可以通过它的即时通聊天机器人,提供各种如客服、指引和互动的服务。在线花卉零售商1-800 Flowers的公司总裁克里斯·麦坎(Chris McCann)称在Facebook Messenger中推出聊天机器人发布几个月内,“70%通过聊天机器人达成的公司订单都是新客户订单。这些用户比公司的普通用户更为年轻。”可以说,聊天机器人在迎合了正成为消费主力军的千禧一代(1984-1995年出生)的喜好。 与此同时一向高冷的各大时尚品牌,诸如Burberry,维多利亚的秘密,Tommy Hilfiger也加紧引进聊天机器人的步伐。你可以浏览本季最新款式,翻看商品目录。聊天机器人会询问你的身材尺码,所在国家,服饰喜好等等来协助你选择商品。如果感兴趣,选择更详细地查看该项目或进行购买,你立即被带到品牌网站,整个产品线以各种颜色和尺寸都会展现眼前。她让我觉得就算闺蜜不在,依然有人陪你一起买买买。 -![16](/assets/2018/techiefestival-16.png) +![16](/assets/2018/techiefestival-16.webp) 与此同时,国内的各大电商也早已开发并引进机器人客服,并且效果显著。2016 年,合众人寿引入了蚂蚁金服客服能力,在线客服、自动外呼、智能质检,对作业效率和作业质量的提升明显。机器人解决率高达 83%,呼出产能提升 15%,呼入产能提升 10%。 -![17](/assets/2018/techiefestival-17.gif) +![17](/assets/2018/techiefestival-17.webp) 自动应答以及聊天机器人并不是噱头或是营销活动,而是新的用户界面的范例。当用户通过消息与企业进行交互,他能够感觉到在进行真实的对话交流。而消息这种交互方式具有天生的再联功能,因为用户与消息应用中的聊天机器人能够真正交互。企业花费数百万美元以及数年时间推出移动应用程序的情形已经不复存在。 @@ -104,17 +104,17 @@ SmarterChild是其中最受欢迎的。开发于2000年,00后的它,现在 机器学习中:你需要一个样本集来训练一个在给定用户输入时能从所有可能的内容(例如,买票、检查航班状态、获取详细信息等)中选择的分类器。 -![18](/assets/2018/techiefestival-18.jpeg) +![18](/assets/2018/techiefestival-18.webp) 比如“我想在1月31号从法国巴黎去意大利的威尼斯”。在这个场景中,对于城市和日期的理解输入并返回一个合适的答案是非常关键的。聊天机器人可能会在数据库(或者在线查询)中查找在给定日期从威尼斯到巴黎的机票。因此,聊天机器人需要对输入进行信息提取来获得重要的实体:位置、航班、机场、日期等等。对输入进行分类和从中提取信息是需要时刻谨记的两个重要观念。 这里提到聊天机器人,我们不得不提到NLP的概念: -![19](/assets/2018/techiefestival-19.jpg) +![19](/assets/2018/techiefestival-19.webp) > NLP,即自然语言处理技术,是研究计算机处理人类语言的一门技术,它包括句法语义分析,信息抽取,文本挖掘(或者文本数据挖掘),机器翻译,信息检索,问答系统,对话系统。它可以对于给定的句子,进行分词、词性标记、命名实体识别和链接,并且从给定文本中抽取重要的信息,比如,时间、地点、人物、事件、原因、结果、数字、日期、货币、专有名词等等。通俗说来,就是要了解谁在什么时候、什么原因、对谁、做了什么事、有什么结果。涉及到实体识别、时间抽取、因果关系抽取等关键技术。不仅如此,NLP也可以通过文本聚类、分类、信息抽取、摘要、情感分析,实现对挖掘的信息和知识的可视化、交互式的表达界面。在运用到聊天机器人时,系统通过一系列的对话,跟用户进行聊天、回答、完成某一项任务。NLP涉及用户意图理解、通用聊天引擎、问答引擎、对话管理等技术。为了体现上下文相关,还具备多轮对话能力。此外,为了体现个性化,还要开发用户画像以及基于用户画像的个性化回复。 -![20](/assets/2018/techiefestival-20.jpeg) +![20](/assets/2018/techiefestival-20.webp) > 特朗普对希拉里:Twitter 上的情感分析 不只是聊天机器人,NLP技术如今在深度学习的领域内发展迅猛,比如词嵌入,情感分析,情感神经元的应用,与自动翻译一样的自动概括等等。 @@ -127,23 +127,23 @@ SmarterChild是其中最受欢迎的。开发于2000年,00后的它,现在 很难想像微软在一系列变故之后的心情…… -![21](/assets/2018/techiefestival-21.gif) +![21](/assets/2018/techiefestival-21.webp) 一个智能的聊天机器人能自我学习,随着时间变得越来越聪明,它能够确保基本听懂你说的所有话。虽然机器学习是伟大的人工智能神药,但同时也是人工智能的绊脚石。比如“Tay”,她曾是真的人工智能,它可以通过自我学习来进行与人类的交流。不过正是这个自我学习把微软着急坏了,不得不出面向公众道歉,给他擦屁股。 此外,虽然很多聊天机器人都宣称自己是“人工智能(AI)”,但是大部分实际上并不智能。 -![22](/assets/2018/techiefestival-22.jpeg) +![22](/assets/2018/techiefestival-22.webp) 那么,非智能的聊天机器人什么样呢?比如Facebook的Messenger上面提供给企业的聊天机器人,你只能按照他们事先设定好的模式去操作。 -![23](/assets/2018/techiefestival-23.jpg) +![23](/assets/2018/techiefestival-23.webp) 如果你在Facebook Messenger或者与微信公众号的聊天机器人聊天,你会发现,这些“智能”聊天机器人,目前根本只是一个嵌在程序内的新闻推送功能。而如果你想利用Jello Labs的Spring聊天机器人去买鞋子,你可能只会收到无休止的商品推荐信息。 语言是进化史上最复杂的产物之一,将人类自然语言的力量与先进的机器智能相结合并非一朝一夕之事。尽管先进的存储技术与机器学习的快速发展让人觉得制作一个聊天机器人看非常简单,但要创造一个真实良好互动体验还有许多障碍需要克服。 -![24](/assets/2018/techiefestival-24.gif) +![24](/assets/2018/techiefestival-24.webp) 现在,你很难想象一个没有Siri和其他语音助手的世界,但几年前,与你的电话交谈告诉它该做什么的想法似乎很荒谬。聊天机器人可以安排会议,告诉你天气,并提供各种支持。而这仅仅是一个开始。可以预想的是,聊天机器人在未来一定会融入生活方方面面,创造更多的惊喜。 @@ -158,7 +158,7 @@ SmarterChild是其中最受欢迎的。开发于2000年,00后的它,现在 想知道更多关于聊天机器人的轶事吗?想学习如何制作聊天机器人吗?快来参加2018女生科技体验节! 新的一年给自己一个成长的机会。1.14我们在北京等着你! -![techiefestival-25](/assets/2018/techiefestival-25.jpeg) +![techiefestival-25](/assets/2018/techiefestival-25.webp) [点我查看活动详情及报名](http://www.huodongxing.com/go/techiefestival2018) ### 关于DataGirls diff --git a/jekyll/_posts/2018-01-14-wechaty-contributor-dinner-data-girl.md b/jekyll/_posts/2018-01-14-wechaty-contributor-dinner-data-girl.md index 4e5cdb1a6fe..7b6a4c18df9 100644 --- a/jekyll/_posts/2018-01-14-wechaty-contributor-dinner-data-girl.md +++ b/jekyll/_posts/2018-01-14-wechaty-contributor-dinner-data-girl.md @@ -5,7 +5,7 @@ categories: event tags: - meetup - news -image: /assets/2018/wechaty-contributor-dinner-data-girl.jpg +image: /assets/2018/wechaty-contributor-dinner-data-girl.webp --- > This Wechaty Contributors Dinner is sponsored by Data Girl. diff --git a/jekyll/_posts/2018-01-25-how-to-build-face-blinder-bot.md b/jekyll/_posts/2018-01-25-how-to-build-face-blinder-bot.md index 020995da558..d737b36656a 100644 --- a/jekyll/_posts/2018-01-25-how-to-build-face-blinder-bot.md +++ b/jekyll/_posts/2018-01-25-how-to-build-face-blinder-bot.md @@ -10,16 +10,16 @@ tags: - featured - utility - social -image: /assets/2018/wechaty-blinder-1.jpg +image: /assets/2018/wechaty-blinder-1.webp --- 这是我在[2017 北京 谷歌开发者节](http://www.itdks.com/eventlist/detail/1627) TensorFlow 分会场的分享,本次活动是由谷歌(中国)、谷歌北京开发者社区主办,北京邮电大学协办的2017谷歌开发者节北京站在北京邮电大学圆满举办。我主要介绍了如何使用开源项目Wechaty-Blinder快速搭建一个微信脸盲机器人,迅速帮助你识别照片里的人。 -![wechaty](/assets/2018/wechaty-blinder-1.jpg) +![wechaty](/assets/2018/wechaty-blinder-1.webp) ## Who am I -![wechaty](/assets/2018/wechaty-blinder-2.jpg) +![wechaty](/assets/2018/wechaty-blinder-2.webp) 在分享这个开源项目之前,我先介绍一个我的先天性缺陷: @@ -34,20 +34,20 @@ image: /assets/2018/wechaty-blinder-1.jpg ## Content -![wechaty](/assets/2018/wechaty-blinder-3.jpg) +![wechaty](/assets/2018/wechaty-blinder-3.webp) 我会从5个角度来做这场分享,首先简单的介绍下TensorFlow, 然后介绍下Google 的Facenet,再来介绍下我们的3个开源项目:Wechaty, Node-Facenet, Wechaty-Blinder, 最后会给大家做现场的代码演示。 之所以介绍wechaty-blinder 的项目要介绍wechaty 和node-facenet,是因为wechaty-blinder 是基于wechaty 和 node-facenet 这两个开源项目的。 ## Google TensorFlow -![wechaty](/assets/2018/wechaty-blinder-4.jpg) +![wechaty](/assets/2018/wechaty-blinder-4.webp) 脸盲机器人wechaty的底层用到了TensorFlow, 今天要介绍的wechaty-blinder 是一个基于TensorFlow 和google 的论文 Facenet 实现的node.js 开源项目,可以帮助解决人脸认证、识别和聚类等问题。 ## Google Facenet -![wechaty](/assets/2018/wechaty-blinder-5.jpg) +![wechaty](/assets/2018/wechaty-blinder-5.webp) Facenet 来源于Google 的论文[FaceNet: A Unified Embedding for Face Recognition and Clustering](https://arxiv.org/abs/1503.03832),是一个用来给人脸做分类的神经网络。 与其他的深度学习方法在人脸上的应用不同,FaceNet并没有用传统的softmax的方式去进行分类学习,然后抽取其中某一层作为特征,而是直接进行端对端学习一个从图像到欧式空间的编码方法,然后基于这个编码再做人脸识别、人脸验证和人脸聚类等,欧式集合距离可以直接来代表脸的相似度。 @@ -58,24 +58,24 @@ FaceNet算法有2个特点: ## Open Source Chatie -![wechaty](/assets/2018/wechaty-blinder-6.jpg) +![wechaty](/assets/2018/wechaty-blinder-6.webp) Wechaty 是一个开源的针对个人号的微信机器人框架,仅仅使用6行JavaScript代码就可以实现一个简单的机器人,同时支持Linux,Windows,Darwin(OSX/Mac) 和 Docker。 博客地址是 [https://wechaty.github.io](https://wechaty.github.io) -![wechaty](/assets/2018/wechaty-blinder-7.jpg) +![wechaty](/assets/2018/wechaty-blinder-7.webp) 最简单的6行代码代码在这里,也可以去我的项目[wechaty-getting-started](https://github.com/lijiarui/wechaty-getting-started.git)下快速入门wechaty。wechaty 最终运行页面就是右手边的样子。 -![wechaty](/assets/2018/wechaty-blinder-8.jpg) +![wechaty](/assets/2018/wechaty-blinder-8.webp) Github, Docker, npm 相关地址在这里,wechaty有非常完善的devOps,一旦代码提交,就会自动进行自动化测试,当测试通过后,会自动打包更新docker 和npm, 所以也欢迎各位开发者来pull request。 -![wechaty](/assets/2018/wechaty-blinder-9.jpg) +![wechaty](/assets/2018/wechaty-blinder-9.webp) Wechaty 现在有非常完善的开发者社区,开发者覆盖了全球,包括中国、美国、澳洲、英国等。这是一部分的contributor的列表,同时chatie 下面也有几个分值项目来支持微信机器人。 -![wechaty](/assets/2018/wechaty-blinder-10.jpg) +![wechaty](/assets/2018/wechaty-blinder-10.webp) [Node-FaceNet](https://npmjs.com/package/facenet) 是一个基于TensorFlow和facenet ,解决人脸认证、识别和聚类问题的开源项目。它是一个用node封装的python的Facenet库,主要实现了下面三个主要功能: @@ -85,7 +85,7 @@ Wechaty 现在有非常完善的开发者社区,开发者覆盖了全球,包 ## Open Source Node-FaceNet -![wechaty](/assets/2018/wechaty-blinder-11.jpg) +![wechaty](/assets/2018/wechaty-blinder-11.webp) 这个开源项目核心是2个类和3个方法,更多的细节可以参考我写的[文档](http://www.zixia.net/node-facenet)。 两个主要的类是: @@ -99,7 +99,7 @@ Wechaty 现在有非常完善的开发者社区,开发者覆盖了全球,包 2. embedding(), 将脸转换成一个128维向量 3. distance(),计算两个脸的距离 -![wechaty](/assets/2018/wechaty-blinder-12.jpg) +![wechaty](/assets/2018/wechaty-blinder-12.webp) 这是一个简单的例子,我们来读左边的代码。先新建一个Facenet 的实例,然后传入照片,看打印出来的face的结果。右边是打印的结果。通过这个我们可以看出来,align 函数在图片上找出这张脸的坐标以后,生成一个Face实例,把所有的实例放在一个数组里面。 这个坐标包括两种,一种是能够框出这个脸的框框,另外一个是脸上关键性的5个特征点。看log感受一下: @@ -107,14 +107,14 @@ Wechaty 现在有非常完善的开发者社区,开发者覆盖了全球,包 * landmarks:代表脸上关键性的5个特征点,左眼、有眼、鼻子、左边的嘴、右边的嘴 * embedding: 代表脸的128维向量, Facenet 论文中的embedding 代表一个脸部特征矩阵,是一个128维向量。 -![wechaty](/assets/2018/wechaty-blinder-13.jpg) +![wechaty](/assets/2018/wechaty-blinder-13.webp) 这是另外一个例子,把脸和脸之间的距离可视化。 我们可以看到这个绿色的框框就是上面我说的align出来的能够框出脸的框框,1.45,1.47, 0.66 三个数字分别代表了两个脸的相似程度,可以看出,数字约小,脸约像。如果两个脸是属于一个人的,他们的距离通常是0.75。当然这只是一个经验性数字,还要具体情况具体分析。 ## Open Source Wechaty-Blinder -![wechaty](/assets/2018/wechaty-blinder-14.jpg) +![wechaty](/assets/2018/wechaty-blinder-14.webp) 终于讲到了今天的主角,脸盲机器人的开源项目[wechaty-blinder](https://github.com/huan/wechaty-blinder), 其实当你了解了上面两个项目以后,wechaty-blinder 就非常好理解了。 @@ -128,14 +128,14 @@ Wechaty 现在有非常完善的开发者社区,开发者覆盖了全球,包 当然,他就可以帮助你认出你发的照片、群、和好友中哪些是同一个人啦。 -![wechaty](/assets/2018/wechaty-blinder-15.jpg) +![wechaty](/assets/2018/wechaty-blinder-15.webp) 这是使用wechaty-blinder 的效果图,看到当我发甄子丹和刘德华的脸的时候,他会自动吐出库里面和这个相似的所有的脸,并可以随时给他们改名字。简单的说就是两点: 1. 识别出脸 2. 给脸起名字 -![wechaty](/assets/2018/wechaty-blinder-16.jpg) +![wechaty](/assets/2018/wechaty-blinder-16.webp) 大家可以体验一下,这个是我预先为这个活动创建好的wechaty-dev-facenet 微信群,群里面有机器人,扫码进去就可以体验这个功能了。 这个机器人已经用Docker 封装好了,运行下面的命令,就可以启动这个机器人了,`WECHATY_TOKEN=TOKEN` 是可以你随便起名字的。 @@ -154,7 +154,7 @@ docker run -d --restart=always --volume=/workdir:/workdir -e WECHATY_TOKEN=TOKEN ## 最后,感谢Google 办了这么一场有趣的活动 -![wechaty](/assets/2018/wechaty-blinder-17.jpeg) +![wechaty](/assets/2018/wechaty-blinder-17.webp) 本次活动邀请到了来自海内外数十位资深工程师,除了 Google的研发专家团队,还邀请到了JetBrains团队,这也是 JetBrains 团队在中国大陆首次针对Kotlin的官方分享。另外,该活动还邀请到了国内诸多一线研发团队,滴滴、Strikingly、百度、集智社区,桔子互动等公司,带来他们近期的一线研发经验。 diff --git a/jekyll/_posts/2018-01-29-girl-techie-festival.md b/jekyll/_posts/2018-01-29-girl-techie-festival.md index 578d87d5ca6..3bd395f49a7 100644 --- a/jekyll/_posts/2018-01-29-girl-techie-festival.md +++ b/jekyll/_posts/2018-01-29-girl-techie-festival.md @@ -5,7 +5,7 @@ categories: event tags: - talk - news -image: /assets/2018/helen-techie-festival.jpeg +image: /assets/2018/helen-techie-festival.webp --- 女孩子天生喜欢漂亮的衣服,衣柜里琳琅满目的首饰,化妆品。周末和闺蜜约会,逛街,喝下午茶。这似乎是众人眼中的姑娘们的标配。然而又有着这么一群女孩,她们喜欢编程,用代码改变着身边细小的事情,改变着世界。聪明,具有创造力,她们用行动诠释了新时代女性的性感。一个女孩的美丽不仅仅来自她的外表,更来自她的思想。2018年女生科技体验节,便是一道独有的风景线,讲师李佳芮带领女孩子们体验使用Wechaty制作自己的微信机器人。 @@ -133,12 +133,12 @@ Server酱,他是一个能从服务器推报警和日志到手机的工具, 文章最后还是提一下我自己的志向,我希望做一个面向女性和儿童的程序员社区,希望有更多的女性加入到编程行业,成为行业的引领者。同时大力提倡儿童编程,如果想跟我聊一聊的,下面是我的联系方式。 -![halen](/assets/2018/helen-weixin.jpg) +![halen](/assets/2018/helen-weixin.webp) -[techie-festival]: /assets/2018/helen-techie-festival.jpeg -[docker-screenshot]: /assets/2018/helen-docker-screenshot.png -[node-screenshot]: /assets/2018/helen-node-screenshot.png -[run-ding]: /assets/2017/lijiarui-write-bot-run-ding.jpeg +[techie-festival]: /assets/2018/helen-techie-festival.webp +[docker-screenshot]: /assets/2018/helen-docker-screenshot.webp +[node-screenshot]: /assets/2018/helen-node-screenshot.webp +[run-ding]: /assets/2017/lijiarui-write-bot-run-ding.webp ![a](https://avatars2.githubusercontent.com/u/14006826?v=3&s=88) > diff --git a/jekyll/_posts/2018-03-09-can-typescript-really-live-up-to-its-hype.md b/jekyll/_posts/2018-03-09-can-typescript-really-live-up-to-its-hype.md index 1270f505106..a1f9a8a4843 100644 --- a/jekyll/_posts/2018-03-09-can-typescript-really-live-up-to-its-hype.md +++ b/jekyll/_posts/2018-03-09-can-typescript-really-live-up-to-its-hype.md @@ -4,10 +4,10 @@ author: suntong categories: article tags: - typescript -image: /assets/2018/typescript-logo.png +image: /assets/2018/typescript-logo.webp --- -![TypeScript](/assets/2018/typescript-logo.png) +![TypeScript](/assets/2018/typescript-logo.webp) Big companies or organizations push forward adopting of Typescript for a reason, mostly to prevent some dummies to shoot their own feet really easily -- The (almost only) advantage of Typescript is to point out, at the compile time, that the following usage is wrong: diff --git a/jekyll/_posts/2018-03-10-wechat-protocol-reference-guide.md b/jekyll/_posts/2018-03-10-wechat-protocol-reference-guide.md index dbacb8b0a16..ed52efc8c47 100644 --- a/jekyll/_posts/2018-03-10-wechat-protocol-reference-guide.md +++ b/jekyll/_posts/2018-03-10-wechat-protocol-reference-guide.md @@ -5,12 +5,12 @@ categories: hacking tags: - hook - featured -image: /assets/2018/h4dex-wechatprotocol.jpeg +image: /assets/2018/h4dex-wechatprotocol.webp --- 在1月初无意看到某微信爱好者学习交流群里发现讨论一个名为 **MicroChat** (基于Mars)利用微信AndroidAPP客户端通讯协议代码!!, 震惊之余,已对作者膜拜。心情激动之下下载了下来,参考了一些文章对原始版本进行了部分修正和应用测试。 后测试增加了一些功能实现以及对扩展模拟任意设备方式登入验证,和特定功能处理的思路。本人能力有限,技术很菜很水,但是秉着对技术向往以及分享我的坑给更多的学习者科普了解,故整理编辑了一篇文章带领大家先一睹为快。并且对MicroChat基础功能做了一些扩展思路,如果有错误的地方,欢迎批评指正 ! -![Wechat Protocol](/assets/2018/h4dex-wechatprotocol.jpeg) +![Wechat Protocol](/assets/2018/h4dex-wechatprotocol.webp) ## 准备工作 diff --git a/jekyll/_posts/2018-04-18-botbuilder-wechaty-connector.md b/jekyll/_posts/2018-04-18-botbuilder-wechaty-connector.md index 465ef636ae7..e89164b1b5f 100644 --- a/jekyll/_posts/2018-04-18-botbuilder-wechaty-connector.md +++ b/jekyll/_posts/2018-04-18-botbuilder-wechaty-connector.md @@ -5,10 +5,10 @@ categories: npm tags: - botbuilder - featured -image: /assets/2018/botframework.jpg +image: /assets/2018/botframework.webp --- -![BotFramework](/assets/2018/botframework.jpg) +![BotFramework](/assets/2018/botframework.webp) [Microsoft BotFramework](https://dev.botframework.com/) is a robust platform that supports almost all kinds of the instance messengers like Facebook messenger, Skype, Slack, and backed by the powerful Cognitive Services like LUIS.ai, QnAMaker.ai, Azure Machine Learning. BotBuilder is a powerful SDK provides all we need when we are developing a ChatBot. I started learning them about 18 months ago, and I love them very much. diff --git a/jekyll/_posts/2018-04-23-blessed-twins-bot.md b/jekyll/_posts/2018-04-23-blessed-twins-bot.md index 1a3a606a904..d1fbeaa16fc 100644 --- a/jekyll/_posts/2018-04-23-blessed-twins-bot.md +++ b/jekyll/_posts/2018-04-23-blessed-twins-bot.md @@ -5,10 +5,10 @@ categories: feature tags: - code - news -image: /assets/2018/blessed-twins-bot.png +image: /assets/2018/blessed-twins-bot.webp --- -![blessed twins bot](/assets/2018/blessed-twins-bot.png) +![blessed twins bot](/assets/2018/blessed-twins-bot.webp) Wechaty v0.16 is working in progress. @@ -107,7 +107,7 @@ By this technic, the code is very clean, the `instanceof` work as expected, ever After all the work, I modulized this part of the code as my new npm module: `clone-class` at , with automatic unit tests and deploy to NPM by CI/CD. -![Hello Mr. Anderson](/assets/2018/agent-smith-clone-anderson.jpg) +![Hello Mr. Anderson](/assets/2018/agent-smith-clone-anderson.webp) And finally, I can create as many bots as I need than before! diff --git a/jekyll/_posts/2018-06-21-wechaty-new-release-version-0.16.md b/jekyll/_posts/2018-06-21-wechaty-new-release-version-0.16.md index 8d1d7dde668..10ec5eff106 100644 --- a/jekyll/_posts/2018-06-21-wechaty-new-release-version-0.16.md +++ b/jekyll/_posts/2018-06-21-wechaty-new-release-version-0.16.md @@ -5,7 +5,7 @@ categories: announcement tags: - release - news -image: /assets/2018/huan-wechaty-new-version-0.16.png +image: /assets/2018/huan-wechaty-new-version-0.16.webp --- ![wechaty-release-0.16][wechaty-release-0.16] @@ -127,4 +127,4 @@ Thank you all contributors, Wechaty could not release version 0.16 without your 1. @[cherry-geqi](https://github.com/cherry-geqi): [\#97](https://github.com/wechaty/wechaty/pull/97) 1. @[lpmi-13](https://github.com/lpmi-13): [\#681](https://github.com/wechaty/wechaty/pull/681) -[wechaty-release-0.16]: /assets/2018/huan-wechaty-new-version-0.16.png +[wechaty-release-0.16]: /assets/2018/huan-wechaty-new-version-0.16.webp diff --git a/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-en.md b/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-en.md index f7c9ab9dfe4..2370d0064b2 100644 --- a/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-en.md +++ b/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-en.md @@ -5,20 +5,20 @@ categories: migration tags: - code - news -image: /assets/2018/code-migration-en.png +image: /assets/2018/code-migration-en.webp --- Wechaty has been updated to version 0.16(BETA) these days and begin to support all kinds of wechat solutions including web, ipad, ios, etc. My product based on wechaty has to migration from wechaty solution based on web to ipad solution. This blog introduces how to porting code from wechaty puppeteer to padchat. -![code](/assets/2018/code-migration-en.png) +![code](/assets/2018/code-migration-en.webp) ## 1. Puppeteer VS Padchat **Puppet System** means to connect Wechaty API to any kinds of Puppets, including Web, iPad, Android, Windows Hook and ios. Different implements of these puppets are totally different, without the puppet, using one API to bridge all implement is very difficult, so we had Puppet System. -![Puppet](/assets/2018/abstract-info.png) +![Puppet](/assets/2018/abstract-info.webp) - Puppeteer: a solution based on Web Wechat - Padchat: a solution based on Ipad Wechat diff --git a/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-zh.md b/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-zh.md index 7cfb4761902..9a2dfad2ced 100644 --- a/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-zh.md +++ b/jekyll/_posts/2018-06-24-migrating-wechaty-v0.14-to-v0.18-guide-from-puppeteer-to-padchat-zh.md @@ -5,14 +5,14 @@ categories: migration tags: - code - news -image: /assets/2018/code-migration-zh.png +image: /assets/2018/code-migration-zh.webp --- Wechaty 近期有了很大的升级,从0.14版本之后,开始陆续支持各类非Web 版本的解决方案。我的业务逻辑代码重度依赖于wechaty,所以自从wechaty release 了0.15 版本以后,我开始将我们的业务逻辑代码陆续从Web版本迁移到了非Web版本上来。 本篇博客主要介绍了我是如何将业务逻辑代码,从Puppeteer 迁移到 Padchat上的。 -![code](/assets/2018/code-migration-zh.png) +![code](/assets/2018/code-migration-zh.webp) ## 1. Puppeteer VS Padchat @@ -22,7 +22,7 @@ Wechaty 近期有了很大的升级,从0.14版本之后,开始陆续支持 现在再来介绍Puppeteer 和 Padchat 就会比较清楚了: -![image](/assets/2018/abstract-info.png) +![image](/assets/2018/abstract-info.webp) - Puppeteer: 基于网页微信的实现,通过puppet连接到Wechaty API。 - Padchat: 基于ipad 协议的实现,通过puppet 连接到Wechaty API。 diff --git a/jekyll/_posts/2018-07-12-wechaty-new-release-version-0.18.md b/jekyll/_posts/2018-07-12-wechaty-new-release-version-0.18.md index 4783b30a511..cb62a9b3cf3 100644 --- a/jekyll/_posts/2018-07-12-wechaty-new-release-version-0.18.md +++ b/jekyll/_posts/2018-07-12-wechaty-new-release-version-0.18.md @@ -6,10 +6,10 @@ tags: - release - news - featured -image: /assets/2018/huan-reduce-weight.jpg +image: /assets/2018/huan-reduce-weight.webp --- -![reduce weight](/assets/2018/huan-reduce-weight.jpg) +![reduce weight](/assets/2018/huan-reduce-weight.webp) > Picture Credit: [Thumber.com](https://www.tumblr.com/search/the%20fastest%20way%20to%20lose%20weight) diff --git a/jekyll/_posts/2018-07-24-wechaty-installation-in-windows-10.md b/jekyll/_posts/2018-07-24-wechaty-installation-in-windows-10.md index 9b9744c2919..d3bb1aff218 100644 --- a/jekyll/_posts/2018-07-24-wechaty-installation-in-windows-10.md +++ b/jekyll/_posts/2018-07-24-wechaty-installation-in-windows-10.md @@ -6,10 +6,10 @@ tags: - windows - install - news -image: /assets/2018/wechaty-installation-in-windows.png +image: /assets/2018/wechaty-installation-in-windows.webp --- -![在 Windows 10 下安装 Wechaty](/assets/2018/wechaty-installation-in-windows.png) +![在 Windows 10 下安装 Wechaty](/assets/2018/wechaty-installation-in-windows.webp) 感谢 @huan @lijiarui 让我在此分享我在 Windows 10 Home 平台安装 Wechaty 的经历,希望我对安装过程的记录和分析能帮助在此平台下安装 Wechaty 的人。 diff --git a/jekyll/_posts/2018-08-09-heroku-deploy-button-for-wechaty-starter-template.md b/jekyll/_posts/2018-08-09-heroku-deploy-button-for-wechaty-starter-template.md index afb12cf135c..42eef157b45 100644 --- a/jekyll/_posts/2018-08-09-heroku-deploy-button-for-wechaty-starter-template.md +++ b/jekyll/_posts/2018-08-09-heroku-deploy-button-for-wechaty-starter-template.md @@ -6,7 +6,7 @@ tags: - heroku - deploy - news -image: /assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.png +image: /assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.webp --- [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/wechaty/heroku-wechaty-getting-started) diff --git a/jekyll/_posts/2018-08-13-wechaty-xiaoli-bot.md b/jekyll/_posts/2018-08-13-wechaty-xiaoli-bot.md index 5bf675ff46c..5d0288ca946 100644 --- a/jekyll/_posts/2018-08-13-wechaty-xiaoli-bot.md +++ b/jekyll/_posts/2018-08-13-wechaty-xiaoli-bot.md @@ -5,10 +5,10 @@ categories: project tags: - code - media -image: /assets/2018/wechaty-xiaoli.jpeg +image: /assets/2018/wechaty-xiaoli.webp --- -![用wechaty实现智能内容机器人](/assets/2018/wechaty-xiaoli.jpeg) +![用wechaty实现智能内容机器人](/assets/2018/wechaty-xiaoli.webp) 感谢 @lijiarui 邀请我分享我们的智能内容服务,以及在wechaty上的应用场景。 @@ -21,7 +21,7 @@ image: /assets/2018/wechaty-xiaoli.jpeg 新闻资讯的查询、播报是很多智能对话机器人技能中很重要的一环,一个经典的场景就是用户就自己感兴趣的关键词提问,机器人返回和该关键词相关的最新新闻资讯,如下图: -![news-query-snapshot](/assets/2018/xiaoli-1.jpeg) +![news-query-snapshot](/assets/2018/xiaoli-1.webp) 以上场景中我们询问了机器人关于```微信机器人```的最新消息,并且查看了其中一条新闻的详细内容。 利用wechaty和小理的内容接口,我们可以很方便的实现以上功能。直接上代码: @@ -171,7 +171,7 @@ async function onMessage(msg) { 利用wechaty和小理的日报接口,我们就能把这项任务完全自动化!先看效果图: -![daily-snapshot](/assets/2018/xiaoli-2.jpeg) +![daily-snapshot](/assets/2018/xiaoli-2.webp) 小理会针对一些行业自动整理每天的相关新闻,生成一份日报,其中包含了多个主题版面,还能够通过智能分析算法自动生成新闻头条。接下来,我们就给机器人增加这个功能,让它每天定时在群里推送这样一份人工智能日报。 首先实现```sendDaily```方法: diff --git a/jekyll/_posts/2018-08-14-wechaty-lightbot-analytics.md b/jekyll/_posts/2018-08-14-wechaty-lightbot-analytics.md index 72f979b33e5..390b9830c8f 100644 --- a/jekyll/_posts/2018-08-14-wechaty-lightbot-analytics.md +++ b/jekyll/_posts/2018-08-14-wechaty-lightbot-analytics.md @@ -7,7 +7,7 @@ tags: - featured - utility - ecosystem -image: /assets/2018/wechaty-lightbot-logo.jpg +image: /assets/2018/wechaty-lightbot-logo.webp --- 感谢 @lijiarui 邀请我分享我们的LIGHTBOT统计分析管理平台,希望能够帮助开发者使用wechaty提供更多的业务方向。 @@ -259,7 +259,7 @@ bot.on('message', async function (message) { ## 统计分析平台 -![登陆界面](/assets/2018/wechaty-lightbot-1.png) +![登陆界面](/assets/2018/wechaty-lightbot-1.webp) ### 架构设计 @@ -287,12 +287,12 @@ bot.on('message', async function (message) { > > 支持查询条件筛选 -![敏感词管理](/assets/2018/wechaty-lightbot-2.png) +![敏感词管理](/assets/2018/wechaty-lightbot-2.webp) #### 敏感词管理 > 对敏感词的管理 -![敏感词管理](/assets/2018/wechaty-lightbot-3.png) +![敏感词管理](/assets/2018/wechaty-lightbot-3.webp) #### 聊天管理 @@ -300,7 +300,7 @@ bot.on('message', async function (message) { > 根据群,用户角色和时间进行分页查询 -![聊天记录](/assets/2018/wechaty-lightbot-4.png) +![聊天记录](/assets/2018/wechaty-lightbot-4.webp) ##### 对话模式 @@ -308,7 +308,7 @@ bot.on('message', async function (message) { > > 过滤掉多余人员的发言,只显示筛选用户的聊天记录 -![聊天记录](/assets/2018/wechaty-lightbot-5.png) +![聊天记录](/assets/2018/wechaty-lightbot-5.webp) #### 用户管理 @@ -316,7 +316,7 @@ bot.on('message', async function (message) { > > 设置用户的角色(用户,水军,管理员),从而进行群活跃分析。 -![用户管理](/assets/2018/wechaty-lightbot-6.png) +![用户管理](/assets/2018/wechaty-lightbot-6.webp) #### 群组管理 @@ -324,7 +324,7 @@ bot.on('message', async function (message) { > > 设置责任账户(这个是为了体现运营人员水平而设置的) -![用户管理](/assets/2018/wechaty-lightbot-7.png) +![用户管理](/assets/2018/wechaty-lightbot-7.webp) #### 统计分析 diff --git a/jekyll/_posts/2018-08-30-ai-bot-wechaty.md b/jekyll/_posts/2018-08-30-ai-bot-wechaty.md index 51b6e5f7a6f..5f138a9cee4 100644 --- a/jekyll/_posts/2018-08-30-ai-bot-wechaty.md +++ b/jekyll/_posts/2018-08-30-ai-bot-wechaty.md @@ -4,12 +4,12 @@ author: lirobin1998 categories: article tags: - ai -image: /assets/2018/hi-ai.jpg +image: /assets/2018/hi-ai.webp --- 人工智能(AI:Artificial Intelligence)经历了六十年几起几落,终于在2016年因为阿尔法狗(AlphaGo)战胜围棋世界冠军而轰动全球,迎来了发展新机遇。2017年中国发布《新一代人工智能发展规划》,准备到2025年把中国建设成为全球最重要的AI创新中心之一。中国新一代AI的创新机会主要在弱AI的广泛应用和强AI的原始创新,而Bot(聊天机器人)是使用AI科技成果的一种最简洁形式。目前市场上具有“公众号+Bot+内容”这样的AI使用解决方案,支持大众以Bot形式使用AI科技成果。同时市场上也有像Wechaty这样的软件开源Bot项目,支持研发人员开发和集成各种各样的Bot引擎,支持Bot引擎的原始创新。显然,把AI、新一代AI、Bot、Wechaty这些概念和关系梳理清楚,有助于我们更好地推动中国AI的发展。 -![hiai](/assets/2018/hi-ai.jpg) +![hiai](/assets/2018/hi-ai.webp) ## 一、对AI的思考 diff --git a/jekyll/_posts/2018-09-15-country-wide-developer-conference.md b/jekyll/_posts/2018-09-15-country-wide-developer-conference.md index be6298cdd09..c241730643c 100644 --- a/jekyll/_posts/2018-09-15-country-wide-developer-conference.md +++ b/jekyll/_posts/2018-09-15-country-wide-developer-conference.md @@ -6,7 +6,7 @@ tags: - meetup - news - featured -image: /assets/2018/country-wide-developer-conference.jpg +image: /assets/2018/country-wide-developer-conference.webp --- ![Wechaty Contributors][contributors-image] @@ -42,4 +42,4 @@ Here is their sharing: {% include iframe.html src="https://www.youtube.com/watch?v=QhQPO_2bD48" %} -[contributors-image]: /assets/2018/country-wide-developer-conference.jpg +[contributors-image]: /assets/2018/country-wide-developer-conference.webp diff --git a/jekyll/_posts/2018-10-09-birthday-cake-2018.md b/jekyll/_posts/2018-10-09-birthday-cake-2018.md index ee177b78ac2..f2872cf3e6c 100644 --- a/jekyll/_posts/2018-10-09-birthday-cake-2018.md +++ b/jekyll/_posts/2018-10-09-birthday-cake-2018.md @@ -4,7 +4,7 @@ author: basicthinker categories: article tags: - contribution -image: /assets/2018/birthday-cake-cut.png +image: /assets/2018/birthday-cake-cut.webp --- 不敢参加同学聚会的你是否敢来参加wechaty的生日宴会?一个关于如何分蛋糕的故事。 @@ -17,7 +17,7 @@ image: /assets/2018/birthday-cake-cut.png 过生日的时候最应该感谢谁呢?当然是我们的父母!他们含辛茹苦把我们养大 [默泪]……请注意,wechaty一共有27位父母。 -![parents](/assets/2018/birthday-cake-parents.png) +![parents](/assets/2018/birthday-cake-parents.webp) ## 分蛋糕 @@ -25,7 +25,7 @@ image: /assets/2018/birthday-cake-cut.png 平均分可以吗?有一位妈妈提交了147次代码,而有一位爸爸只提交了2次,平均分怎么公平? -![chickens](/assets/2018/birthday-cake-chickens.gif) +![chickens](/assets/2018/birthday-cake-chickens.webp) *据说这就是爸爸和妈妈的差别* 那数提交数好了?有位提交422次的只修改了861行代码,而那位提交147次的妈妈修改了19341行代码!妈妈会不会哭晕在厕所? diff --git a/jekyll/_posts/2018-10-21-microsoft-tech-summit-chatbot-quick-started.md b/jekyll/_posts/2018-10-21-microsoft-tech-summit-chatbot-quick-started.md index f19883ee0e5..a8140711f12 100644 --- a/jekyll/_posts/2018-10-21-microsoft-tech-summit-chatbot-quick-started.md +++ b/jekyll/_posts/2018-10-21-microsoft-tech-summit-chatbot-quick-started.md @@ -5,7 +5,7 @@ categories: event tags: - talk - news -image: /assets/2018/microsoft-hol-chatbot.jpeg +image: /assets/2018/microsoft-hol-chatbot.webp --- 这是我在[2018微软技术暨生态大会](https://mp.weixin.qq.com/s/Hm2tc_V4b3EKOlBx4PxEuA) 动手实验室的分享,2018微软技术暨生态大会10月24日在上海世博中心如约而至。 作为微软最负盛名的技术峰会,此次大会将带领参会者深入领略技术精髓,感受微软黑科技的魅力,探讨在云计算、物联网、移动互联网、大数据和人工智能的发展洪流中,如何洞察新技术与新变革,聚焦解决问题与创造价值,如何开启企业数字化转型之旅。 @@ -18,7 +18,7 @@ LUIS (Language Understanding Intelligent Service,) 是微 通过LUIS平台,非NLP专业的开发者可以轻松创建一个LUIS App,并通过标注所期望的输入(自然语言指令)和输出(意图和实体)来进一步“培养” 它。在整个开发过程中,开发者并不需要了解背后算法的细节,只需要清晰地定义自己需要让机器理解的用户意图和实体即可。LUIS App 可以是任何传统的应用,包括社交媒体应用,聊天机器人,实体机器人,车载以及支持语音的桌面程序应用。 LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App是学生。老师通过不停地告知学生正确的语义解析结果来完成教学。一个好的教学过程是一个“训练+实践”的闭环:标注一定量的起始数据;训练得到语义理解模型;对模型进行必要的测试;发布模型并应用到真实用户场景;甄选应用日志中的语句;继续标注并更新模型。这个过程周而复始,通过不停地迭代开发,不停地改善理解模型,使其越来越接近人类的理解能力。 -![luis](/assets/2018/microsoft-hol-luis.png) +![luis](/assets/2018/microsoft-hol-luis.webp) ## 实验目标 @@ -56,19 +56,19 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 1.登陆 www.luis.ai 如果之前注册过就sign in, 注册过直接login 就可以了: -![luis-1](/assets/2018/microsoft-hol-luis-1.png) +![luis-1](/assets/2018/microsoft-hol-luis-1.webp) 2.点击左上角的“Create New App” 创建一个新的应用 -![luis-2](/assets/2018/microsoft-hol-luis-2.png) +![luis-2](/assets/2018/microsoft-hol-luis-2.webp) 3.在弹框中,给你的LUIS模型起个名字,并设置描述,然后选一个应用环境,我们选择中文。然后点击“Done” -![luis-3](/assets/2018/microsoft-hol-luis-3.png) +![luis-3](/assets/2018/microsoft-hol-luis-3.webp) 4.然后进去LUIS 模型的主页面,接下来去训练LUIS 模型。 -![luis-4](/assets/2018/microsoft-hol-luis-4.png) +![luis-4](/assets/2018/microsoft-hol-luis-4.webp) ### 任务2-增加意图和实体 @@ -76,24 +76,24 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 1.点击‘Create new intent’ 创建一个 ‘BookFlight’ 的意图,并把这个意图命名为‘BookFlight’点击‘Done’ -![luis-5](/assets/2018/microsoft-hol-luis-5.png) +![luis-5](/assets/2018/microsoft-hol-luis-5.webp) -![luis-6](/assets/2018/microsoft-hol-luis-6.png) +![luis-6](/assets/2018/microsoft-hol-luis-6.webp) -![luis-7](/assets/2018/microsoft-hol-luis-7.png) +![luis-7](/assets/2018/microsoft-hol-luis-7.webp) 2.输入一个可能的订票话术,比如“帮我订一张去上海的机票”,然后回车: -![luis-8](/assets/2018/microsoft-hol-luis-8.png) +![luis-8](/assets/2018/microsoft-hol-luis-8.webp) 3.推荐最少写5个类似的话术,你会发现这些话术会自动的被标注为BookFlight 的意图。 -![luis-9](/assets/2018/microsoft-hol-luis-9.png) +![luis-9](/assets/2018/microsoft-hol-luis-9.webp) 4.回到点击‘Intent’再添加一个 ‘GetWeather’ 的意图,像刚刚一样,也至少输入5个有表示天气的话术: -![luis-10](/assets/2018/microsoft-hol-luis-10.png) -![luis-11](/assets/2018/microsoft-hol-luis-11.png) +![luis-10](/assets/2018/microsoft-hol-luis-10.webp) +![luis-11](/assets/2018/microsoft-hol-luis-11.webp) #### 定义实体(entities) @@ -116,7 +116,7 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 4.最后,点击’Done’完成保存这个实体。 -![luis-12](/assets/2018/microsoft-hol-luis-12.png) +![luis-12](/assets/2018/microsoft-hol-luis-12.webp) #### 使用预定义实体(Pre-Build Entities) @@ -124,17 +124,17 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 1.点击‘Add prebuild Entity’ -![luis-13](/assets/2018/microsoft-hol-luis-13.png) +![luis-13](/assets/2018/microsoft-hol-luis-13.webp) 2.预定义实体现在还不支持中文,我们可以选择’number’先来感受一下。 -![luis-14](/assets/2018/microsoft-hol-luis-14.png) +![luis-14](/assets/2018/microsoft-hol-luis-14.webp) ### 任务3-训练模型 我们定义了意图和实体以后,需要进行模型的训练。点击右上角的’Train’。当按钮由红色变为绿色以后,训练成功。为了让模型越来越好用,需要添加更多的标注好的意图和实体。 -![luis-15](/assets/2018/microsoft-hol-luis-15.png) +![luis-15](/assets/2018/microsoft-hol-luis-15.webp) 点击‘Publish’可以将这个App发布出去。最后就可以整合到微信机器人中。 @@ -146,19 +146,19 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 1.输入命令git clone -![wechaty-1](/assets/2018/microsoft-hol-wechaty-1.png) +![wechaty-1](/assets/2018/microsoft-hol-wechaty-1.webp) 2.进入目录microsoft-summit-chatbot-course, cd microsoft-summit-chatbot-course 3.安装依赖包,运行npm install -![wechaty-2](/assets/2018/microsoft-hol-wechaty-2.png) +![wechaty-2](/assets/2018/microsoft-hol-wechaty-2.webp) ### 任务2-运行代码 1.运行 npm run start -![wechaty-3](/assets/2018/microsoft-hol-wechaty-3.png) +![wechaty-3](/assets/2018/microsoft-hol-wechaty-3.webp) ## 实验3--将LUIS 模型整合到微信机器人中 @@ -166,37 +166,37 @@ LUIS的开发流程更像是一个教学过程:开发者是老师,LUIS App 1.点击LUIS的Publish获取APPID和KEY -![integrate-1](/assets/2018/microsoft-hol-integrate-1.png) +![integrate-1](/assets/2018/microsoft-hol-integrate-1.webp) 2.发布成功后,可以看到绿色的成功提示,点击Refer to the list of endpoints切换到管理页面: -![integrate-2](/assets/2018/microsoft-hol-integrate-2.png) +![integrate-2](/assets/2018/microsoft-hol-integrate-2.webp) 3.获取Authoring Key: -![integrate-3](/assets/2018/microsoft-hol-integrate-3.png) +![integrate-3](/assets/2018/microsoft-hol-integrate-3.webp) 4.点击 Application Information, 获取APP ID -![integrate-4](/assets/2018/microsoft-hol-integrate-4.png) +![integrate-4](/assets/2018/microsoft-hol-integrate-4.webp) ### 任务2-将LUIS RESTFUL API 接入wechaty 1.安装官方的’luis-sdk’,并将获取的key 和 Application ID 填入: -![wechaty-4](/assets/2018/microsoft-hol-wechaty-4.png) +![wechaty-4](/assets/2018/microsoft-hol-wechaty-4.webp) 2.根据已有的LUIS 配置写示例代码: -![wechaty-5](/assets/2018/microsoft-hol-wechaty-5.png) +![wechaty-5](/assets/2018/microsoft-hol-wechaty-5.webp) 3.运行 npm run start: -![wechaty-6](/assets/2018/microsoft-hol-wechaty-6.png) +![wechaty-6](/assets/2018/microsoft-hol-wechaty-6.webp) 用户发送,即可得到测试回复: -![demo](/assets/2018/microsoft-hol-demo.png) +![demo](/assets/2018/microsoft-hol-demo.webp) 注意: 由于时间关系,本次实验只是讲解了LUIS 的部分,LUIS获取的key 只是免费测试版本,后续需要和Azure 结合,获取到稳定的付费版本接口。 diff --git a/jekyll/_posts/2018-11-25-wechat-robot-can-do-anything.md b/jekyll/_posts/2018-11-25-wechat-robot-can-do-anything.md index 41ab05208b5..820503f546f 100644 --- a/jekyll/_posts/2018-11-25-wechat-robot-can-do-anything.md +++ b/jekyll/_posts/2018-11-25-wechat-robot-can-do-anything.md @@ -99,6 +99,6 @@ tags: 先聊到这里,后续的想法,也欢迎大家一起来讨论。二维码是“开源社-bot”,欢迎添加。功能还很弱,大家轻拍 :) -![开源社](/assets/2018/kaiyuanshe.png) +![开源社](/assets/2018/kaiyuanshe.webp) > 作者: [庄表伟](https://github.com/zhuangbiaowei/),[开源社](http://www.kaiyuanshe.cn/)理事/执行长。首发于简书: [微信机器人能够做些什么事?](https://www.jianshu.com/p/9698395511e0) diff --git a/jekyll/_posts/2019-04-02-koa-wechaty-assistant.md b/jekyll/_posts/2019-04-02-koa-wechaty-assistant.md index f4e93006aa8..60895ed1851 100644 --- a/jekyll/_posts/2019-04-02-koa-wechaty-assistant.md +++ b/jekyll/_posts/2019-04-02-koa-wechaty-assistant.md @@ -5,7 +5,7 @@ categories: project tags: - code - productivity -image: /assets/2019/koa-wechaty.jpg +image: /assets/2019/koa-wechaty.webp --- * 你是不是有闲置的微信号? @@ -49,15 +49,15 @@ github:[https://github.com/gengchen528/wechat-assistant](https://github.com/geng 提醒自己 -![image](/assets/2019/koa-wechaty-1.jpeg) +![image](/assets/2019/koa-wechaty-1.webp) 委托提醒(前提是你和你想要提醒的人都是小秘书的好友,采用的是昵称查找用户,不是备注要注意) -![image](/assets/2019/koa-wechaty-2.jpeg) +![image](/assets/2019/koa-wechaty-2.webp) 数据库中已添加任务 -![image](/assets/2019/koa-wechaty-3.jpeg) +![image](/assets/2019/koa-wechaty-3.webp) ## 准备工作 @@ -67,7 +67,7 @@ github:[https://github.com/gengchen528/wechat-assistant](https://github.com/geng ### 目录结构 -![image](/assets/2019/koa-wechaty-4.jpeg) +![image](/assets/2019/koa-wechaty-4.webp) * config: koa,定时任务器,superagent的配置目录 * mongodb: mongodb连接相关配置文件,schema设计与model的主要目录 @@ -280,7 +280,7 @@ untils/index.js koa就不用多说了,TJ大神继express后的又一神作,很轻量,而且摆脱了“回调地狱”的问题,放一张大神头像镇楼(发型很帅啊,哈哈) -![image](/assets/2019/koa-wechaty-5.jpeg) +![image](/assets/2019/koa-wechaty-5.webp) koa服务默认使用3008端口,如果修改的话,需要在index.js中修改host的地址。这里目前写了三个接口,分别是添加定时任务,获取定时任务列表和更新任务列表,对应的数据库curd操作均在`mongodb/model.js`中完成 @@ -472,7 +472,7 @@ npm run start 1、如果需要在服务器中部署,需要先扫描二维码登录一次,生成微信维持登录状态的json文件,如下图: -![image](/assets/2019/koa-wechaty-6.jpeg) +![image](/assets/2019/koa-wechaty-6.webp) 2、生成此文件后,可以使用pm2工具进行进程守护。由于为了方便,本地开发的时候,我设置的`npm run start`同时执行了两条命令,所以在服务器端部署的时候,建议先启动`koa.js`后再启动`index.js` ## 常见问题 @@ -491,7 +491,7 @@ npm run start Centos7下部署出现以下问题 -![image](/assets/2019/koa-wechaty-7.jpeg) +![image](/assets/2019/koa-wechaty-7.webp) 问题原因: [https://segmentfault.com/a/1190000011382062](https://segmentfault.com/a/1190000011382062) @@ -511,7 +511,7 @@ yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11 提取码:0mrz 把下载的文件放到如下图路径,并解压到当前文件夹中即可 -![image](/assets/2019/koa-wechaty-8.jpeg) +![image](/assets/2019/koa-wechaty-8.webp) 1. 支持 红包、转账、朋友圈… 吗 @@ -538,7 +538,7 @@ yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11 我的小秘书已经学会了自动加好友功能,所以有兴趣的小伙伴可以加我的微信进行测试,她也可以是你的私人小秘书😆(注意别发太多信息,会把她玩坏的) - ![image](/assets/2019/koa-wechaty-9.jpeg) + ![image](/assets/2019/koa-wechaty-9.webp) 赶快亲自试一试吧,相信你会挖掘出更多好玩的功能 @@ -546,6 +546,6 @@ github:[https://github.com/gengchen528/wechat-assistant](https://github.com/geng 另外我的公众号已经接入微软小冰,关注后发语音会有小姐姐的声音陪你聊天,也可以和她文字聊天,有兴趣可以试试看,单身的欢迎来撩 -![image](/assets/2019/koa-wechaty-10.jpeg) +![image](/assets/2019/koa-wechaty-10.webp) > 作者: [Leo_chen](https://github.com/leochen-g/),前端工程师,喜欢使用node做各种小项目,就职于大数据公司。本篇文章首发于掘金: [使用koa2+wechaty打造个人微信小秘书](https://juejin.im/post/5ca1dd846fb9a05e6c77b72f?utm_source=gold_browser_extension) diff --git a/jekyll/_posts/2019-04-02-node-wechaty-spider.md b/jekyll/_posts/2019-04-02-node-wechaty-spider.md index 90d62811015..bb10616c0b3 100644 --- a/jekyll/_posts/2019-04-02-node-wechaty-spider.md +++ b/jekyll/_posts/2019-04-02-node-wechaty-spider.md @@ -7,7 +7,7 @@ tags: - featured - social - entertainment -image: /assets/2019/node-wechaty-1.jpeg +image: /assets/2019/node-wechaty-1.webp --- 微信每日说,每日自动发送微信消息给你心爱的人。 @@ -52,15 +52,15 @@ github:[https://github.com/gengchen528/wechatBot](https://github.com/gengchen528 由于是微信定时发送消息,较邮件来说,微信无法把图片和文字放在同一消息框中,所以美观度来说可能没有邮件好,不过文字进行排版后还是可以的,由于时间仓促,所以文字比较少,后续会继续增加内容; -![koa2](/assets/2019/node-wechaty-2.jpeg) +![koa2](/assets/2019/node-wechaty-2.webp) -![koa2](/assets/2019/node-wechaty-1.jpeg) +![koa2](/assets/2019/node-wechaty-1.webp) ## 代码说明 ### 目录结构 -![koa2](/assets/2019/node-wechaty-3.jpeg) +![koa2](/assets/2019/node-wechaty-3.webp) * config: 存放公共变量和superagent的配置 * schedule: 任务调度的配置 @@ -335,7 +335,7 @@ npm run start Centos7下部署出现以下问题 -![image](/assets/2019/koa-wechaty-7.jpeg) +![image](/assets/2019/koa-wechaty-7.webp) 问题原因:[https://segmentfault.com/a/1190000011382062](https://segmentfault.com/a/1190000011382062) @@ -356,7 +356,7 @@ yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11 链接: 提取码:0mrz 把下载的文件放到如下图路径,并解压到当前文件夹中即可 -![image](/assets/2019/koa-wechaty-8.jpeg) +![image](/assets/2019/koa-wechaty-8.webp) 1. 支持 红包、转账、朋友圈… 吗 @@ -384,7 +384,7 @@ yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11 **注意** 加好友请在验证中填写 `微信每日说` 才可以自动加好友 -![image](/assets/2019/koa-wechaty-9.jpeg) +![image](/assets/2019/koa-wechaty-9.webp) 赶快亲自试一试吧,相信你会挖掘出更多好玩的功能 @@ -392,6 +392,6 @@ github:[https://github.com/gengchen528/wechatBot](https://github.com/gengchen528 另外我的公众号已经接入微软小冰,关注后发语音会有小姐姐的声音陪你聊天,也可以和她文字聊天,有兴趣可以试试看,单身的欢迎来撩 -![image](/assets/2019/koa-wechaty-10.jpeg) +![image](/assets/2019/koa-wechaty-10.webp) > 作者: [Leo_chen](https://github.com/leochen-g/),前端工程师,喜欢使用node做各种小项目,就职于大数据公司。本篇文章首发于掘金: [用Node+wechaty写一个爬虫脚本每天定时给女(男)朋友发微信暖心话](https://juejin.im/post/5c77c6bef265da2de6611cff) diff --git a/jekyll/_posts/2019-05-11-remind-eat-bot.md b/jekyll/_posts/2019-05-11-remind-eat-bot.md index 8a9689f865c..82e550e1821 100644 --- a/jekyll/_posts/2019-05-11-remind-eat-bot.md +++ b/jekyll/_posts/2019-05-11-remind-eat-bot.md @@ -5,12 +5,12 @@ categories: project tags: - code - social -image: /assets/2019/remind-eat-1.jpg +image: /assets/2019/remind-eat-1.webp --- 居然有人忘记吃饭??? -![image](/assets/2019/remind-eat-1.jpg) +![image](/assets/2019/remind-eat-1.webp) 为了解决这个问题,我写了一个微信机器人到点就提醒他吃饭。 @@ -46,7 +46,7 @@ node remindEat.js 到时候对方应该不会忘记吃饭了。 -![image](/assets/2019/remind-eat-2.jpg) +![image](/assets/2019/remind-eat-2.webp) ## 实现原理: diff --git a/jekyll/_posts/2019-06-12-chatie-devops-toolset.md b/jekyll/_posts/2019-06-12-chatie-devops-toolset.md index ab54c7538e3..bdc3b464bcd 100644 --- a/jekyll/_posts/2019-06-12-chatie-devops-toolset.md +++ b/jekyll/_posts/2019-06-12-chatie-devops-toolset.md @@ -7,7 +7,7 @@ tags: - devops - npm - news -image: /assets/2019/chatie-devops-toolset.gif +image: /assets/2019/chatie-devops-toolset.webp --- The powerful and easy to use Chatie DevOps Toolset: @@ -27,7 +27,7 @@ So, I'd like to introduce them to the community, and also it's a quick sheet to ## 1. [@chatie/tsconfig](https://github.com/chatie/tsconfig) -![@chatie/tsconfig](/assets/2019/chatie-tsconfig.jpg) +![@chatie/tsconfig](/assets/2019/chatie-tsconfig.webp) This module enables other module to inheritance tsconfig.json via Node.js packages. @@ -71,7 +71,7 @@ After extends from @chatie/tsconfig from your tsconfig.json, you will have the c ## 2. [@chatie/eslint-config](https://github.com/chatie/eslint-config) -![@chatie/eslint-config](/assets/2019/chatie-eslint-config.jpg) +![@chatie/eslint-config](/assets/2019/chatie-eslint-config.webp) ESLint Sharable Rules in TypeScript Standard Style. @@ -91,7 +91,7 @@ Then you are all set. `./node_modules/.bin/eslint` will work and follow the @cha ## 3. [@chatie/git-scripts](https://github.com/chatie/git-scripts) -![@chatie/git-scripts](/assets/2019/chatie-git-scripts.gif) +![@chatie/git-scripts](/assets/2019/chatie-git-scripts.webp) Git Hooks Integration for Chatie Projects. @@ -111,7 +111,7 @@ By adding the following json entrance to package.json: ## 4. [@chatie/semver](https://github.com/chatie/semver) -![@chatie/semver](/assets/2019/chatie-semver.png) +![@chatie/semver](/assets/2019/chatie-semver.webp) The Enhanced Semantic Versioner for NPM. @@ -146,7 +146,7 @@ See also: ## 5. [tstest](https://github.com/huan/tstest) -![tstest](/assets/2019/tstest.png) +![tstest](/assets/2019/tstest.webp) A pytest in TypeScript @@ -156,7 +156,7 @@ However, currently, it's only a wrapper of [blue-tape](https://github.com/spion/ ## 6. [pkg-jq](https://github.com/huan/pkg-jq) -![pkg-jq](/assets/2019/pkg-jq.gif) +![pkg-jq](/assets/2019/pkg-jq.webp) Find the nearest package.json then deal with jq syntax on it. (in-line edit supported!) diff --git a/jekyll/_posts/2019-06-21-three-step-get-girlfriend.md b/jekyll/_posts/2019-06-21-three-step-get-girlfriend.md index 4f7d34c45d4..9124fbf6b3c 100644 --- a/jekyll/_posts/2019-06-21-three-step-get-girlfriend.md +++ b/jekyll/_posts/2019-06-21-three-step-get-girlfriend.md @@ -6,7 +6,7 @@ tags: - code - featured - entertainment -image: /assets/2019/everyday-header.png +image: /assets/2019/everyday-header.webp --- 三步教你用Node做一个微信脱单神器,小白可上手!也可以用来哄女友,哄女(男\基)友我们程序猿(媛)是认真的 @@ -35,9 +35,9 @@ github: [https://github.com/gengchen528/wechatBot](https://github.com/gengchen52 在三步走教学之前,先放上效果看一下 -![image](/assets/2019/everyday-1.png) +![image](/assets/2019/everyday-1.webp) -![image](/assets/2019/everyday-2.png) +![image](/assets/2019/everyday-2.webp) 可以看到在指定的时间就会收到发送的消息,包括天气信息,天气提醒,还有你们在一起多少天了。当开启机器人后,女朋友就可以和小助手对话了,不过目前开源机器人的api都不是非常的智能,匹配的语义可能不是那么准确。所以有时候女朋友生气了,千万记得不要开启机器人,不然回答的不对是会被女朋友暴打的😨! @@ -58,11 +58,11 @@ node官网:[https://nodejs.org/zh-cn/](https://nodejs.org/zh-cn/) > Mac下安装node详细步骤参考 [https://blog.csdn.net/qq_32407233/article/details/83758899](https://blog.csdn.net/qq_32407233/article/details/83758899) > Linux下安装node详细步骤参考 [https://www.cnblogs.com/liuqi/p/6483317.html](https://www.cnblogs.com/liuqi/p/6483317.html) -![image](/assets/2019/everyday-3.png) +![image](/assets/2019/everyday-3.webp) 安装完成后,按住`键盘的shift+鼠标右键`,选择在此处打开命令窗口。在命令行执行`node -v`出现版本号说明安装成功 -![image](/assets/2019/everyday-4.png) +![image](/assets/2019/everyday-4.webp) ### 二、下载代码并配置 @@ -70,26 +70,26 @@ node官网:[https://nodejs.org/zh-cn/](https://nodejs.org/zh-cn/) * 访问此地址,直接下载zip包到本地桌面,然后解压; -![image](/assets/2019/everyday-5.png) +![image](/assets/2019/everyday-5.webp) * 进到目录中,找到`config`目录下的`index.js`文件 -![image](/assets/2019/everyday-6.png) +![image](/assets/2019/everyday-6.webp) -![image](/assets/2019/everyday-7.png) +![image](/assets/2019/everyday-7.webp) * 选中`index.js`文件,右击选择打开方式,没有安装代码编辑器的可以用记事本打开。有代码编辑器的直接用代码编辑器打开,建议非开发人员可以下载一个`notepad++`,下载链接链接:[https://pan.baidu.com/s/1mWdEOaTQ1D6kihQveN1JHw](https://pan.baidu.com/s/1mWdEOaTQ1D6kihQveN1JHw) 密码:fn9g,开发人员就各自发挥吧,相信每个人都有自己用的比较舒服的编辑器我就不推荐了 -![image](/assets/2019/everyday-8.png) +![image](/assets/2019/everyday-8.webp) * 配置文件中需要修改的地方,女朋友的微信备注姓名`NAME`必须要换一下,不然你发给我就不好了😂,微信昵称`NICKNAME`最好也写一下,你和女朋友的纪念日`MEMORIAL_DAY`就不用说了,也要改一下。 * 如果要发送天气信息,女朋友所在城市`CITY`肯定也是必须修改的,地区`LOCATION`不知道怎么拼写的话,我建议可以查一下墨迹的官网[https://tianqi.moji.com/weather/china/](https://tianqi.moji.com/weather/china/) -![image](/assets/2019/everyday-9.png) +![image](/assets/2019/everyday-9.webp) * 在墨迹天气找到对应地区的天气后,查看一下网页地址栏,绿色标记的拼音填入`CITY`,红色标记的拼音填入`LOCATION` -![image](/assets/2019/everyday-10.png) +![image](/assets/2019/everyday-10.webp) * 每天发送的时间`SENDDATE`,这里的规则可以参见`schedule`目录下的`index.js`文件。这里`0 06 8 * * *`代表的是每天的早上8点06分0秒,我们通常只需配置前三个就可以了。 * 如果需要开启机器人聊天的话,需要把`AUTOREPLY`设置为`true`,这里我放弃了图灵机器人,原因上面也说了,改用了天行机器人,但是不要抱太大希望,它并不是那么智能😂。目前由于我自己账号的api次数还比较多,就在项目代码中开放给大家使用了,这里就不放出来,下载代码后只要修改一下`AUTOREPLY`就可以自动回复了。 @@ -118,17 +118,17 @@ module.exports = { 配置完成好文件别忘记保存了,保存好就回到项目的主目录吧。这时候`win`系统的话就按住`键盘的shift+鼠标右键`,选择在此处打开命令窗口。 -![image](/assets/2019/everyday-11.png) +![image](/assets/2019/everyday-11.webp) * 然后输入`npm install`。 -![image](/assets/2019/everyday-12.png) +![image](/assets/2019/everyday-12.webp) * 等待安装完成后输入`npm run start`,这时会下载一个文件,因为比较大,所以要多等一下,等待出现二维码的时候就可以拿出手机微信扫一扫登录了。接下来就是一顿神对话了😆 -![image](/assets/2019/everyday-13.png) +![image](/assets/2019/everyday-13.webp) -![image](/assets/2019/everyday-14.png) +![image](/assets/2019/everyday-14.webp) * 如果执行`npm run start`遇到失败的话,先执行`npm install wechaty-puppet-puppeteer@^0.17.14 --no-save`然后再执行`npm run start` @@ -146,7 +146,7 @@ module.exports = { 1. [新注册的微信号无法登陆](https://github.com/wechaty/wechaty/issues/872) 1. 执行npm run start时无法安装puppet-puppeteer&&Chromium 1. Centos7下部署出现以下问题 - ![image](/assets/2019/everyday-15.png) + ![image](/assets/2019/everyday-15.webp) 问题原因:[https://segmentfault.com/a/1190000011382062](https://segmentfault.com/a/1190000011382062) 解决方案: @@ -169,12 +169,12 @@ module.exports = { 如果有微信号无法登录和有技术问题需要交流,可以加我的微信小助手后发送`加群`,会自动发送交流群的二维码,同时此小号有更多高级功能等待你的发现。(注:添加好友后会在20s内自动通过) -![image](/assets/2019/everyday-16.png) +![image](/assets/2019/everyday-16.webp) 赶快亲自试一试吧,相信你会挖掘出更多好玩的功能 另外我的公众号已经接入微软小冰,关注后发语音会有小姐姐的声音陪你聊天,也可以和她文字聊天,有兴趣可以试试看,单身的欢迎来撩 -![image](/assets/2019/everyday-17.png) +![image](/assets/2019/everyday-17.webp) > 作者: [Leo_chen](https://github.com/leochen-g/),前端工程师,喜欢使用node做各种小项目,就职于大数据公司。本篇文章首发于掘金: [三步教你用Node做一个微信哄女友(基友)神器,小白可上手](https://juejin.im/post/5d09fa9f51882508bd2065f4) diff --git a/jekyll/_posts/2019-07-12-wechaty-business-easy-pay.md b/jekyll/_posts/2019-07-12-wechaty-business-easy-pay.md index e1e05614b0e..3ce26c8e43e 100644 --- a/jekyll/_posts/2019-07-12-wechaty-business-easy-pay.md +++ b/jekyll/_posts/2019-07-12-wechaty-business-easy-pay.md @@ -6,7 +6,7 @@ tags: - code - featured - ecommerce -image: /assets/2019/wechaty-pay-paypic.png +image: /assets/2019/wechaty-pay-paypic.webp --- ## Wechaty - 让线上没有难做的生意 @@ -17,13 +17,13 @@ image: /assets/2019/wechaty-pay-paypic.png 自从使用了Wechaty,资金及时到账,收款后立即通知。即开即用,高并发,超稳定不掉单。 -![让线上没有难做的生意](/assets/2019/wechaty-pay-paypic.png) +![让线上没有难做的生意](/assets/2019/wechaty-pay-paypic.webp) ### 背景 随处可见微信和支付宝的支付二维码,已经让超市水果店和煎饼果子摊贩没有难做的生意。然而在线支付可就没那么容易了。接口大部分需要企业资质认证,或者需要备案域名以及开通权限,对于中小型商户门槛非常高。大部分人会在收到款后,手动确认订单,经常出现订单延误或者遗漏。然而市面上的解决方案都差强人意。那么这个线上支付的流程如何利用Wechaty优化一下呢? -![各种支付方案对比](/assets/2019/wechaty-pay-paycompare.png) +![各种支付方案对比](/assets/2019/wechaty-pay-paycompare.webp) ### 技术实现 @@ -84,7 +84,7 @@ function sendPayment (priceAmount, timestamp) { 终于可以一站式的管理所有微信和支付宝的订单了!每笔订单的时间,金额,还有每天收入统计一览无余。 -![后台订单管理](/assets/2019/wechaty-pay-paymentsx.jpg) +![后台订单管理](/assets/2019/wechaty-pay-paymentsx.webp) ### 产品实现 @@ -95,10 +95,10 @@ function sendPayment (priceAmount, timestamp) { * 保障安全性,不记录个人账户密码 * 资金实时到账,不经过第三方 -![桔子互动](/assets/2019/wechaty-pay-botorange.png) +![桔子互动](/assets/2019/wechaty-pay-botorange.webp) 继续交流技术产品探讨可以添加👇微信。本文仅供技术产品交流参考,建议使用官方认证接口。请勿使用此项目做违反微信、支付宝规定或者其他违法事情! -![微信](/assets/2019/wechaty-pay-wechat.jpeg) +![微信](/assets/2019/wechaty-pay-wechat.webp) > 作者: [Shawn](https://mugglepay.com),全栈创业狗,致力于利用技术提升支付领域效率。 diff --git a/jekyll/_posts/2019-07-16-wewe-public-wechat-group.md b/jekyll/_posts/2019-07-16-wewe-public-wechat-group.md index fd09c01aac2..be9c4b53d21 100644 --- a/jekyll/_posts/2019-07-16-wewe-public-wechat-group.md +++ b/jekyll/_posts/2019-07-16-wewe-public-wechat-group.md @@ -7,7 +7,7 @@ tags: - featured - social - utility -image: /assets/2019/wewe-screenshot.png +image: /assets/2019/wewe-screenshot.webp --- 几周前, 我在几个论坛分享了 [透明创业实验](https://blog.t9t.io/transparent-startup-experiment-2019-05-20/), 并且建了一个微信群方便交流. @@ -43,7 +43,7 @@ image: /assets/2019/wewe-screenshot.png 加入方式 -- 微信: 加 [timbot](../assets/2019/wewe-timbot.jpg) 为好友, 备注 "join wewe", 然后将机器人拉入群聊即可, 如果内容适合公开, 我就会开始收集 +- 微信: 加 [timbot](../assets/2019/wewe-timbot.webp) 为好友, 备注 "join wewe", 然后将机器人拉入群聊即可, 如果内容适合公开, 我就会开始收集 - slack: 加入[t9t.io slack 群](https://join.slack.com/t/t9tio/shared_invite/enQtNjgzMzkwMDM0NTE3LTE5ZTUzYjU4Y2I0YzRiZjNkYTkzMzE1ZmM0NDdmYzRlZmMxNGY1MzZlN2EwYjYyNWVlMWY0Nzk2MDBhNWZlY2I) ## FAQ diff --git a/jekyll/_posts/2019-07-18-send-miniprogram-using-padpro.md b/jekyll/_posts/2019-07-18-send-miniprogram-using-padpro.md index e252d914944..e62d58021fd 100644 --- a/jekyll/_posts/2019-07-18-send-miniprogram-using-padpro.md +++ b/jekyll/_posts/2019-07-18-send-miniprogram-using-padpro.md @@ -5,18 +5,18 @@ categories: feature tags: - code - featured -image: /assets/2019/maodou-ketang-demo.png +image: /assets/2019/maodou-ketang-demo.webp --- 3个月前,也就是2019.4.18,我们公司启动了一个小程序项目 -- **毛豆课堂**。这个项目是依托[毛豆网](https://maodou.io)的音视频互动直播技术,搭建一个专注少儿素质课程的在线教育平台。 -目前这个小程序的MVP已经通过微信审核上线,初步实现了家长(例如孩子妈妈)给孩子的课程设定时间提醒,提醒的方式包括小程序消息,短信,电话,邮件等四种常用通知方式。转发这个课程还可以邀请和课程有关的人(例如孩子爸爸,同学家长和课程老师等)也加入这个课程提醒,未来计划还会开发一些类似家长朋友圈的社交功能。有兴趣体验的朋友,可以扫这个[毛豆课堂小程序二维码](/assets/2019/maodou-ketang-invite-qrcode.png)。 +目前这个小程序的MVP已经通过微信审核上线,初步实现了家长(例如孩子妈妈)给孩子的课程设定时间提醒,提醒的方式包括小程序消息,短信,电话,邮件等四种常用通知方式。转发这个课程还可以邀请和课程有关的人(例如孩子爸爸,同学家长和课程老师等)也加入这个课程提醒,未来计划还会开发一些类似家长朋友圈的社交功能。有兴趣体验的朋友,可以扫这个[毛豆课堂小程序二维码](/assets/2019/maodou-ketang-invite-qrcode.webp)。 1个月前,我们觉得通过这个小程序创建课程提醒的流程还是不够方便,想到了能否在微信里通过聊天方式来创建提醒,例如孩子妈妈发过来一条消息`”今天晚上6点晨晨英语课,在商务会馆1101“`,收到消息的爸爸就可以转发给一个微信机器人bot,从而为爸爸建好这个课程提醒,爸爸加入后就可以提醒他去送孩子上课。有这个想法的时候,正好有一天带娃路上偶遇了李卓桓,很自然就想到了要用[Wechaty](https://github.com/wechaty/wechaty/)这个牛逼闪闪的微信机器人开源项目。 -其实知道这个项目已经有好几年了,但登录到github上看到[huan](https://github.com/huan)的5000多次commits还是把我惊了一跳,心中无数个草泥马翻腾而过,想说zixia还是那个zixia,你大爷居然还在写代码。Orz 钦佩之余,接下来一个多星期我也日夜奋战,虽然只有C语言和ARM汇编的基础,但在学习了[xiaoli-news-bot](https://github.com/wechaty/wechaty-getting-started/tree/master/examples/third-party/xiaoli)代码框架的基础上,实现了我们的[maodou-ketang-bot](https://github.com/maodouio/wechaty-getting-started/blob/master/examples/third-party/maodou/README.md)。有兴趣体验的朋友,可以扫这个[毛豆课堂小助手二维码](/assets/2019/maodou-ketang-qrcode.png),加好友之后,转给它那条孩子妈妈的消息。 +其实知道这个项目已经有好几年了,但登录到github上看到[huan](https://github.com/huan)的5000多次commits还是把我惊了一跳,心中无数个草泥马翻腾而过,想说zixia还是那个zixia,你大爷居然还在写代码。Orz 钦佩之余,接下来一个多星期我也日夜奋战,虽然只有C语言和ARM汇编的基础,但在学习了[xiaoli-news-bot](https://github.com/wechaty/wechaty-getting-started/tree/master/examples/third-party/xiaoli)代码框架的基础上,实现了我们的[maodou-ketang-bot](https://github.com/maodouio/wechaty-getting-started/blob/master/examples/third-party/maodou/README.md)。有兴趣体验的朋友,可以扫这个[毛豆课堂小助手二维码](/assets/2019/maodou-ketang-qrcode.webp),加好友之后,转给它那条孩子妈妈的消息。 -![毛豆课堂演示](/assets/2019/maodou-ketang-demo.png) +![毛豆课堂演示](/assets/2019/maodou-ketang-demo.webp) 大家看到小助手回复了2条消息,一条是文字,解析了这段文本中的时间、地点和标题;一条是小程序,创建了相应的消息提醒。但当时Wechaty底层是不支持发送小程序的,只能发送文字,图片,名片和链接。 @@ -448,7 +448,7 @@ padpro中想要发送一个小程序需要先打开调试开关`PADPRO_LOG='sill 一个发送出来的小程序,其视图和接口传入数据的关系,如下图所示 -![MiniProgramPayload](/assets/2019/maodou-miniprogram-spec.png) +![MiniProgramPayload](/assets/2019/maodou-miniprogram-spec.webp) 目前,appid、description、pagepath、title和username都比较容易获得,thumbnailUrl 我们参考了 UrlLink 结构,这块区域的缩略图可以让调用者传入一个图片的 thumbnailUrl ,底层代码里未来还应该做如下2个后继的工作,目前因为时间关系也还未实现。 diff --git a/jekyll/_posts/2019-07-19-bot5-seminar-minutes-0.md b/jekyll/_posts/2019-07-19-bot5-seminar-minutes-0.md index 6ca94dc1d2e..a6016fd56a8 100644 --- a/jekyll/_posts/2019-07-19-bot5-seminar-minutes-0.md +++ b/jekyll/_posts/2019-07-19-bot5-seminar-minutes-0.md @@ -7,7 +7,7 @@ tags: - talk - meetup - news -image: /assets/2019/bot5-seminar-0/group-photo.jpg +image: /assets/2019/bot5-seminar-0/group-photo.webp --- << 本次活动通知: [腾讯+句子互动=碰撞思想,点燃科技](https://mp.weixin.qq.com/s?__biz=MzU3OTk2MzA1Nw==&mid=2247485197&idx=1&sn=404c319ad11b9e12515d127dfabf7efd) << @@ -155,11 +155,11 @@ Our Vision: Became the hottest place for a Friday night out with the chatbots! T ### 5 集体合影 -![合照](/assets/2019/bot5-seminar-0/group-photo.jpg) +![合照](/assets/2019/bot5-seminar-0/group-photo.webp) ## After Party 🍻 -![After Party](/assets/2019/bot5-seminar-0/after-party.jpg) +![After Party](/assets/2019/bot5-seminar-0/after-party.webp) Bot Friday Zero 主场活动结束后,意(ji)犹(chang)未(lu)尽(lu)的三个人前往第三极大厦十字路口对面的管氏串吧继续补充能量,大家一起头脑风暴了活动的参加人员、可持续性发展、讨论主题,以及活动名称等,并成功的消灭了4L鲜啤。 diff --git a/jekyll/_posts/2019-07-23-introduce-rasa-product-tech.md b/jekyll/_posts/2019-07-23-introduce-rasa-product-tech.md index fade9415368..a9571dd0e93 100644 --- a/jekyll/_posts/2019-07-23-introduce-rasa-product-tech.md +++ b/jekyll/_posts/2019-07-23-introduce-rasa-product-tech.md @@ -68,7 +68,7 @@ Rasa Core主要完成了基于故事的对话管理,包括解析故事并生 对于2.Rasa使用基于LSTM的Learn to Rank方法,大体上是将当前轮用户意图、上一轮系统行为、当前槽值状态向量化,然后与所有系统行为做相似度学习,以此决定当前轮次的一个或多个系统行为 -![rasa-1.png](/assets/2019/rasa-1.png) +![rasa-1.png](/assets/2019/rasa-1.webp) ### Rasa X @@ -87,11 +87,11 @@ Rasa X可能暂时还不能让所有非开发人员也能快速方便的使用 Pipeline 的过程是这样的: -![rasa-2.png](/assets/2019/rasa-2.png) +![rasa-2.png](/assets/2019/rasa-2.webp) 1. 用户输入文字,送入解释器,即Rasa NLU 2. NLU给出结果,如图 - ![rasa-3.png](/assets/2019/rasa-3.png) + ![rasa-3.png](/assets/2019/rasa-3.webp) 3. 从Tracker到Policy,Tracker用于跟踪对话状态,Tracker输出的是Embedding 1. 用户意图的Embedding 2. 系统动作(上一步)的Embedding diff --git a/jekyll/_posts/2019-07-26-bot-friday-second.md b/jekyll/_posts/2019-07-26-bot-friday-second.md index 9fe40bdcc41..d7395e2f83a 100644 --- a/jekyll/_posts/2019-07-26-bot-friday-second.md +++ b/jekyll/_posts/2019-07-26-bot-friday-second.md @@ -7,7 +7,7 @@ tags: - talk - meetup - news -image: /assets/2019/bot5-seminar-2/group-photo.png +image: /assets/2019/bot5-seminar-2/group-photo.webp --- << 本次活动通知: [腾讯+句子互动第二弹,Chatbot Friday](https://mp.weixin.qq.com/s/fbY9BVLIqhy6Uwls0g4fRQ) << @@ -184,13 +184,13 @@ NLP技术到底哪家强? ## 集体合影 -![合照](/assets/2019/bot5-seminar-2/group-photo.png) +![合照](/assets/2019/bot5-seminar-2/group-photo.webp) -![所有人](/assets/2019/bot5-seminar-2/people.png) +![所有人](/assets/2019/bot5-seminar-2/people.webp) ## After Party 🍻 -![After Party](/assets/2019/bot5-seminar-2/after-party.png) +![After Party](/assets/2019/bot5-seminar-2/after-party.webp) 主场活动结束后,六个人前往上次After Party的管氏串吧继续补充能量,大家讨论了创业,社区,技术,招聘等一系列问题,并成功的消灭了3炮鲜啤! diff --git a/jekyll/_posts/2019-08-12-dotnet-club-use-wechaty-to-collect-valuable-wechat-threads.md b/jekyll/_posts/2019-08-12-dotnet-club-use-wechaty-to-collect-valuable-wechat-threads.md index e647e8e6ba4..97d5934420b 100644 --- a/jekyll/_posts/2019-08-12-dotnet-club-use-wechaty-to-collect-valuable-wechat-threads.md +++ b/jekyll/_posts/2019-08-12-dotnet-club-use-wechaty-to-collect-valuable-wechat-threads.md @@ -12,13 +12,13 @@ tags: 幸而在互联网高度发达、信息传播充分高效的今天,通常当我们在技术上遇到问题时,不再需要花费数年之久来参悟。一般来说,现实压力也通常不会允许要花这么久,不然我们连 [996 的福报](https://github.com/996icu/996.ICU)也没有资格享受了。所以,人们通常从搜索引擎上查找已经遇到过类似问题的人所发布的讨论和分享,从开源网站上参考其他人的示例方法,大部分的问题也就能够快速得到解答了。另一方面说,这几乎足以说明不少技术人员的工作内容都是相同、至少是类似的。 -![Copying and Pasting from Stack Overflow](/assets/2019/dotnetclub-chaty/copy-paste-from-so.jpg) +![Copying and Pasting from Stack Overflow](/assets/2019/dotnetclub-chaty/copy-paste-from-so.webp) 如果在搜索引擎上找不到现成的分享,这时就要考虑以某种其他方式来获得解答了。比如,去一些问答网站上发贴求救,或者去一些在线群聊里讨论。一般来说,如果说的不够清楚,就会被管理员一顿批评,大意是“哪里来的菜鸟,问题都不会提!”,或者“扯那么多废话干嘛,先上代码!”如果确实是遇到了群组和社区大佬亲临指点,我们基本上就愉快地忍了,然后速速地按照指点把代码呈上一份、听候进一步的指点。 如果这是一个没有出现过的问题,就会引发大家的围观和讨论,最后问题在讨论中被淹没或者解决。如果这个问题经常出现、太初级,就会被大佬和大家鄙视一番,并被要求回去看书。这时,情况就有点尴尬了。毕竟,我怎么知道该去看哪本书,哪部分?而且,本来这个问题就是在线等的很着急,这会儿我还等着下班呢…… -![表情:给你下跪](/assets/2019/dotnetclub-chaty/on-my-knees.jpg) +![表情:给你下跪](/assets/2019/dotnetclub-chaty/on-my-knees.webp) ## 如果时光能倒流 @@ -28,7 +28,7 @@ tags: 所谓大隐隐于市,高手在民间。在日常互联网上,很多即兴对话里蕴含着很多知识,他们当时给围观者带来了帮助,却又很快消失在人们眼中。当不断再度有人谈到时,高手们不再有耐心来解答,低手们也就不再能够获得解答了。他们又绝望地回到了搜索引擎上……无意中有的人却搜到了这个: -![从放弃百度开始](/assets/2019/dotnetclub-chaty/quit-baidu.png) +![从放弃百度开始](/assets/2019/dotnetclub-chaty/quit-baidu.webp) 情何以堪! @@ -44,29 +44,29 @@ tags: 整体流程如下图: -![对话转换流程图](/assets/2019/dotnetclub-chaty/convert-flow-large.jpg) +![对话转换流程图](/assets/2019/dotnetclub-chaty/convert-flow-large.webp) 其中最为关键的就是右上角的“Wechaty 自动转换客服” club-chaty 项目,它能将收到的微信“消息记录”类型的消息导出为 JSON 格式,同时解析并下载其中包含的多媒体消息,包括链接、文件和图片视频等。 之所以它能将微信消息提取到微信之外,这得益于微信消息解析 SDK。club-chaty 开发之初,在选用微信 SDK 的时候,发现社区中的微信 SDK 很多,琳琅满目到处都是,一时之间,难分伯仲。然而,club-chaty 要求能够解析“消息记录”类型的消息,这一硬性要求很快便将绝大多数 SDK 排除在外了。只有 [Wechaty](https://github.com/wechaty/wechaty) 才能完美地提供这些功能。 -![Wechaty Logo](/assets/2019/dotnetclub-chaty/wechaty.jpg) +![Wechaty Logo](/assets/2019/dotnetclub-chaty/wechaty.webp) Wechaty 是由[句子互动](https://www.juzi.bot/)发布的开源微信 SDK,它直接为微信个人账号赋予编程接口,将个人账号变成自动化应答程序。最重要的是,它能以结构化的方式解析“消息记录”类型的消息。除了解析消息本身,Wechaty 还提供相关的 API 可以下载消息中包含的多媒体内容。这些功能都完美地满足了 club-chaty 的需求。 时不我待,club-chaty 很快就开始了基于 Wechaty 的开发,并在 dotnet club 主站中集成了相关的对话导入流程。作为 dotnet club 网站的一部分,club-chaty 并没有独立地提供线上的网站服务。不过它作为一个软件项目,它的代码与 dotnet club 主站的开发是相互独立的,因此可以单独使用这部分代码。 -![表情:搬转](/assets/2019/dotnetclub-chaty/brick-carrier.jpg) +![表情:搬转](/assets/2019/dotnetclub-chaty/brick-carrier.webp) ## club-chaty 如何防止隐私泄漏 随着了解 club-chaty 这项功能的人越来越多,逐渐有人关注到它可能带来隐私泄露的风险。比如,张三正跟李四在微信里聊起了他对哪个姑娘刚刚萌生的情愫之后,李四改天就用 club-chaty 这款神器把张三的想法公之于众,页面上还有张三的头像和名字,这还得了。鉴于这种考量,dotnet club 在使用由 club-chaty 导入的数据时,会对对话的内容进行一系列“脱敏”处理。比如,隐去微信对话参与者的原始昵称和头像,换用随机生成的昵称和对话;必须由实名制账号导入对话,并接受原对话参与者的认领和删除等。 -![表情:隐私泄漏](/assets/2019/dotnetclub-chaty/privacy-leak.jpg) +![表情:隐私泄漏](/assets/2019/dotnetclub-chaty/privacy-leak.webp) 在 club-chaty 这种智能导入工具之前,人们如果要留存聊天记录,就需要一张张截图,并利用一些拼图软件将多张图拼到一起作为一个整体进行保存了。相信大家都以这种方式吃过不少大瓜,吃的时候很过瘾,但要么是事后再也找不到了,要么是被吃瓜的当事人信息被泄漏。 -![聊天记录示例图](/assets/2019/dotnetclub-chaty/chat-history.jpg) +![聊天记录示例图](/assets/2019/dotnetclub-chaty/chat-history.webp) 而用 club-chaty 导入的聊天记录与截图相比,有诸多好处和优势: diff --git a/jekyll/_posts/2019-08-31-wechaty-wwdc-in-silicon-valley.md b/jekyll/_posts/2019-08-31-wechaty-wwdc-in-silicon-valley.md index 238c60c80ec..141dd1fe104 100644 --- a/jekyll/_posts/2019-08-31-wechaty-wwdc-in-silicon-valley.md +++ b/jekyll/_posts/2019-08-31-wechaty-wwdc-in-silicon-valley.md @@ -6,7 +6,7 @@ tags: - meetup - news - featured -image: /assets/2019/chatie-wwdc-in-sv-110718.jpg +image: /assets/2019/chatie-wwdc-in-sv-110718.webp --- ## 第一次的 WWDC in Silicon Valley @@ -80,6 +80,6 @@ Guess what! Something happened. 對的!就是 Chatie WWDC in Silicon Valley!! 讓我們繼續期待未來的下一次聚會,相信會非常非常的快的 -[meetup-photo]: /assets/2019/chatie-wwdc-in-sv-110718.jpg +[meetup-photo]: /assets/2019/chatie-wwdc-in-sv-110718.webp > Author: [@kis87988](https://github.com/kis87988) William Chen, Software Engineer diff --git a/jekyll/_posts/2019-10-18-wechaty-pku-lecture.md b/jekyll/_posts/2019-10-18-wechaty-pku-lecture.md index 29cd3f055c0..64a7dc0265a 100644 --- a/jekyll/_posts/2019-10-18-wechaty-pku-lecture.md +++ b/jekyll/_posts/2019-10-18-wechaty-pku-lecture.md @@ -6,7 +6,7 @@ tags: - meetup - lecture - news -image: /assets/2019/wechaty-pku-lecture/pku-liming2.jpeg +image: /assets/2019/wechaty-pku-lecture/pku-liming2.webp --- ## 内容纲要 @@ -16,15 +16,15 @@ image: /assets/2019/wechaty-pku-lecture/pku-liming2.jpeg * Wechaty社区生态治理 * Wechaty应用案例分享 -![北大讲座现场](/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.jpeg) +![北大讲座现场](/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.webp) -2019.10.18,受[北京大学软件与微电子学院](http://www.ss.pku.edu.cn/)张齐勋老师邀请,经华为云庄表伟的介绍,我代表Wechaty开源项目,给来自北大软院实验班的120多位同学,完整系统地介绍了Wechaty项目,并分享了Wechaty应用案例-[毛豆课堂小助手](/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.jpeg)。 +2019.10.18,受[北京大学软件与微电子学院](http://www.ss.pku.edu.cn/)张齐勋老师邀请,经华为云庄表伟的介绍,我代表Wechaty开源项目,给来自北大软院实验班的120多位同学,完整系统地介绍了Wechaty项目,并分享了Wechaty应用案例-[毛豆课堂小助手](/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.webp)。 -![李明北大讲座](/assets/2019/wechaty-pku-lecture/pku-liming.jpeg) +![李明北大讲座](/assets/2019/wechaty-pku-lecture/pku-liming.webp) 这一批学生大部分都是95年之后才出生,他们的成长阶段,本身就是Linux开源文化通过互联网传入中国,到萌芽传播再到发展壮大,最后做出我们自己的开源项目的一个历史过程。 -![北大讲座现场2](/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.jpeg) +![北大讲座现场2](/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.webp) 下面,我来重点介绍一下在讲座分享中比较有亮点的几张PPT。 @@ -32,33 +32,33 @@ image: /assets/2019/wechaty-pku-lecture/pku-liming2.jpeg Wechaty是一个典型的三层架构,最上层提供接口,中间层进行抽象,最下层对接各种不同的实现,这和Linux的系统调用层,fs文件系统层,driver层的逻辑和理念很接近,这样对上层的应用可以尽量保持接口一致和稳定性,便于构建各种chatbot实现;对下层可以接入不同的微信通信协议,例如puppeteer对应微信web协议,padpro对应微信pad协议。 -![Wechaty整体架构](/assets/2019/wechaty-pku-lecture/wechaty-arch.jpeg) +![Wechaty整体架构](/assets/2019/wechaty-pku-lecture/wechaty-arch.webp) ## Wechaty开源社区治理 Wechaty的开源社区,同样遵循了众多开源社区的组织形式,包括了PMC(社区管理团队),CDG(社区开发者群体),OC(组织者委员会)。其中人数最多的是开发者群体,按照对项目的贡献程度和话语权,从高到低分为了4个等级:维护者Maintainer,代码提交者Commiter,代码贡献者Contributor,社区成员Community Member。大部分参与项目贡献代码的开发者,都是通过fork-pr-merge的流程来对项目作出自己的贡献。 -![Wechaty社区架构](/assets/2019/wechaty-pku-lecture/wechaty-community.jpeg)。 +![Wechaty社区架构](/assets/2019/wechaty-pku-lecture/wechaty-community.webp)。 ## Wechaty社区生态治理 社区不是只有线上的代码提交,还包括每周五的Bot Friday线下活动。每次活动的人数大概在10-20左右,小规模的参会人数确保了大部分的人都能有发言和输出的机会,这也体现了社区管理者更重视质量而不是数量的治理理念。 -![Wechaty Bot Friday](/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.jpeg)。 +![Wechaty Bot Friday](/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.webp)。 下面是一系列的数字,对Wechaty项目做一个总结! -![Wechaty Summary](/assets/2019/wechaty-pku-lecture/wechaty-summary.jpeg) +![Wechaty Summary](/assets/2019/wechaty-pku-lecture/wechaty-summary.webp) ## Wechaty应用案例分享 毛豆课堂项目是为少儿教育机构和老师提供一个全线上可实时互动的教学平台,借助AI人工智能进行教学辅助和学习反馈,并通过课程智能推荐引擎为家长提供最可信赖和适合孩子的课程。在这个项目中,有一个部分是帮助老师进行创建课程提醒的微信机器人,就是毛豆课堂小助手。 -![毛豆课堂演示](/assets/2019/maodou-ketang-demo.png) +![毛豆课堂演示](/assets/2019/maodou-ketang-demo.webp) 通过自然语言给毛豆课堂小助手发一条消息,就可以自动提取出其中的时间、地点和主题,帮助老师创建课程提醒,并给老师推送相关课程小程序。基本流程如下图所示: -![毛豆课堂小助手流程](/assets/2019/wechaty-pku-lecture/xzs-workflow.jpeg)。 +![毛豆课堂小助手流程](/assets/2019/wechaty-pku-lecture/xzs-workflow.webp)。 这个项目的代码,目前就在 [Wechaty Examples](https://github.com/wechaty/wechaty-getting-started/tree/master/examples/third-party/maodou) 里面,如果对此有兴趣也欢迎和我联系。(加我微信号 limingth) diff --git a/jekyll/_posts/2019-12-06-wechaty-recruit-chatbot.md b/jekyll/_posts/2019-12-06-wechaty-recruit-chatbot.md index 54131268416..01f602b22b9 100644 --- a/jekyll/_posts/2019-12-06-wechaty-recruit-chatbot.md +++ b/jekyll/_posts/2019-12-06-wechaty-recruit-chatbot.md @@ -13,7 +13,7 @@ Wechaty项目自启动以来,受到全球开发者的关注,三年时间收 为了不辜负chatbot开发者的热爱,我们决定公开征集对话机器人,把优秀的机器人作品推广给更多开发者使用,对于大众认可度高的机器人作品,我们会给予特殊支持。 -![wechaty-recruit-chatbot](/assets/2019/recruit-bot-img-1.png) +![wechaty-recruit-chatbot](/assets/2019/recruit-bot-img-1.webp) ## 【活动介绍】 @@ -35,7 +35,7 @@ Wechaty项目自启动以来,受到全球开发者的关注,三年时间收 扫码添加工作机器人微信,回复【报名】进入报名群。 -![chatbot-qrcode](/assets/2019/recruit-bot-img-2.png) +![chatbot-qrcode](/assets/2019/recruit-bot-img-2.webp) ### 【评选规则】 diff --git a/jekyll/_posts/2019-12-20-microsoft-ai-global-training-camp-ends-in-beijing.md b/jekyll/_posts/2019-12-20-microsoft-ai-global-training-camp-ends-in-beijing.md index 548d5645ff5..3abb3e7aeed 100644 --- a/jekyll/_posts/2019-12-20-microsoft-ai-global-training-camp-ends-in-beijing.md +++ b/jekyll/_posts/2019-12-20-microsoft-ai-global-training-camp-ends-in-beijing.md @@ -14,7 +14,7 @@ Global AI Bootcamp是微软发起的全球AI开发者训练营活动,旨在凝 - Global AI Bootcamp: - Global AI Bootcamp Beijing: -![global-bootcamp](/assets/2019/microsoft-ai-global-training-camp/image-1.png) +![global-bootcamp](/assets/2019/microsoft-ai-global-training-camp/image-1.webp) 本次北京站Microsoft AI Bootcamp是由三位微软AI MVP共同发起与组织,三位分别是: @@ -22,27 +22,27 @@ Global AI Bootcamp是微软发起的全球AI开发者训练营活动,旨在凝 - Microsoft Data&AI 解决方案架构师, 前 Microsoft MVP 陈堰平 - Microsoft AI MVP, 句子互动创始人&CEO 李佳芮。 -![image-2](/assets/2019/microsoft-ai-global-training-camp/image-2.png) +![image-2](/assets/2019/microsoft-ai-global-training-camp/image-2.webp) 现场共有八位来自不同AI领域的嘉宾进行了分享,主题内容涵盖了从基础层到应用层的方方面面,因为分享内容过于精彩,多位嘉宾超时分享,小编在文章最后献上了活动全程直播视频回放,足足5小时,没来现场的开发者们可以远程学习了。 -![image-3](/assets/2019/microsoft-ai-global-training-camp/image-3.png) +![image-3](/assets/2019/microsoft-ai-global-training-camp/image-3.webp) ## 活动签到 Wish you were here. -![pnp](/assets/2019/microsoft-ai-global-training-camp/image-5.png) +![pnp](/assets/2019/microsoft-ai-global-training-camp/image-5.webp) -![register](/assets/2019/microsoft-ai-global-training-camp/image-4.png) +![register](/assets/2019/microsoft-ai-global-training-camp/image-4.webp) ### 1.主办方致辞 微软AI MVP -![image-6](/assets/2019/microsoft-ai-global-training-camp/image-6.png) -![image-7](/assets/2019/microsoft-ai-global-training-camp/image-7.png) -![image-8](/assets/2019/microsoft-ai-global-training-camp/image-8.png) +![image-6](/assets/2019/microsoft-ai-global-training-camp/image-6.webp) +![image-7](/assets/2019/microsoft-ai-global-training-camp/image-7.webp) +![image-8](/assets/2019/microsoft-ai-global-training-camp/image-8.webp) ### 2.上半场嘉宾分享 @@ -51,11 +51,11 @@ Wish you were here. - 兰州大学博士 武强 - VMware软件工程师 张一赫 -![image-9](/assets/2019/microsoft-ai-global-training-camp/image-9.png) -![image-10](/assets/2019/microsoft-ai-global-training-camp/image-10.png) -![image-11](/assets/2019/microsoft-ai-global-training-camp/image-11.png) -![image-12](/assets/2019/microsoft-ai-global-training-camp/image-12.png) -![image-13](/assets/2019/microsoft-ai-global-training-camp/image-13.png) +![image-9](/assets/2019/microsoft-ai-global-training-camp/image-9.webp) +![image-10](/assets/2019/microsoft-ai-global-training-camp/image-10.webp) +![image-11](/assets/2019/microsoft-ai-global-training-camp/image-11.webp) +![image-12](/assets/2019/microsoft-ai-global-training-camp/image-12.webp) +![image-13](/assets/2019/microsoft-ai-global-training-camp/image-13.webp) ### 3.下半场嘉宾分享 @@ -64,26 +64,26 @@ Wish you were here. - 句子互动创始人 李佳芮 - 微软Data&AI架构师 陈堰平 -![image-14](/assets/2019/microsoft-ai-global-training-camp/image-14.png) -![image-15](/assets/2019/microsoft-ai-global-training-camp/image-15.png) -![image-16](/assets/2019/microsoft-ai-global-training-camp/image-16.png) -![image-17](/assets/2019/microsoft-ai-global-training-camp/image-17.png) +![image-14](/assets/2019/microsoft-ai-global-training-camp/image-14.webp) +![image-15](/assets/2019/microsoft-ai-global-training-camp/image-15.webp) +![image-16](/assets/2019/microsoft-ai-global-training-camp/image-16.webp) +![image-17](/assets/2019/microsoft-ai-global-training-camp/image-17.webp) ### 4.开发者互动提问 现场讨论相当热烈,十几位开发者提出了自己的问题,与嘉宾进行互动,并获得了微软礼品。坚持听讲到最后的童鞋还获得了微软Azure Pass。 -![image-18](/assets/2019/microsoft-ai-global-training-camp/image-18.png) -![image-19](/assets/2019/microsoft-ai-global-training-camp/image-19.png) -![image-20](/assets/2019/microsoft-ai-global-training-camp/image-20.png) -![image-21](/assets/2019/microsoft-ai-global-training-camp/image-21.png) -![image-22](/assets/2019/microsoft-ai-global-training-camp/image-22.png) -![image-23](/assets/2019/microsoft-ai-global-training-camp/image-23.png) -![image-24](/assets/2019/microsoft-ai-global-training-camp/image-24.png) +![image-18](/assets/2019/microsoft-ai-global-training-camp/image-18.webp) +![image-19](/assets/2019/microsoft-ai-global-training-camp/image-19.webp) +![image-20](/assets/2019/microsoft-ai-global-training-camp/image-20.webp) +![image-21](/assets/2019/microsoft-ai-global-training-camp/image-21.webp) +![image-22](/assets/2019/microsoft-ai-global-training-camp/image-22.webp) +![image-23](/assets/2019/microsoft-ai-global-training-camp/image-23.webp) +![image-24](/assets/2019/microsoft-ai-global-training-camp/image-24.webp) 经过五个小时的分享与讨论,活动在大家高喊“AI MVP”的声音中落下帷幕。 -![image-25](/assets/2019/microsoft-ai-global-training-camp/image-25.png) +![image-25](/assets/2019/microsoft-ai-global-training-camp/image-25.webp) 本次活动由Microsoft MVP & DataFun & Plug and Play & Pre-Angel & 句子互动全程落地支持。 diff --git a/jekyll/_posts/2019-12-23-wechaty-north-america-ricepo-.md b/jekyll/_posts/2019-12-23-wechaty-north-america-ricepo-.md index c98d0b6e31d..aa6a4985d7f 100644 --- a/jekyll/_posts/2019-12-23-wechaty-north-america-ricepo-.md +++ b/jekyll/_posts/2019-12-23-wechaty-north-america-ricepo-.md @@ -4,7 +4,7 @@ author: areigna categories: event tags: - meetup -image: /assets/2019/wechaty-ricepo/logo.png +image: /assets/2019/wechaty-ricepo/logo.webp --- ## 内容纲要 @@ -14,7 +14,7 @@ image: /assets/2019/wechaty-ricepo/logo.png * Wechaty+SQS整体架构 * Wechaty使用遇到问题以及解决方案 -![RICEPO](/assets/2019/wechaty-ricepo/ricepo.png) +![RICEPO](/assets/2019/wechaty-ricepo/ricepo.webp) ## RICEPO简介 @@ -47,10 +47,10 @@ Wechaty可以几乎完美解决以上所有问题, * 老板查看微信频次高,不容易错过订单 * 无需打印,无需设备,使用成本低 -![RICEPO](/assets/2019/wechaty-ricepo/wechat.png) +![RICEPO](/assets/2019/wechaty-ricepo/wechat.webp) 文字+链接发送实时订单 -![RICEPO](/assets/2019/wechaty-ricepo/order.png) +![RICEPO](/assets/2019/wechaty-ricepo/order.webp) 查看订单详情,一键确认 除此之外,Wechaty还可以实现饭店公告的功能。 @@ -73,7 +73,7 @@ RICEPO的wechaty使用的是[wechaty-puppet-padplus](https://github.com/botorang * 若未登陆,会将登陆二维码发送至对应的channel * 若扫码登陆成功,发送一条登陆成功的消息至对应的channel -![RICEPO](/assets/2019/wechaty-ricepo/slack.png) +![RICEPO](/assets/2019/wechaty-ricepo/slack.webp) ## Wechaty使用遇到问题以及解决方案 diff --git a/jekyll/_posts/2020-02-08-wechaty-new-release-version-0.30.md b/jekyll/_posts/2020-02-08-wechaty-new-release-version-0.30.md index 70c4e1a6168..a4af12049a7 100644 --- a/jekyll/_posts/2020-02-08-wechaty-new-release-version-0.30.md +++ b/jekyll/_posts/2020-02-08-wechaty-new-release-version-0.30.md @@ -5,7 +5,7 @@ categories: announcement tags: - release - news -image: /assets/2017/wechaty-sticker.jpg +image: /assets/2017/wechaty-sticker.webp --- Wechaty v0.30 Released! We have lots of new features added and bugs fixed! diff --git a/jekyll/_posts/2020-03-01-matrix-wechat-bridge.md b/jekyll/_posts/2020-03-01-matrix-wechat-bridge.md index 7504ca43a62..e7ccef91785 100644 --- a/jekyll/_posts/2020-03-01-matrix-wechat-bridge.md +++ b/jekyll/_posts/2020-03-01-matrix-wechat-bridge.md @@ -5,7 +5,7 @@ categories: tutorial tags: - matrix - featured -image: /assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.png +image: /assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.webp --- 我周围的人都知道我很讨厌微信————臃肿、慢速、开放性低而且还极其费电,于是呢我当然发挥裁剪流氓软件的能力,直接把微信的后台打了个半残,所以我周围的人一直说我微信经常找不到我,那是当然的,微信连后台都没了,能实时找得到我就怪了。 diff --git a/jekyll/_posts/2020-03-01-wechaty-data-bau.md b/jekyll/_posts/2020-03-01-wechaty-data-bau.md index 7a6998a2be9..24cb6401b31 100644 --- a/jekyll/_posts/2020-03-01-wechaty-data-bau.md +++ b/jekyll/_posts/2020-03-01-wechaty-data-bau.md @@ -5,7 +5,7 @@ categories: project tags: - code - productivity -image: /assets/2020/wechat-for-data-bau/wechat-reply-night.jpg +image: /assets/2020/wechat-for-data-bau/wechat-reply-night.webp --- 新冠疫情爆发于 2020 年2 月,某大型跨国药企业务数据的响应与维护工作随着疫情爆发迅速提升,一时间数据需求方的响应诉求迅速攀升,找到合适的开源解决方案成为目前乃至长期的救命稻草。 diff --git a/jekyll/_posts/2020-03-02-wechaty-north-america-umiuni.md b/jekyll/_posts/2020-03-02-wechaty-north-america-umiuni.md index 75cc3708698..06dd05c8e82 100644 --- a/jekyll/_posts/2020-03-02-wechaty-north-america-umiuni.md +++ b/jekyll/_posts/2020-03-02-wechaty-north-america-umiuni.md @@ -4,7 +4,7 @@ author: supercharleszhu categories: event tags: - meetup -image: /assets/2020/umiuni/icon.png +image: /assets/2020/umiuni/icon.webp --- ## 内容简介 @@ -14,7 +14,7 @@ image: /assets/2020/umiuni/icon.png * Wechaty 的 技术实现 * Umiuni+Wechaty 的将来发展 -![UmiUni](/assets/2020/umiuni/icon.png) +![UmiUni](/assets/2020/umiuni/icon.webp) ## UmiUni -- 北美留学生自己的校园生活圈子 @@ -59,7 +59,7 @@ Umiuni 目前主要依托于用户登录小程序或app来发布,搜索自己 因此我们使用Wechaty 的微信机器人用以提升整体效率 -![UmiUni](/assets/2020/umiuni/architecture.png) +![UmiUni](/assets/2020/umiuni/architecture.webp) 上图为umiuni的新架构设计,具体创新点如下: diff --git a/jekyll/_posts/2020-03-07-meta-puppet-for-python.md b/jekyll/_posts/2020-03-07-meta-puppet-for-python.md index 307884615db..0400484f648 100644 --- a/jekyll/_posts/2020-03-07-meta-puppet-for-python.md +++ b/jekyll/_posts/2020-03-07-meta-puppet-for-python.md @@ -6,12 +6,12 @@ tags: - python - socket - puppet -image: /assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg +image: /assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp --- 一个支持Wechaty调用的Python框架 -[![MetaPuppetForPython](/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg)](https://github.com/quantumFlame/MetaPuppetForPython) +[![MetaPuppetForPython](/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp)](https://github.com/quantumFlame/MetaPuppetForPython) 特征: @@ -499,7 +499,7 @@ a_webgui.run() ## 原理 -[![MetaPuppetForPython](/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg)](https://github.com/quantumFlame/MetaPuppetForPython) +[![MetaPuppetForPython](/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp)](https://github.com/quantumFlame/MetaPuppetForPython) `MetaPuppetForPython`的核心是通过socket双向通信,实现业务逻辑(server)与第三方业务(client)的交互,包括信息的收发以及接口的调用等。 所以,在这个框架下,与`Wechaty`的架构类比,server是`Wechaty`的TS代码,client是`Wechaty`调用的各个puppet。 `MetaPuppetForPython`默认包括完全的server和运行`Wechaty`的client代码,针对其他app(weibo, qq, web, etc.)的client需要自定义。 diff --git a/jekyll/_posts/2020-03-17-sqlite-wechat-assistant.md b/jekyll/_posts/2020-03-17-sqlite-wechat-assistant.md index ef2d7c9ce3d..823c17a14b3 100644 --- a/jekyll/_posts/2020-03-17-sqlite-wechat-assistant.md +++ b/jekyll/_posts/2020-03-17-sqlite-wechat-assistant.md @@ -4,7 +4,7 @@ author: moderncrazy categories: tutorial tags: - sqlite -image: /assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg +image: /assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.webp --- 需求之初是,希望有一个机器人能够替我们完成各种机械式的操作,来提高我们的工作效率。 @@ -208,4 +208,4 @@ async queryStatus(bot, message, msgData) { > 作者: [moderncrazy](https://github.com/moderncrazy),个人开发者。首发于博客: [使用 SQLite 和 pullword 实现简易的业务助手](https://wechaty.github.io/sqlite-wechat-assistant/) 遵循 CC BY-NC-SA 3.0 CN -[![WechatAssistant](/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg)](https://github.com/moderncrazy/wechat_assistant) +[![WechatAssistant](/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.webp)](https://github.com/moderncrazy/wechat_assistant) diff --git a/jekyll/_posts/2020-03-27-kaiyuanshe-interview-huan-slash-youth.md b/jekyll/_posts/2020-03-27-kaiyuanshe-interview-huan-slash-youth.md index 1351999d073..54622b0c06d 100644 --- a/jekyll/_posts/2020-03-27-kaiyuanshe-interview-huan-slash-youth.md +++ b/jekyll/_posts/2020-03-27-kaiyuanshe-interview-huan-slash-youth.md @@ -5,7 +5,7 @@ categories: story tags: - news - interview -image: /assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png +image: /assets/2020/03-slash-huan-kaiyuanshe/slash-huan.webp --- 近年来非常流行“SLASH(斜杠)青年”一词,指的是不再满足“专一职业”的生活方式,而选择拥有多重职业和身份的多元生活的青年。 @@ -58,7 +58,7 @@ image: /assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png 我发布的开源项目,合计 Stars 数量超过一万,模块被其他代码库引用数量数千,每月模块下载量 3 万余次,Docker Pull 总计百万余次。 -![Huan GitHub](/assets/2020/03-slash-huan-kaiyuanshe/huan-github.png) +![Huan GitHub](/assets/2020/03-slash-huan-kaiyuanshe/huan-github.webp) 同时,我还在 GitHub 上被其他开源组织、作者邀请为 Owner 和 Maintainer 。 @@ -76,7 +76,7 @@ image: /assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png 网站: (2003年版) -![AKA Website](/assets/2020/03-slash-huan-kaiyuanshe/aka.png) +![AKA Website](/assets/2020/03-slash-huan-kaiyuanshe/aka.webp) > 1998 年 10 月阿卡组织的杂志第一期: > 应该是国内最早翻译《大教堂和集市》这篇文章的了 diff --git a/jekyll/_posts/2020-03-30-financial-marketing-practice.md b/jekyll/_posts/2020-03-30-financial-marketing-practice.md index 960e396c8ce..1ee94e2131c 100644 --- a/jekyll/_posts/2020-03-30-financial-marketing-practice.md +++ b/jekyll/_posts/2020-03-30-financial-marketing-practice.md @@ -4,7 +4,7 @@ author: crossly categories: tutorial tags: - financial -image: /assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.png +image: /assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.webp --- 首先,先为我拙劣的代码道个歉。临时野生程序员JS为现学,各种不规范请见谅。 @@ -243,6 +243,6 @@ module.exports = { 对了,如果您想要体验我的机器人,或者对可转债套利有兴趣。您都可以扫描我的机器人进行体验。 -![Maple's financial bot](/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.jpg) +![Maple's financial bot](/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.webp) > 作者: lemonsx(柠檬x),证券从业者,前平台产品经理 diff --git a/jekyll/_posts/2020-04-05-wechaty-check-in-robot.md b/jekyll/_posts/2020-04-05-wechaty-check-in-robot.md index 0076044b4a9..6b2130841de 100644 --- a/jekyll/_posts/2020-04-05-wechaty-check-in-robot.md +++ b/jekyll/_posts/2020-04-05-wechaty-check-in-robot.md @@ -6,7 +6,7 @@ tags: - checkin - social - game -image: /assets/2020/wechaty-check-in-robot/notice.png +image: /assets/2020/wechaty-check-in-robot/notice.webp --- ## 1. 开发背景 diff --git a/jekyll/_posts/2020-04-06-iot-based-on-juzibot.md b/jekyll/_posts/2020-04-06-iot-based-on-juzibot.md index ebdc51a51b8..73aebbfb94f 100644 --- a/jekyll/_posts/2020-04-06-iot-based-on-juzibot.md +++ b/jekyll/_posts/2020-04-06-iot-based-on-juzibot.md @@ -39,11 +39,11 @@ digitalWrite(0, LOW); ## 如何用微信远程控制设备? -![RICEPO](/assets/2020/juzi-iot/0.jpg) +![RICEPO](/assets/2020/juzi-iot/0.webp) 如上图所示,使用微信远程控制设备的关键,就是在设备上面跑一个微信客户端,并对消息进行判断,处理成高低电平。 -![RICEPO](/assets/2020/juzi-iot/1.jpg) +![RICEPO](/assets/2020/juzi-iot/1.webp) 以前有命令行的微信,可以直接通过命令方式调用。但是现在这种方法已经失去作用了。目前,wechaty是一个很优秀的微信机器人框架。只要在on message方法里写代码对消息进行处理,操作GPIO,就可以实现用微信去远程控制家里的设备。 @@ -51,15 +51,15 @@ digitalWrite(0, LOW); 在句子秒回中,可以设置API回调接口。 -![RICEPO](/assets/2020/juzi-iot/4.jpg) +![RICEPO](/assets/2020/juzi-iot/4.webp) 因此可以构建一个回调API,根据获得的消息去操作硬件设备。因此,目前有2种方案可选,一种是在回调地址中,把获得的消息转成MQTT,即发布一个主题。 -![RICEPO](/assets/2020/juzi-iot/2.jpg) +![RICEPO](/assets/2020/juzi-iot/2.webp) 如上图所示,使用廉价的arduino,订阅主题,当微信发送消息时,句子秒回会把消息推到回调API。在回调API中,把获得的消息发布到一个MQTT主题。但这也需要额外配置一个MQTT broker服务器。 -![RICEPO](/assets/2020/juzi-iot/3.jpg) +![RICEPO](/assets/2020/juzi-iot/3.webp) 另一种方案是在回调API中,把消息存起来。通过另一个API可让设备轮询获得该消息。因轮询有时间间隔,因此它的速度没有MQTT快。 diff --git a/jekyll/_posts/2020-04-10-chatbot-on-uniqueway.md b/jekyll/_posts/2020-04-10-chatbot-on-uniqueway.md index ad9e9578b5d..743fc5fcd68 100644 --- a/jekyll/_posts/2020-04-10-chatbot-on-uniqueway.md +++ b/jekyll/_posts/2020-04-10-chatbot-on-uniqueway.md @@ -4,7 +4,7 @@ author: likai categories: tutorial tags: - travel -image: /assets/2020/chatbot-on-uniqueway/teaser.jpg +image: /assets/2020/chatbot-on-uniqueway/teaser.webp --- ## 一、定制旅游介绍 @@ -16,7 +16,7 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg ## 二、定制旅游业务流程 -![定制旅游业务流程](/assets/2020/chatbot-on-uniqueway/slide-2.jpg) +![定制旅游业务流程](/assets/2020/chatbot-on-uniqueway/slide-2.webp) ## 三、Chatbot在定制旅游行业中的运用 @@ -33,10 +33,10 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg * 思路: 通过 Wechaty 主动添加客人微信,收集意向需求, 计算优先级,分配销售人员 * 成果: 呼叫中心提效40%(有些渠道拿不到手机号) -![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-3.jpg) -![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-4.jpg) -![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-5.jpg) -![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-6.jpg) +![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-3.webp) +![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-4.webp) +![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-5.webp) +![减少导流流失](/assets/2020/chatbot-on-uniqueway/slide-6.webp) ### 提高销售签约率 @@ -45,9 +45,9 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg * 思路: 梳理高转化率人员的销售沟通策略,利用 Wechaty 进行消息推送 * 成果: 销售签约率提高5.69% -![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-7.jpg) -![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-8.jpg) -![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-9.jpg) +![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-7.webp) +![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-8.webp) +![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-9.webp) ### 提高售后服务效率 @@ -56,7 +56,7 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg * 思路: 整理这些重复工作,结合客户数据和行程数据将通 过 Wechaty 做消息推送和收集 * 成果: 售后服务效率提升15.6% -![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-10.jpg) +![提高销售签约率](/assets/2020/chatbot-on-uniqueway/slide-10.webp) ### 减少客户差评和赔付 @@ -65,8 +65,8 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg * 思路: 在客户爆炸前发现并解决,基于百度AI做实时聊天内容的情感分析,及时发现并 告知管理人员跟进了解情况,避免客户爆炸 * 成果: 公开渠道差评下降45% -![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-11.jpg) -![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-12.jpg) +![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-11.webp) +![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-12.webp) ### 提高微信沟通效率 @@ -75,7 +75,7 @@ image: /assets/2020/chatbot-on-uniqueway/teaser.jpg * 思路: 打通PC端微信和内部系统 * 成果: 智能推荐回复话术(基于百度UNIT和预设规则)、实现自动关联微信对话和工单、根据聊天内容分析成交意向 -![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-13.jpg) -![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-14.jpg) +![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-13.webp) +![减少客户差评和赔付](/assets/2020/chatbot-on-uniqueway/slide-14.webp) > 作者: [李恺](https://github.com/tlikai),无二之旅研发总监、资深后端工程师。 diff --git a/jekyll/_posts/2020-04-17-microsoft-tech-forum-rui-interview.md b/jekyll/_posts/2020-04-17-microsoft-tech-forum-rui-interview.md index 4a0b218f6a8..ba32bf6f885 100644 --- a/jekyll/_posts/2020-04-17-microsoft-tech-forum-rui-interview.md +++ b/jekyll/_posts/2020-04-17-microsoft-tech-forum-rui-interview.md @@ -6,7 +6,7 @@ tags: - microsoft - chatbot - news -image: /assets/2020/ms-lijiarui-interview/teaser.png +image: /assets/2020/ms-lijiarui-interview/teaser.webp --- ## 看点 @@ -17,7 +17,7 @@ image: /assets/2020/ms-lijiarui-interview/teaser.png ## 内容 -![intro](/assets/2020/ms-lijiarui-interview/intro.jpg) +![intro](/assets/2020/ms-lijiarui-interview/intro.webp) ### 1. 自我介绍 @@ -95,8 +95,8 @@ Chatbot 的智能程度取决于它能够给理解的意图和实体的数量和 下面是在后台和微软中国 CTO 韦青老师的合影,为我的新书 [《Chatbot从0到1:对话式交互设计实践指南》](https://item.jd.com/12630213.html) 打call~ -![weiqing](/assets/2020/ms-lijiarui-interview/weiqing.jpg) +![weiqing](/assets/2020/ms-lijiarui-interview/weiqing.webp) 现场很多小伙伴发了额 wechaty 弹幕,开心~~ -![wechaty](/assets/2020/ms-lijiarui-interview/wechaty.jpg) +![wechaty](/assets/2020/ms-lijiarui-interview/wechaty.webp) diff --git a/jekyll/_posts/2020-04-20-run-wechaty-on-raspberry-pi.md b/jekyll/_posts/2020-04-20-run-wechaty-on-raspberry-pi.md index ab9806d872e..a2f31bf67c3 100644 --- a/jekyll/_posts/2020-04-20-run-wechaty-on-raspberry-pi.md +++ b/jekyll/_posts/2020-04-20-run-wechaty-on-raspberry-pi.md @@ -5,7 +5,7 @@ categories: tutorial tags: - iot - raspberrypi -image: /assets/2020/runwechatyonpi/head.png +image: /assets/2020/runwechatyonpi/head.webp --- ## 一、介绍 @@ -25,7 +25,7 @@ Wechaty.instance() // Global Instance 2、树莓派是一个具备硬件接口的廉价卡片电脑 -![RICEPO](/assets/2020/runwechatyonpi/pi.jpg) +![RICEPO](/assets/2020/runwechatyonpi/pi.webp) 树莓派能运行完整的linux系统,可通过读写GPIO文件的方式实现与硬件交互。树莓派降低了开发硬件的难度,可使用开发软件的方式开发硬件。 @@ -91,11 +91,11 @@ wechaty-puppet-service用的是windows微信协议,该协议需要使用token WECHATY_PUPPET=wechaty-puppet-service WECHATY_PUPPET_SERVICE_TOKEN=token node bot.js ``` -![RICEPO](/assets/2020/runwechatyonpi/run.jpg) +![RICEPO](/assets/2020/runwechatyonpi/run.webp) 7、终端上会出现一个url,复制粘贴到浏览器上,会出现一个二维码。 -![RICEPO](/assets/2020/runwechatyonpi/qrcode.jpg) +![RICEPO](/assets/2020/runwechatyonpi/qrcode.webp) 使用微信扫码登陆,微信机器人就上线了。 diff --git a/jekyll/_posts/2020-04-23-cps-of-wechat-bot-with-wechaty.md b/jekyll/_posts/2020-04-23-cps-of-wechat-bot-with-wechaty.md index da2b9d6885a..37bbcdfa101 100644 --- a/jekyll/_posts/2020-04-23-cps-of-wechat-bot-with-wechaty.md +++ b/jekyll/_posts/2020-04-23-cps-of-wechat-bot-with-wechaty.md @@ -5,7 +5,7 @@ categories: project tags: - cps - ecommerce -image: /assets/2020/cps-bot/qrcode.jpg +image: /assets/2020/cps-bot/qrcode.webp --- tips: if you try to use wechaty web version, you will be know it can't work, so this post show you how to use ipad version to make bot work, if you never use wechaty any version, this post also pass the web version, because it's pointless diff --git a/jekyll/_posts/2020-04-30-wechat-promote-tool.md b/jekyll/_posts/2020-04-30-wechat-promote-tool.md index 0319e16cd44..5ff12ec48ee 100644 --- a/jekyll/_posts/2020-04-30-wechat-promote-tool.md +++ b/jekyll/_posts/2020-04-30-wechat-promote-tool.md @@ -4,7 +4,7 @@ author: jesseweb categories: project tags: - ecommerce -image: /assets/2020/promote-bot/banner.png +image: /assets/2020/promote-bot/banner.webp --- ## 一、项目背景 @@ -41,9 +41,9 @@ image: /assets/2020/promote-bot/banner.png ## 测试效果 * 机器人相关操作 - ![INVITE](/assets/2020/promote-bot/result.jpg) + ![INVITE](/assets/2020/promote-bot/result.webp) * 测试发送效果 - ![INVITE](/assets/2020/promote-bot/result1.png) + ![INVITE](/assets/2020/promote-bot/result1.webp) ## 后续计划 diff --git a/jekyll/_posts/2020-04-30-wechaty-chat-room-manager.md b/jekyll/_posts/2020-04-30-wechaty-chat-room-manager.md index 7d3609d2950..e1d8529134e 100644 --- a/jekyll/_posts/2020-04-30-wechaty-chat-room-manager.md +++ b/jekyll/_posts/2020-04-30-wechaty-chat-room-manager.md @@ -4,7 +4,7 @@ author: tianyugeng categories: project tags: - utility -image: /assets/2020/room-manager/bio-photo.png +image: /assets/2020/room-manager/bio-photo.webp --- ## 微信群管辅助 diff --git a/jekyll/_posts/2020-05-05-when-bus-come.md b/jekyll/_posts/2020-05-05-when-bus-come.md index d67888605ba..f52d8a229f6 100644 --- a/jekyll/_posts/2020-05-05-when-bus-come.md +++ b/jekyll/_posts/2020-05-05-when-bus-come.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - travel -image: /assets/2020/when-bus-come/teaser.jpg +image: /assets/2020/when-bus-come/teaser.webp --- ## 需求 diff --git a/jekyll/_posts/2020-05-11-wechaty-subscription-bot.md b/jekyll/_posts/2020-05-11-wechaty-subscription-bot.md index e3e7d4f052a..f489c36bd47 100644 --- a/jekyll/_posts/2020-05-11-wechaty-subscription-bot.md +++ b/jekyll/_posts/2020-05-11-wechaty-subscription-bot.md @@ -4,7 +4,7 @@ author: fish-ball categories: tutorial tags: - subscribe -image: /assets/2020/wechaty-subscription-bot/teaser.png +image: /assets/2020/wechaty-subscription-bot/teaser.webp --- ## 项目背景 @@ -284,7 +284,7 @@ bot.on('message', async msg => { 测试机器人(wx_easecloud): -![逸云科技](/assets/2020/wechaty-subscription-bot/wx_easecloud.jpg) +![逸云科技](/assets/2020/wechaty-subscription-bot/wx_easecloud.webp) 联系作者: diff --git a/jekyll/_posts/2020-05-12-weilai-nio-bot.md b/jekyll/_posts/2020-05-12-weilai-nio-bot.md index 2240add57d7..ab63e7bb43d 100644 --- a/jekyll/_posts/2020-05-12-weilai-nio-bot.md +++ b/jekyll/_posts/2020-05-12-weilai-nio-bot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - automotive -image: /assets/2020/nio-bot/bio-photo.jpg +image: /assets/2020/nio-bot/bio-photo.webp --- ## 需求 @@ -106,7 +106,7 @@ function generateAdvice () { ## 实际效果 -![Welcome](/assets/2020/nio-bot/welcome.jpeg) +![Welcome](/assets/2020/nio-bot/welcome.webp) > 作者: [Leons828](https://github.com/Leons828) web developer > Code: [Github](https://github.com/Leons828/nio-bot) diff --git a/jekyll/_posts/2020-05-16-group-repe-assistant.md b/jekyll/_posts/2020-05-16-group-repe-assistant.md index 1ef2d5401c2..5680e40a54a 100644 --- a/jekyll/_posts/2020-05-16-group-repe-assistant.md +++ b/jekyll/_posts/2020-05-16-group-repe-assistant.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - utility -image: /assets/2020/repe-assistant/2020-05-16-repe-assistant.png +image: /assets/2020/repe-assistant/2020-05-16-repe-assistant.webp --- repe社群助手主要是为了提高社群活跃度以及群活动管理而设计。管理员使用后台web发起一系列活动并设置动态的参与口令,群成员只需要发送对应口令即可参与活动,并且能够结合积分系统做一些约束和奖励。 diff --git a/jekyll/_posts/2020-05-17-use-wechaty-manage-ur-customers.md b/jekyll/_posts/2020-05-17-use-wechaty-manage-ur-customers.md index dfbc01e88cf..7012cec8710 100644 --- a/jekyll/_posts/2020-05-17-use-wechaty-manage-ur-customers.md +++ b/jekyll/_posts/2020-05-17-use-wechaty-manage-ur-customers.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - social -image: /assets/2020/manage-ur-customers/2020-0517-wechat.jpeg +image: /assets/2020/manage-ur-customers/2020-0517-wechat.webp --- 作为一个店面开了十多年个体工商户,积攒了很多的客户。希望能够减少人为的操作,去解决一些常见的问题,比如: diff --git a/jekyll/_posts/2020-05-19-open-source-wechaty-huan-2020.md b/jekyll/_posts/2020-05-19-open-source-wechaty-huan-2020.md index 2126e7909a8..2f0b71ff63d 100644 --- a/jekyll/_posts/2020-05-19-open-source-wechaty-huan-2020.md +++ b/jekyll/_posts/2020-05-19-open-source-wechaty-huan-2020.md @@ -6,12 +6,12 @@ tags: - mvp - news - talk -image: /assets/2020/azure-show/azure-show-huan.png +image: /assets/2020/azure-show/azure-show-huan.webp --- 欢迎来到AzureShow的开源故事,第一期的嘉宾 Huan Li,中文首本 Conversational User Interface 畅销书《Chatbot从0到1》联合作者,GitHub 8k Stars 开源 Chatbot 项目 Wechaty 作者,长期从事 Chatbot 领域的 Conversational AI 算法研究与行业应用落地相关方向。现为 PreAngel 合伙人,关注种子阶段的技术类创业项目。清华大学本科,中欧国际商学院 EMBA。 -![Azure Show](/assets/2020/azure-show/azure-show.png) +![Azure Show](/assets/2020/azure-show/azure-show.webp) ## Azure Show @@ -31,6 +31,6 @@ Azure Show 是由微软最有价值专家、微软技术社区区域总监卢建 > 本期是我们Azure Show的首秀,谢谢各位小伙伴的关注,非常感谢本期嘉宾Kris,卓桓、佳芮以及我的搭档兴亮的大力支持,还有帮忙进行视频处理的小董。想在最后跟大家聊聊为什么要开设这个线上节目。自2012年成为微软最有价值专家(MVP)以来,开始在各个社区与同行们讨论技术,分享代码,在这个过程中,既是一种分享,也是一种收获。通过社区,不仅解决了自己碰到的一些技术难题也认识到很多好朋友。MVP这个社区,汇聚了来自各个行业,各个国家的IT同行,他们乐于分享,乐于互助,我期待通过这个节目,邀请到更多的行业大牛与大家分享,分享 Azure 的知识,分享他们的开源项目,分享技术社区中的点点滴滴,希望能给大家带来点干货!从第二期开始,我们将正式启动Azure 101活动,帮助大家从0开始认识Azure的知识。第一期节目,也是一次探索,后续我们会不断改进,也欢迎大家留言或者在公众号后台留下你们的建议与意见, -![huan](/assets/2020/azure-show/azure-show-mvp.png) +![huan](/assets/2020/azure-show/azure-show-mvp.webp) Source: [Azure Show 第一期 开播啦!嘉宾梁迪&李卓桓&李佳芮](https://mp.weixin.qq.com/s/szB4YSEAJZxDLSNZr-_3Sw) diff --git a/jekyll/_posts/2020-05-19-qnamaker-juzi-bot-for-investors-rui.md b/jekyll/_posts/2020-05-19-qnamaker-juzi-bot-for-investors-rui.md index 6d220fec8cd..4a347af2178 100644 --- a/jekyll/_posts/2020-05-19-qnamaker-juzi-bot-for-investors-rui.md +++ b/jekyll/_posts/2020-05-19-qnamaker-juzi-bot-for-investors-rui.md @@ -6,12 +6,12 @@ tags: - mvp - news - talk -image: /assets/2020/azure-show/azure-show-rui.png +image: /assets/2020/azure-show/azure-show-rui.webp --- 欢迎来到 Azure Show 的从零开始,第一期的嘉宾 Rui Li,李佳芮句子互动创始人,连续创业者,微软人工智能最有价值专家(AI MVP),GitHub 7000+ Stars开源项目Wechaty作者,创建并管理了覆盖全球的微信聊天机器人开发者社区,《Chatbot从0到1:对话式交互设计指南》作者。句子互动围绕微信生态为客户提供智能营销和销售服务,帮助企业引流并实现转化,客户覆盖教育、保险、大健康等多个领域。曾入选百度AI加速器,获得PreAngel、Plug and Play,Y Combination, TSVC和阿尔法公社多家中美机构投资。 -![Azure Show](/assets/2020/azure-show/azure-show.png) +![Azure Show](/assets/2020/azure-show/azure-show.webp) ## Azure Show @@ -31,6 +31,6 @@ Wechaty 联合作者李佳芮,用 20 分钟教会你如何用 Azure Cognitive > 本期是我们Azure Show的首秀,谢谢各位小伙伴的关注,非常感谢本期嘉宾Kris,卓桓、佳芮以及我的搭档兴亮的大力支持,还有帮忙进行视频处理的小董。想在最后跟大家聊聊为什么要开设这个线上节目。自2012年成为微软最有价值专家(MVP)以来,开始在各个社区与同行们讨论技术,分享代码,在这个过程中,既是一种分享,也是一种收获。通过社区,不仅解决了自己碰到的一些技术难题也认识到很多好朋友。MVP这个社区,汇聚了来自各个行业,各个国家的IT同行,他们乐于分享,乐于互助,我期待通过这个节目,邀请到更多的行业大牛与大家分享,分享 Azure 的知识,分享他们的开源项目,分享技术社区中的点点滴滴,希望能给大家带来点干货!从第二期开始,我们将正式启动Azure 101活动,帮助大家从0开始认识Azure的知识。第一期节目,也是一次探索,后续我们会不断改进,也欢迎大家留言或者在公众号后台留下你们的建议与意见, -![huan](/assets/2020/azure-show/azure-show-mvp.png) +![huan](/assets/2020/azure-show/azure-show-mvp.webp) Source: [Azure Show 第一期 开播啦!嘉宾梁迪&李卓桓&李佳芮](https://mp.weixin.qq.com/s/szB4YSEAJZxDLSNZr-_3Sw) diff --git a/jekyll/_posts/2020-05-20-wechaty-team-robot.md b/jekyll/_posts/2020-05-20-wechaty-team-robot.md index ba92aad1ed7..c1d387db00f 100644 --- a/jekyll/_posts/2020-05-20-wechaty-team-robot.md +++ b/jekyll/_posts/2020-05-20-wechaty-team-robot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - productivity -image: /assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.jpg +image: /assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.webp --- 之前跟一个律师的朋友聊天了解到,他们很多保全的业务,如果忘记保全,标的大的话损失就严重了,非常需要一个提醒的功能,而这个提醒可以通知团队里的多个同事。如果能以微信的方式通知是最好不过,通过微信和小程序模版消息来做通知的话,无法通知到每一个团队成员。用微信机器人来实现的话是再好不过了。于是在Github找了很多开源的产品,经多方面了解,wechaty是目前市场上最好的机器人 @@ -213,10 +213,10 @@ exports.taskSendMessage = async function(bot){ ## 效果图 -![1](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.jpg) -![2](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.jpg) -![3](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.jpg) -![4](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.jpg) +![1](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.webp) +![2](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.webp) +![3](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.webp) +![4](/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.webp) ## 待实现需求 diff --git a/jekyll/_posts/2020-05-31-wechaty-docker-assistant.md b/jekyll/_posts/2020-05-31-wechaty-docker-assistant.md index abc19ed867c..b0fbd949f27 100644 --- a/jekyll/_posts/2020-05-31-wechaty-docker-assistant.md +++ b/jekyll/_posts/2020-05-31-wechaty-docker-assistant.md @@ -7,7 +7,7 @@ tags: - web-panel - feature - ecosystem -image: /assets/2020/web-panel/web-head.png +image: /assets/2020/web-panel/web-head.webp --- ## 平台构思 @@ -103,13 +103,13 @@ image: /assets/2020/web-panel/web-head.png 这一块实现起来也很容易,所有的配置信息都写入到数据库中,每次客户端启动的时候去服务器拉取一下最新的配置信息即可,对于每次改动,需要用户使用另一个微信发送重启命令来拉取最新的配置文件。包含基础信息配置,每日说定时任务配置,群咨询,群消息定时任务,以及关键词自动回复,关键字事件等配置 -![1](/assets/2020/web-panel/panel-1.png) +![1](/assets/2020/web-panel/panel-1.webp) -![2](/assets/2020/web-panel/panel-2.png) +![2](/assets/2020/web-panel/panel-2.webp) -![3](/assets/2020/web-panel/panel-3.png) +![3](/assets/2020/web-panel/panel-3.webp) -![4](/assets/2020/web-panel/panel-4.png) +![4](/assets/2020/web-panel/panel-4.webp) ### 远程重启项目 @@ -162,19 +162,19 @@ async function onHeartBeat(str) { module.exports = onHeartBeat ``` -![5](/assets/2020/web-panel/panel-5.png) +![5](/assets/2020/web-panel/panel-5.webp) ### 平台与客户端的对接 这里参考了开放api接口平台的模式,使用`apikey`和`apisecret`来确保通信的安全(把所有的请求参数排序后和apisecretkey做hash生成一个签名sign参数,服务器后台只需要按照规则做一次签名计算,然后和请求的签名做比较,如果相等验证通过,不相等就不通过)key与secret在注册的时候自动生成,在个人中心查看 -![6](/assets/2020/web-panel/panel-6.png) +![6](/assets/2020/web-panel/panel-6.webp) ### 素材库 素材库的作用是统一管理所有的文字与文件,方便不同场景下的复用。文件支持常用的图片,office等。目前是直接上传到七牛云之中 -![7](/assets/2020/web-panel/panel-7.png) +![7](/assets/2020/web-panel/panel-7.webp) ### 客户端多平台通用(docker) @@ -300,6 +300,6 @@ docker run -v 绝对路径/env.js:/home/app/env.js -d aibotk/wechat-assistant 添加我的小助手来体验智能化的小秘书服务 -![8](/assets/2020/web-panel/qr.png) +![8](/assets/2020/web-panel/qr.webp) > 作者: [Leo_chen](https://github.com/leochen-g/),高级前端工程师,喜欢使用node做各种项目 diff --git a/jekyll/_posts/2020-05-31-wechaty-web-panel-plugin.md b/jekyll/_posts/2020-05-31-wechaty-web-panel-plugin.md index 778187686f4..be9e59ae837 100644 --- a/jekyll/_posts/2020-05-31-wechaty-web-panel-plugin.md +++ b/jekyll/_posts/2020-05-31-wechaty-web-panel-plugin.md @@ -8,7 +8,7 @@ tags: - plugin - feature - ecosystem -image: /assets/2020/web-panel-plugin/web-head.png +image: /assets/2020/web-panel-plugin/web-head.webp --- ## 背景介绍 @@ -84,7 +84,7 @@ image: /assets/2020/web-panel-plugin/web-head.png 3. 个人中心获取`APIKEY`和`APISECRET`,后续配置用到 -![user-center](/assets/2020/web-panel-plugin/user-center.png) +![user-center](/assets/2020/web-panel-plugin/user-center.webp) ### 开始 @@ -141,23 +141,23 @@ ode mybot.js 进入面板`小助手配置->登录状态`扫码登录,或直接扫码控制台二维码登录。成功登陆后,即可使用面板中所有的功能 -![qrcode](/assets/2020/web-panel-plugin/qrcode-s.png) +![qrcode](/assets/2020/web-panel-plugin/qrcode-s.webp) ## 面板预览 -![qrcpde](/assets/2020/web-panel-plugin/qrcode.png) -![everyday](/assets/2020/web-panel-plugin/everyday.png) -![schedule](/assets/2020/web-panel-plugin/schedule.png) -![event](/assets/2020/web-panel-plugin/event.png) -![material](/assets/2020/web-panel-plugin/material.png) +![qrcpde](/assets/2020/web-panel-plugin/qrcode.webp) +![everyday](/assets/2020/web-panel-plugin/everyday.webp) +![schedule](/assets/2020/web-panel-plugin/schedule.webp) +![event](/assets/2020/web-panel-plugin/event.webp) +![material](/assets/2020/web-panel-plugin/material.webp) ## 功能预览 -![news](/assets/2020/web-panel-plugin/news.jpeg) +![news](/assets/2020/web-panel-plugin/news.webp) 个人定时与群定时任务 -![func](/assets/2020/web-panel-plugin/func.jpeg) +![func](/assets/2020/web-panel-plugin/func.webp) 功能一览 @@ -165,7 +165,7 @@ ode mybot.js 后续会继续完善插件的功能,也欢迎大家来提交Pr。如果想要了解插件最新进展或者进行交流,欢迎添加我的小秘书,回复`插件`拉你进群 -![8](/assets/2020/web-panel-plugin/qr.png) +![8](/assets/2020/web-panel-plugin/qr.webp) ## 致谢 diff --git a/jekyll/_posts/2020-05-31-wxbot-management-platform.md b/jekyll/_posts/2020-05-31-wxbot-management-platform.md index 91b051ce1c3..5923d5a711e 100644 --- a/jekyll/_posts/2020-05-31-wxbot-management-platform.md +++ b/jekyll/_posts/2020-05-31-wxbot-management-platform.md @@ -10,7 +10,7 @@ tags: - nuxt - feature - utility -image: /assets/2020/wxbot/qrcode.png +image: /assets/2020/wxbot/qrcode.webp --- ## 前言 @@ -55,7 +55,7 @@ bot.start() 文档里可以看到一个示例代码 [wechaty-getting-started](https://github.com/wechaty/wechaty-getting-started) 下载完之后先 npm i 安装模块,然后运行就有了登录二维码 -![err1](/assets/2020/wxbot/err1.jpg) +![err1](/assets/2020/wxbot/err1.webp) 很遗憾,失败了。 ## 网页版微信登录失败 @@ -116,7 +116,7 @@ bot.start() - 低智商对话 - 成语接龙,查天气,查酒店,歇后语... -![admin](/assets/2020/wxbot/admin1.jpg) +![admin](/assets/2020/wxbot/admin1.webp) ### 技术构成 @@ -234,10 +234,10 @@ pm2 start pm2.config.js 欢迎扫码加我的小助手,验证消息写 `机器人` 即可直接通过啦,加群一起交流也是可以的。也可以把机器人加到你的群聊中来玩耍哦,登陆上面的在线实例,设置关键字就能体验啦。 -![qrcode](/assets/2020/wxbot/qrcode.png) -![0](/assets/2020/wxbot/wx0.jpg) -![1](/assets/2020/wxbot/wx1.jpg) -![2](/assets/2020/wxbot/wx2.jpg) +![qrcode](/assets/2020/wxbot/qrcode.webp) +![0](/assets/2020/wxbot/wx0.webp) +![1](/assets/2020/wxbot/wx1.webp) +![2](/assets/2020/wxbot/wx2.webp) > 作者: [lwp](https://github.com/beclass) > Code: [Github](https://github.com/beclass/wxbot) diff --git a/jekyll/_posts/2020-05-31-your-wechat-bot.md b/jekyll/_posts/2020-05-31-your-wechat-bot.md index 2098f34a751..234e347078a 100644 --- a/jekyll/_posts/2020-05-31-your-wechat-bot.md +++ b/jekyll/_posts/2020-05-31-your-wechat-bot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - social -image: /assets/2020/your-wechat-bot/banner.png +image: /assets/2020/your-wechat-bot/banner.webp --- 我有一个三百多人的前端开发群,每天都有很多个好友请求,让我添加他们进前端开发群。 @@ -95,7 +95,7 @@ cnpm start //npm start - 自动同意好友请求 - 发送加群指令自动邀请好友进群。 -![演示图片](/assets/2020/your-wechat-bot/demo.gif) +![演示图片](/assets/2020/your-wechat-bot/demo.webp) 底层 api 基于 [wechaty](https://github.com/wechaty/wechaty) diff --git a/jekyll/_posts/2020-06-02-coupon-wechat-bot.md b/jekyll/_posts/2020-06-02-coupon-wechat-bot.md index c5581404899..b987dc74a85 100644 --- a/jekyll/_posts/2020-06-02-coupon-wechat-bot.md +++ b/jekyll/_posts/2020-06-02-coupon-wechat-bot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - ecommerce -image: /assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg +image: /assets/2020/coupon-wechat-bot/coupon-wechat-bot.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -113,7 +113,7 @@ yarn start ## 效果图 -![效果图](/assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg) +![效果图](/assets/2020/coupon-wechat-bot/coupon-wechat-bot.webp) ## 致谢 diff --git a/jekyll/_posts/2020-06-03-wechaty-mqbot-video-downloader.md b/jekyll/_posts/2020-06-03-wechaty-mqbot-video-downloader.md index 97545426410..a3ad759d740 100644 --- a/jekyll/_posts/2020-06-03-wechaty-mqbot-video-downloader.md +++ b/jekyll/_posts/2020-06-03-wechaty-mqbot-video-downloader.md @@ -8,7 +8,7 @@ tags: - padplus - productivity - nuxt -image: /assets/2020/mqbot/qrcode.png +image: /assets/2020/mqbot/qrcode.webp --- 20年初开始接触到Tiktok(国际版抖音),一直尝试做到今天,收获很多。同时也维护起了自己的一个圈子,圈子内很多人吐槽“短视频去水印工具”,这个比较常用的就是微信小程序,但是大多数都是一堆堆的广告,反应速度大多被作者故意设置了延时(这样可以多看几秒广告) @@ -63,7 +63,7 @@ node dtot.js ``` 效果如图,扫码后即可完成登录 -![演示图片](/assets/2020/mqbot/denglu1.png) +![演示图片](/assets/2020/mqbot/denglu1.webp) ## 主要功能 @@ -75,11 +75,11 @@ node dtot.js ### 1. 发送复制链接 -![演示图片](/assets/2020/mqbot/fasong1.jpg) +![演示图片](/assets/2020/mqbot/fasong1.webp) ### 2. 发送给机器人,会得到及时的返回结果,复制到浏览器即可下载 -![演示图片](/assets/2020/mqbot/wancheng1.jpg) +![演示图片](/assets/2020/mqbot/wancheng1.webp) ## 最后 @@ -89,7 +89,7 @@ node dtot.js 欢迎扫码加我的机器人,验证填写 “tiktok”,也欢迎将我推荐给需要的朋友,无水印下载就是这么简单。 -![演示图片](/assets/2020/mqbot/ewm1.jpeg) +![演示图片](/assets/2020/mqbot/ewm1.webp) > 作者: [remainsu](https://github.com/remainsu) > Code: [Github](https://github.com/remainsu/qmrobot) diff --git a/jekyll/_posts/2020-06-04-group-wechat-bot.md b/jekyll/_posts/2020-06-04-group-wechat-bot.md index 13adae8c0b7..f24f7dcba5f 100644 --- a/jekyll/_posts/2020-06-04-group-wechat-bot.md +++ b/jekyll/_posts/2020-06-04-group-wechat-bot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - real-estate -image: /assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png +image: /assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.webp --- 我们设计了一个租房平台的微信小程序,为了方便推广,针对每个地区开设了一个或多个微信群,每天会在群里发文字和小程序的二维码来推广小程序和阐述群规定。因为所开的群太多,如果是人工发送这些东西,会很浪费时间。因为发的东西都是固定的,所以考虑使用微信机器人。 @@ -82,7 +82,7 @@ node bot.js ## 测试效果 -![avatar](/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png) +![avatar](/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.webp) > 作者: [Sam](https://github.com/PXingwei/) > Code: [Github](https://github.com/PXingwei/GroupWechatBot) diff --git a/jekyll/_posts/2020-06-06-wechaty-game-bot.md b/jekyll/_posts/2020-06-06-wechaty-game-bot.md index 0fc8d68b6bb..37fe32a13d4 100644 --- a/jekyll/_posts/2020-06-06-wechaty-game-bot.md +++ b/jekyll/_posts/2020-06-06-wechaty-game-bot.md @@ -10,7 +10,7 @@ tags: - sqlite - knex - featured -image: /assets/2020/im-game-robot/qrcat.jpg +image: /assets/2020/im-game-robot/qrcat.webp --- 几年前大家开始通过微信拜年,基于vbot折腾过机器人,想要给所有alias不为空的好友发送定制问候,在发送不到10人消息之后,自己微信的WEB端口被封。无奈尝下没有技术和被墙的泪水。 @@ -167,10 +167,10 @@ npm start ### 谁是卧底小游戏 -![Image text](/assets/2020/im-game-robot/a.png) -![Image text](/assets/2020/im-game-robot/b.png) -![Image text](/assets/2020/im-game-robot/c.png) -![Image text](/assets/2020/im-game-robot/qrbread.jpg) +![Image text](/assets/2020/im-game-robot/a.webp) +![Image text](/assets/2020/im-game-robot/b.webp) +![Image text](/assets/2020/im-game-robot/c.webp) +![Image text](/assets/2020/im-game-robot/qrbread.webp) > 作者: [osindex](https://github.com/osindex) > Code: [Github](https://github.com/osindex/im-robot) diff --git a/jekyll/_posts/2020-06-13-cps-chat-bot.md b/jekyll/_posts/2020-06-13-cps-chat-bot.md index aec7e7e0abb..c8bc1665e04 100644 --- a/jekyll/_posts/2020-06-13-cps-chat-bot.md +++ b/jekyll/_posts/2020-06-13-cps-chat-bot.md @@ -1,7 +1,7 @@ --- title: "CPS chat bot" author: wss793062366 -image: /assets/2020/cps-chat-bot/goodsmsg.jpeg +image: /assets/2020/cps-chat-bot/goodsmsg.webp categories: project tags: - ecommerce @@ -295,7 +295,7 @@ npm run start ### 效果图 -![效果图](/assets/2020/cps-chat-bot/goodsmsg.jpeg) +![效果图](/assets/2020/cps-chat-bot/goodsmsg.webp) ### 致谢 diff --git a/jekyll/_posts/2020-06-15-b-bot-for-fun.md b/jekyll/_posts/2020-06-15-b-bot-for-fun.md index 9ce70cb87b8..433dd42e4fb 100644 --- a/jekyll/_posts/2020-06-15-b-bot-for-fun.md +++ b/jekyll/_posts/2020-06-15-b-bot-for-fun.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - social -image: /assets/2020/paipiange-bot/1.png +image: /assets/2020/paipiange-bot/1.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -127,9 +127,9 @@ yarn start ## 效果图 -![效果图](/assets/2020/paipiange-bot/1.png) -![效果图](/assets/2020/paipiange-bot/2.png) -![效果图](/assets/2020/paipiange-bot/4.png) +![效果图](/assets/2020/paipiange-bot/1.webp) +![效果图](/assets/2020/paipiange-bot/2.webp) +![效果图](/assets/2020/paipiange-bot/4.webp) ## 致谢 diff --git a/jekyll/_posts/2020-06-15-daily-push-bot.md b/jekyll/_posts/2020-06-15-daily-push-bot.md index cc7607e1510..b8b1edf7479 100644 --- a/jekyll/_posts/2020-06-15-daily-push-bot.md +++ b/jekyll/_posts/2020-06-15-daily-push-bot.md @@ -6,7 +6,7 @@ tags: - python - padplus - media -image: /assets/2020/daily-push-wechat-robot/fake-robot.jpg +image: /assets/2020/daily-push-wechat-robot/fake-robot.webp --- @@ -123,12 +123,12 @@ image: /assets/2020/daily-push-wechat-robot/fake-robot.jpg ## 部分功能展示 -![群内推送](/assets/2020/daily-push-wechat-robot/push-inroom.png) -![私聊推送](/assets/2020/daily-push-wechat-robot/push-per.png) -![自我介绍](/assets/2020/daily-push-wechat-robot/intro.png) -![非文本回复颜文字](/assets/2020/daily-push-wechat-robot/emoji.png) +![群内推送](/assets/2020/daily-push-wechat-robot/push-inroom.webp) +![私聊推送](/assets/2020/daily-push-wechat-robot/push-per.webp) +![自我介绍](/assets/2020/daily-push-wechat-robot/intro.webp) +![非文本回复颜文字](/assets/2020/daily-push-wechat-robot/emoji.webp) -![天气查询](/assets/2020/daily-push-wechat-robot/whether.png) +![天气查询](/assets/2020/daily-push-wechat-robot/whether.webp) > 作者: [IvanEvan](https://github.com/IvanEvan/) > Code: [Github](https://github.com/IvanEvan/daily-push-wechat-robot) diff --git a/jekyll/_posts/2020-06-15-java-wechaty-beta-release.md b/jekyll/_posts/2020-06-15-java-wechaty-beta-release.md index 81a9f561b19..364fd1bca87 100644 --- a/jekyll/_posts/2020-06-15-java-wechaty-beta-release.md +++ b/jekyll/_posts/2020-06-15-java-wechaty-beta-release.md @@ -6,14 +6,14 @@ tags: - news - java - featured -image: /assets/2020/java-wechaty/2020-06-15-java-wechaty.png +image: /assets/2020/java-wechaty/2020-06-15-java-wechaty.webp --- 终于有一个 Java 版的微信机器人了。 公众号很久没有更新了。主要两个原因,换了工作之后,第一,要花更多的时间去了解和学习新的业务。第二,我最近把几乎所有的业余时间都来写这个 Java 版的微信机器人了。 -![java-wechaty](/assets/2020/java-wechaty/2020-06-15-java-wechaty.png) +![java-wechaty](/assets/2020/java-wechaty/2020-06-15-java-wechaty.webp) ## Wechaty 是什么 diff --git a/jekyll/_posts/2020-06-16-java-puppet-manager.md b/jekyll/_posts/2020-06-16-java-puppet-manager.md index fbe5e756740..e2af054f004 100644 --- a/jekyll/_posts/2020-06-16-java-puppet-manager.md +++ b/jekyll/_posts/2020-06-16-java-puppet-manager.md @@ -4,7 +4,7 @@ author: redmaple1 tags: - java categories: article -image: /assets/2020/java-puppet-manager/java-wechaty-logo.png +image: /assets/2020/java-puppet-manager/java-wechaty-logo.webp --- 我们来简单聊一聊java-wechaty中Puppet Manager的实现。 @@ -19,7 +19,7 @@ image: /assets/2020/java-puppet-manager/java-wechaty-logo.png     参与开发java-wechaty有一个多月的时间,在开发的过程中,不免要进行自测。在前期没有token调试不便的情况下,就想借助单测对所写代码进行验证,但是我发现想要进行单测也不是一件容易的事情。与以往 java web 开发不同,没有Spring封装好的带有上下文的test。于是,我借鉴ts版本wechaty的mock模块,实现了java-wechaty的mock puppet,专门用于测试wechaty上层代码逻辑。开心地实现完成mock puppet之后,又发现了新的问题。那就是现有java版本的wechaty在初始化puppet的时候,在代码中写死了hostie puppet,也就是图中的`GrpcPuppet`。 -![image](/assets/2020/java-puppet-manager/manager-backgroud.png) +![image](/assets/2020/java-puppet-manager/manager-backgroud.webp)     这样的话,我就无法初始化mock puppet了,所以我就思考能不能有一个manager来管理puppet的具体实现。有了这个想法,那么如何进行优雅的实现呢?接下来我们简单来聊聊。 @@ -31,7 +31,7 @@ image: /assets/2020/java-puppet-manager/java-wechaty-logo.png     使用上述思路的改造,wechaty初始化的流程就变成了下图的样子。 -![image](/assets/2020/java-puppet-manager/after-manage.png) +![image](/assets/2020/java-puppet-manager/after-manage.webp)     可以看到,在wechaty的`initPuppet()`方法中,不再是直接初始化`GrpcPuppet`,而是使用了`PuppetManager`的`resolveInstance()`方法拿到了初始化过的puppet实现。     那么`PuppetManager`具体是怎么实现的呢?其实很简单,直接看代码。 @@ -82,7 +82,7 @@ class PuppetManager {     后续可能会支持多个puppet,那么manager就需要适当的改造去适配多个puppet实现。这里有一个简单的设计思路,在puppet定义层,我们可以定义一个mapping()方法,该方法的意思是作为一个puppet,我需要如何的映射才能初始化。那么具体怎么映射就交给子类,也就是具体的puppet实现类自己去实现。在manager中,我们只需要使用puppet定义层的mapping()方法就可以实现对子类的映射处理,作为manager,并不用关心当前到底是谁在初始化。下图是大体的结构。 -![image](/assets/2020/java-puppet-manager/manage-mapping.png) +![image](/assets/2020/java-puppet-manager/manage-mapping.webp)     有了`PuppetManager`,我们的java-wechaty实现得更加优雅了一些,而且实现了mock puppet,后续就可以通过单测提高代码的质量,提升稳定性,相信我们的java-wechaty会越来越完善。     如果你对wechaty感兴趣,恰巧又是java developer,对java-wechaty有自己的想法或对目前的代码实现有任何好的建议,期待你的加入,为java-wechaty贡献代码~ diff --git a/jekyll/_posts/2020-06-17-python-wechaty-beta-released.md b/jekyll/_posts/2020-06-17-python-wechaty-beta-released.md index 9575bfa8210..20b21b594d2 100644 --- a/jekyll/_posts/2020-06-17-python-wechaty-beta-released.md +++ b/jekyll/_posts/2020-06-17-python-wechaty-beta-released.md @@ -6,7 +6,7 @@ tags: - python - news - featured -image: /assets/2020/python-wechaty/python-wechaty-logo.png +image: /assets/2020/python-wechaty/python-wechaty-logo.webp --- Python-wechaty能够使用少量代码即可完成一个机器人,使用起来非常简单,基于OOP的设计思路能够很好监听和处理微信内部大量的事件,比如:自动回复消息,定时发送消息,拉人入群,好友申请同意等等。此外,目前的插件系统里面有很多拿来即用的工具,比如拉人入群等。当然开发一个自己的插件也是非常简单,无需很高深的概念,只需要你能够理解事件和OOP即可。 @@ -37,7 +37,7 @@ python-wechaty项目源于wechaty,甚至说很大程度上代码是直接从 使用python-wechaty能够很简单的开发一款Bot,特别是使用了一个插件系统之后,如下所示: -![image-20200617105548475](/assets/2020/python-wechaty/simple-bot.png) +![image-20200617105548475](/assets/2020/python-wechaty/simple-bot.webp) 以上代码中实现了两个主要的功能: @@ -174,7 +174,7 @@ asyncio.run(main()) 微信号:`pure-_--love` -![image-20200617145659900](/assets/2020/python-wechaty/wujing-weixin.png) +![image-20200617145659900](/assets/2020/python-wechaty/wujing-weixin.webp) > Author: [wj-Mcat](https://github.com/wj-Mcat) > Code: [python-wechaty](https://github.com/wechaty/python-wechaty) diff --git a/jekyll/_posts/2020-06-17-wechaty-academic-yanbot.md b/jekyll/_posts/2020-06-17-wechaty-academic-yanbot.md index 59b5852a757..fc116751263 100644 --- a/jekyll/_posts/2020-06-17-wechaty-academic-yanbot.md +++ b/jekyll/_posts/2020-06-17-wechaty-academic-yanbot.md @@ -7,7 +7,7 @@ tags: - academic - padplus - healthcare -image: /assets/2020/yanbot/yanbot.jpg +image: /assets/2020/yanbot/yanbot.webp --- ## 备注 diff --git a/jekyll/_posts/2020-06-19-archyshuo-anki-assistant.md b/jekyll/_posts/2020-06-19-archyshuo-anki-assistant.md index 7a72f153fe2..4f58f57af75 100644 --- a/jekyll/_posts/2020-06-19-archyshuo-anki-assistant.md +++ b/jekyll/_posts/2020-06-19-archyshuo-anki-assistant.md @@ -8,7 +8,7 @@ tags: - nlp - anki - productivity -image: /assets/2020/archyshuo-anki-assistant/archybots.jpg +image: /assets/2020/archyshuo-anki-assistant/archybots.webp excerpt: a chatbot that can extract difficult Chinese words from WeChat 公众号 articles, annotate them with Pinyin and definitions, and generate Anki notes. --- @@ -64,7 +64,7 @@ And [Archy the Anki Bot 0.0.1](https://github.com/archywillhe/archy-the-anki-bot ## Design & Implementation & Demo 设计与履行与演示 -![Informal UML](/assets/2020/archyshuo-anki-assistant/informal-uml.png) +![Informal UML](/assets/2020/archyshuo-anki-assistant/informal-uml.webp) Basically we would have an `ArticleAnalysor`, a `TextAnalysor`, a `Lexicographer`, and an `AnkiDeckGenerator`. And we would integrate everything in main.ts where we handle Wechaty callbacks. @@ -78,13 +78,13 @@ For the current use cases, we would use the `ArticleAnalysor` to extract text fr [函数式地把所有东西粘起来](https://github.com/archywillhe/archy-the-anki-bot/blob/master/src/main.ts),即可得出: -![demo](/assets/2020/archyshuo-anki-assistant/demo.jpg) +![demo](/assets/2020/archyshuo-anki-assistant/demo.webp) -![demo2](/assets/2020/archyshuo-anki-assistant/demo2.png) +![demo2](/assets/2020/archyshuo-anki-assistant/demo2.webp) -![demo3](/assets/2020/archyshuo-anki-assistant/demo3.png) +![demo3](/assets/2020/archyshuo-anki-assistant/demo3.webp) -![demo3.5](/assets/2020/archyshuo-anki-assistant/demo3.5.png) +![demo3.5](/assets/2020/archyshuo-anki-assistant/demo3.5.webp) ## What’s Next? 接下来呢? @@ -123,12 +123,12 @@ Huge thanks to If you are interested in the development of this project feel free to follow Archy.sh on WeChat and TikTok or [join our mailing list](https://mailing-list.xn--nqr.xn--fiqs8s/) =) -![wechat-qr](/assets/2020/archyshuo-anki-assistant/wx.jpg) -![tiktok-qr](/assets/2020/archyshuo-anki-assistant/tt.jpg) +![wechat-qr](/assets/2020/archyshuo-anki-assistant/wx.webp) +![tiktok-qr](/assets/2020/archyshuo-anki-assistant/tt.webp) Also please feel free to fork my repo, deploy your own bot, or just do anything with the code, or open issues if there are any! Thanks! -![nyan](/assets/2020/archyshuo-anki-assistant/cat.gif) +![nyan](/assets/2020/archyshuo-anki-assistant/cat.webp) p.s. 写中文写到中间有些累与懒🥴「吖奇说记忆卡片」小程序上线后更多关于未来的去向(中+英)会在公众号有的看~ 感兴趣的朋友可以关注我的公众号与抖音@吖奇说~ diff --git a/jekyll/_posts/2020-06-19-multi-language-wechaty-beta-release.md b/jekyll/_posts/2020-06-19-multi-language-wechaty-beta-release.md index 193a8048138..a695204707d 100644 --- a/jekyll/_posts/2020-06-19-multi-language-wechaty-beta-release.md +++ b/jekyll/_posts/2020-06-19-multi-language-wechaty-beta-release.md @@ -6,7 +6,7 @@ tags: - release - event - news -image: /assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.png +image: /assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.webp --- Multi-language Wechaty Beta Released! We have Python, Go, Java, and Scala released on June 19, 2020! @@ -23,11 +23,11 @@ Multi-language Wechaty Beta Released! We have Python, Go, Java, and Scala releas - [Java Wechaty Getting Started](https://github.com/wechaty/java-wechaty-getting-started) - [Scala Wechaty Getting Started](https://github.com/wechaty/scala-wechaty-getting-started) -![Wechaty](/assets/2020/multi-language-wechaty-beta-released/multi-language.png) +![Wechaty](/assets/2020/multi-language-wechaty-beta-released/multi-language.webp) ## Agenda -[![Multi-language Wechaty Beta Released Agenda](/assets/2020/multi-language-wechaty-beta-released/agenda-2.png)](https://docs.google.com/document/d/1fVCk8qRYc4RKGMf2UY5HOe07hEhPUOpGC34v88GEFJg/edit#heading=h.ym05s3ebes31) +[![Multi-language Wechaty Beta Released Agenda](/assets/2020/multi-language-wechaty-beta-released/agenda-2.webp)](https://docs.google.com/document/d/1fVCk8qRYc4RKGMf2UY5HOe07hEhPUOpGC34v88GEFJg/edit#heading=h.ym05s3ebes31) | Time | Topic | Speaker | | :--- | :--- | :--- | @@ -55,17 +55,17 @@ Rui (李佳芮) is the co-author of Wechaty, founder & CEO of [Juzi.BOT](https:/ She introduced the community organization of Wechaty, which is following the [Apache Way](http://apache.org/theapacheway/) from the [Apache Foundation](https://www.apache.org/foundation/) -![Wechaty Community Org](/assets/2020/multi-language-wechaty-beta-released/community-org.png) +![Wechaty Community Org](/assets/2020/multi-language-wechaty-beta-released/community-org.webp) > The Apache Way > "If it didn't happen on list, it didn't happen." - Craig, Chairman of Apache Software Foundation. -![Rui Wechaty Roadmap - Rui (李佳芮)](/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.jpg) +![Rui Wechaty Roadmap - Rui (李佳芮)](/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.webp) > The Wechaty Way > "If it didn't happen on GitHub, it didn't happen." - Rui, co-author of Wechaty Contributors. -![Rui Wechaty Roadmap - Rui (李佳芮)](/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.jpg) +![Rui Wechaty Roadmap - Rui (李佳芮)](/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.webp) At the last, Rui showed our gifts for our Wechaty Community Contributors, it's so beautiful and memorable! @@ -75,7 +75,7 @@ At the last, Rui showed our gifts for our Wechaty Community Contributors, it's s ## Python Wechaty -[![Python Wechaty](/assets/2020/multi-language-wechaty-beta-released/python-wechaty.png)](https://github.com/wechaty/python-wechaty) +[![Python Wechaty](/assets/2020/multi-language-wechaty-beta-released/python-wechaty.webp)](https://github.com/wechaty/python-wechaty) [![Wechaty in Python](https://img.shields.io/badge/Wechaty-Python-blue)](https://github.com/wechaty/python-wechaty) [![PyPI Version](https://img.shields.io/pypi/v/wechaty?color=blue)](https://pypi.org/project/wechaty/) @@ -102,19 +102,19 @@ Contributors: ### Talk 2: Introduction for python Wechaty,吴京京 ([@wj-Mcat](https://github.com/wj-Mcat)) -![Python Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.jpg) +![Python Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.webp) --- -![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.jpg) +![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.webp) --- -![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.jpg) +![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.webp) --- -![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.jpg) +![Scala Wechaty - Jingjing WU (吴京京)](/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.webp) #### Talk 2: Video & Slides & Blog (@wj-Mcat) @@ -125,7 +125,7 @@ Contributors: ## Java Wechaty -[![Java Wechaty](/assets/2020/multi-language-wechaty-beta-released/java-wechaty.png)](https://github.com/wechaty/java-wechaty) +[![Java Wechaty](/assets/2020/multi-language-wechaty-beta-released/java-wechaty.webp)](https://github.com/wechaty/java-wechaty) [![Wechaty in Kotlin](https://img.shields.io/badge/Wechaty-Kotlin-orange)](https://github.com/wechaty/java-wechaty) [![Java Version](https://img.shields.io/maven-central/v/io.github.wechaty/wechaty?label=Maven)](https://mvnrepository.com/artifact/io.github.wechaty/wechaty) @@ -151,43 +151,43 @@ Contributors: ### Talk 3: 漫谈Java Wechaty,刁政欣 ([@diaozxin007](https://github.com/diaozxin007)) -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.webp) --- -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.webp) --- #### Happy Birthday to @diaozxin007 -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.webp) -![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.jpg) +![Java Wechaty - Zhengxin DIAO (刁政欣)](/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.webp) #### Talk 3: Video & Blog (@diaozxin007) @@ -197,23 +197,23 @@ Blog Post: [终于有一个 Java 可以用的微信机器人了](https://wechaty ### Talk 4: puppet manager 的实现,任筱雅, ([@redmaple1](https://github.com/redmaple1)) -![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.jpg) +![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.webp) --- -![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.jpg) +![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.webp) --- -![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.jpg) +![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.webp) --- -![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.jpg) +![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.webp) --- -![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.jpg) +![Java Wechaty - Xiaoya REN (任筱雅)](/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.webp) #### Talk 4: Video & Blog (@redmaple1) @@ -223,7 +223,7 @@ Blog Post: [简单聊聊java版Puppet Manager的实现](https://wechaty.github.i ## Go Wechaty -[![Go Wechaty](/assets/2020/multi-language-wechaty-beta-released/go-wechaty.png)](https://github.com/wechaty/go-wechaty) +[![Go Wechaty](/assets/2020/multi-language-wechaty-beta-released/go-wechaty.webp)](https://github.com/wechaty/go-wechaty) ![Go Version](https://img.shields.io/github/go-mod/go-version/wechaty/go-wechaty) [![Go](https://github.com/wechaty/go-wechaty/workflows/Go/badge.svg)](https://github.com/wechaty/go-wechaty/actions?query=workflow%3AGo) @@ -250,27 +250,27 @@ Contributors: ### Talk 5: 聊一下go Wechaty,丁超飞, ([@dchaofei](https://github.com/dchaofei)) -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.webp) --- -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.webp) --- -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.webp) --- -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.webp) --- -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.webp) --- -![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.jpg) +![Go Wechaty - Chaofei DING (丁超飞)](/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.webp) #### Talk 5: Video & Blog (@dchaofei) @@ -280,7 +280,7 @@ Blog Post: [go 语言可用的 wechaty 框架](https://wechaty.github.io/2020/09 ## Scala Wechaty -[![Scala Wechaty](/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.png)](https://github.com/wechaty/scala-wechaty) +[![Scala Wechaty](/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.webp)](https://github.com/wechaty/scala-wechaty) [![Wechaty in Scala](https://img.shields.io/badge/Wechaty-Scala-890)](https://github.com/wechaty/scala-wechaty) [![Scala 2.13](https://img.shields.io/badge/scala-2.13+-890.svg)](https://www.scala-lang.org/) @@ -310,19 +310,19 @@ Contributors: --- -![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.jpg) +![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.webp) --- -![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.jpg) +![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.webp) --- -![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.jpg) +![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.webp) --- -![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.jpg) +![Scala Wechaty - Jun CAI (蔡君)](/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.webp) #### Talk 6: Video (@jcai) @@ -330,55 +330,55 @@ Contributors: ## Talk 7: Wonderful Wechaty DevOps Toolset,高原, ([@windmemory](https://github.com/windmemory)) -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.webp) --- -![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.jpg) +![DevOps Wechaty - Yuan GAO (高原)](/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.webp) ### Talk 7: Video & Blog (@windmemory) @@ -388,11 +388,11 @@ Blog Post: [Wonderful Wechaty devops toolset](https://wechaty.github.io/2020/06/ ## Talk 8: How to getting started with Multi-language Wechaty,李卓桓, ([@huan](https://github.com/huan)) -![Go Wechaty - Huan (李卓桓)](/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.jpg) +![Go Wechaty - Huan (李卓桓)](/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.webp) --- -![Go Wechaty - Huan (李卓桓)](/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.jpg) +![Go Wechaty - Huan (李卓桓)](/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.webp) ### GitHub Issues about Multi-language Wechaty @@ -420,12 +420,12 @@ Blog Post: [Wonderful Wechaty devops toolset](https://wechaty.github.io/2020/06/ ## Group Photo -![Group Photo](/assets/2020/multi-language-wechaty-beta-released/group-photo.jpg) +![Group Photo](/assets/2020/multi-language-wechaty-beta-released/group-photo.webp) To review our first multiple language Wechaty meeting 1. Meeting Minutes: [BOT5 Club: Multi-language Wechaty](https://www.bot5.ml/events/seminar-minutes-2020-07/) at April 17, 2020: -1. Meeting Notes: [![Multi-language Wechaty Kickoff Meeting](/assets/2020/multi-language-wechaty-beta-released/agenda-1.png)](https://docs.google.com/document/d/1fVCk8qRYc4RKGMf2UY5HOe07hEhPUOpGC34v88GEFJg/edit#heading=h.s1pqhlt89eea) +1. Meeting Notes: [![Multi-language Wechaty Kickoff Meeting](/assets/2020/multi-language-wechaty-beta-released/agenda-1.webp)](https://docs.google.com/document/d/1fVCk8qRYc4RKGMf2UY5HOe07hEhPUOpGC34v88GEFJg/edit#heading=h.s1pqhlt89eea) | Time | Topic | Speaker | | :--- | :--- | :--- | diff --git a/jekyll/_posts/2020-06-19-python-wechaty-cps-bot.md b/jekyll/_posts/2020-06-19-python-wechaty-cps-bot.md index 1d2f24d1095..4097ec189d5 100644 --- a/jekyll/_posts/2020-06-19-python-wechaty-cps-bot.md +++ b/jekyll/_posts/2020-06-19-python-wechaty-cps-bot.md @@ -6,7 +6,7 @@ tags: - python - donut - ecommerce -image: /assets/2020/python-wechaty-cps-bot/jdyangli.jpg +image: /assets/2020/python-wechaty-cps-bot/jdyangli.webp --- 无非就是想撸羊毛,自己又懒的一个一个找,一个一个发。已知目前的返佣app非常的多,比如:好省,蜜源,粉象,芬香等等等等。归根到底无非是利用淘宝、京东、拼多多、苏宁的开放平台做的。所以想到是否可以利用已有的开放平台来做一个属于自己的撸羊毛项目。 @@ -17,7 +17,7 @@ image: /assets/2020/python-wechaty-cps-bot/jdyangli.jpg ## 最终效果图 -![效果图](/assets/2020/python-wechaty-cps-bot/jdyangli.jpg) +![效果图](/assets/2020/python-wechaty-cps-bot/jdyangli.webp) ## 快速上手 diff --git a/jekyll/_posts/2020-06-20-wonderful-wechaty-devops-tools.md b/jekyll/_posts/2020-06-20-wonderful-wechaty-devops-tools.md index 4573e129d59..b8832a2ea10 100644 --- a/jekyll/_posts/2020-06-20-wonderful-wechaty-devops-tools.md +++ b/jekyll/_posts/2020-06-20-wonderful-wechaty-devops-tools.md @@ -8,7 +8,7 @@ tags: - talk - news - featured -image: /assets/2020/wonderful-wechaty-devops-tools/teaser-image.png +image: /assets/2020/wonderful-wechaty-devops-tools/teaser-image.webp --- Wechaty 的代码质量,是大家公认的比较高的水准。而在整个项目的搭建和发展的过程中,DevOps 工具是 Wechaty 代码质量的重要保证,这里,就和大家一起聊聊关于 Wechaty DevOps Toolset。 @@ -145,10 +145,10 @@ git push -u origin very-sexy-code-change `Wechaty` 的 devops 还有另外的一个重要组成部分,那就是 `Github Actions`,这篇博客由于时间原因,没有时间准备完整的内容,后续会持续更新更多关于 `Wechaty DevOps` 相关的内容,也欢迎大家一起来了解学习 `Wechaty DevOps`。 -[version-intro]: /assets/2020/wonderful-wechaty-devops-tools/version-intro.png -[git-push-error]: /assets/2020/wonderful-wechaty-devops-tools/git-push-error.jpg -[question-face]: /assets/2020/wonderful-wechaty-devops-tools/question-face.png -[git-hooks-explain]: /assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.png +[version-intro]: /assets/2020/wonderful-wechaty-devops-tools/version-intro.webp +[git-push-error]: /assets/2020/wonderful-wechaty-devops-tools/git-push-error.webp +[question-face]: /assets/2020/wonderful-wechaty-devops-tools/question-face.webp +[git-hooks-explain]: /assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.webp > Author: [@windmemory](https://github.com/windmemory) Wechaty contributor, author of [wechaty-puppet-padchat](https://github.com/wechaty/wechaty-puppet-padchat), [wechaty-puppet-padpro](https://github.com/wechaty/wechaty-puppet-padpro), [wechaty-puppet-padplus](https://github.com/wechaty/wechaty-puppet-padplus). CTO of [Juzi.Bot](https://pre-angel.com/portfolios/juzibot/) > Code: [@chatie/semver](https://github.com/chatie/semver), [@chatie/git-scripts](https://github.com/chatie/git-scripts), [@chatie/tsconfig](https://github.com/chatie/tsconfig), [@chatie/eslint-config](https://github.com/chatie/eslint-config) diff --git a/jekyll/_posts/2020-06-23-hitchhiker-info-subtotal.md b/jekyll/_posts/2020-06-23-hitchhiker-info-subtotal.md index 64e2d6ad899..c6a41d3bf6e 100644 --- a/jekyll/_posts/2020-06-23-hitchhiker-info-subtotal.md +++ b/jekyll/_posts/2020-06-23-hitchhiker-info-subtotal.md @@ -7,7 +7,7 @@ tags: - padplus - travel - mysql -image: /assets/2020/info-subtotal/head.jpeg +image: /assets/2020/info-subtotal/head.webp --- 北京的房价涨幅对于北漂的工资涨幅来说永远都是高不可攀的;有很多人到了成家立业的年纪,又不想回到老家,所以距离北京近,房价可以接受的北京周边就是就是一个不错的选择,但是在环京买了房,工作还是在北京,由此衍生出了一批跨城上下班的圈子。 diff --git a/jekyll/_posts/2020-06-28-build-divination-yibot.md b/jekyll/_posts/2020-06-28-build-divination-yibot.md index 5456e244054..b38b3a6ebe3 100644 --- a/jekyll/_posts/2020-06-28-build-divination-yibot.md +++ b/jekyll/_posts/2020-06-28-build-divination-yibot.md @@ -6,7 +6,7 @@ tags: - typescript - entertainment - case-study -image: /assets/2020/yibot/1.jpg +image: /assets/2020/yibot/1.webp --- 写这个小东西,本就是想玩耍一下,发现很有意思! 面临人生重大抉择犹豫不定,头脑乱成浆糊的时候,鄙人会问卦,根据卦象客观分析当前的局势。但是从来不问命,只是借用卦象来让自己以一种不含感情的分析方式重新认识当前面临的形势。朋友中有一两个有类似爱好的,对易经有些兴趣,我们几个谈论的时候,其他人就会要求我们给他们解卦。 @@ -75,7 +75,7 @@ async function onMessage (msg) { ## 截图 -![效果图 @4x](/assets/2020/yibot/1.jpg) +![效果图 @4x](/assets/2020/yibot/1.webp) ## 其他 diff --git a/jekyll/_posts/2020-06-28-tom-chat-fun.md b/jekyll/_posts/2020-06-28-tom-chat-fun.md index 3f52c03b0a6..6bb71f2a80e 100644 --- a/jekyll/_posts/2020-06-28-tom-chat-fun.md +++ b/jekyll/_posts/2020-06-28-tom-chat-fun.md @@ -2,7 +2,7 @@ title: "TomChat-为生活增趣味" author: zophyr excerpt: "A chatbot by wechaty.You can learn about today in history, current weather and chat with Tom." -image: /assets/2020/tom-chat/zelda.jpg +image: /assets/2020/tom-chat/zelda.webp categories: project tags: - assistant diff --git a/jekyll/_posts/2020-06-29-go-wechaty-beta-released.md b/jekyll/_posts/2020-06-29-go-wechaty-beta-released.md index 9bf58e98a9d..5a2d1538ee4 100644 --- a/jekyll/_posts/2020-06-29-go-wechaty-beta-released.md +++ b/jekyll/_posts/2020-06-29-go-wechaty-beta-released.md @@ -6,7 +6,7 @@ tags: - go - news - featured -image: /assets/2020/go-wechaty/2020-06-29-go-wechaty.png +image: /assets/2020/go-wechaty/2020-06-29-go-wechaty.webp --- go-wechaty 是 wechaty 多语言版本中的 golang 语言实现,目的是方便 go 语言开发者更容易的去使用 wechaty。 @@ -105,7 +105,7 @@ func (c *ContactFactory) Load(id string) _interface.IContact { 为了验证 go-wechaty 是否可用,在端午节最后一天的下午我写了一个机器人, 功能就是每天定时提醒群里人打卡, 如果不想收到提醒,回复 #打卡, 机器人就认为你今天已经打卡了。 -![image1](/assets/2020/go-wechaty/2020-06-29-image1.jpeg) +![image1](/assets/2020/go-wechaty/2020-06-29-image1.webp) 项目地址: diff --git a/jekyll/_posts/2020-06-30-wechat-robot-seller.md b/jekyll/_posts/2020-06-30-wechat-robot-seller.md index 02a366f45b9..5250b0c78ac 100644 --- a/jekyll/_posts/2020-06-30-wechat-robot-seller.md +++ b/jekyll/_posts/2020-06-30-wechat-robot-seller.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - ecommerce -image: /assets/2020/wechat-robot-seller/chat.jpeg +image: /assets/2020/wechat-robot-seller/chat.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -83,7 +83,7 @@ node bot.js ## 效果图 -![效果图](/assets/2020/wechat-robot-seller/chat.jpeg) +![效果图](/assets/2020/wechat-robot-seller/chat.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-01-a-guide-to-official-account-bot.md b/jekyll/_posts/2020-07-01-a-guide-to-official-account-bot.md index cff7adcccdb..54e4ea2b515 100644 --- a/jekyll/_posts/2020-07-01-a-guide-to-official-account-bot.md +++ b/jekyll/_posts/2020-07-01-a-guide-to-official-account-bot.md @@ -1,7 +1,7 @@ --- title: "使用wechaty助力公众号主维护社群" author: sl1673495 -image: /assets/2020/wechat-official-helper/teaser.png +image: /assets/2020/wechat-official-helper/teaser.webp categories: project tags: - official-account diff --git a/jekyll/_posts/2020-07-03-910taobot-for-better-life.md b/jekyll/_posts/2020-07-03-910taobot-for-better-life.md index 7f0c744144a..ce2dce8af14 100644 --- a/jekyll/_posts/2020-07-03-910taobot-for-better-life.md +++ b/jekyll/_posts/2020-07-03-910taobot-for-better-life.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - productivity -image: /assets/2020/910taobot/panda.jpg +image: /assets/2020/910taobot/panda.webp --- 1. 由于现在工作生活加了好多的微信群,并且这些群里的消息不一定每条都是你想看的,所以为了防止过多的消息提醒,所以会把群消息给屏蔽掉。但是这样有可能会错过一些@自己 或者需要自己回复的一些消息。因此想要弄一个微信机器人,潜伏在这些微信群。遇到有@设定人之后 把消息转发给自己。以达到提醒自己的目的。以防错过一些重要消息。 diff --git a/jekyll/_posts/2020-07-03-a-room-punch-bot.md b/jekyll/_posts/2020-07-03-a-room-punch-bot.md index fc488550f6a..5ba58aab744 100644 --- a/jekyll/_posts/2020-07-03-a-room-punch-bot.md +++ b/jekyll/_posts/2020-07-03-a-room-punch-bot.md @@ -4,12 +4,12 @@ author: secreter categories: tutorial tags: - assistant -image: /assets/2020/tiny-bot/teaser.jpeg +image: /assets/2020/tiny-bot/teaser.webp --- 一个可以OCR 打卡并生成统计方块图的机器人。 -![打卡图片](/assets/2020/tiny-bot/teaser.jpeg) +![打卡图片](/assets/2020/tiny-bot/teaser.webp) ## 项目背景 @@ -77,7 +77,7 @@ image: /assets/2020/tiny-bot/teaser.jpeg ``` -其中listeners 目录对消息类型进行了分类,这样,需要添加特定消息的业务逻辑时,就可以很清晰的添加。config.js 中提供了项目中的所有动态配置项,tpl/ 目录里,存放了代码的打卡模板,可以[点击查看效果](http://images.redream.cn/upic/2019/20200629184711-punch.html?data=[{"count":1,"timestamp":1593097495015},{"count":1,"timestamp":1593270295015},{"count":1,"timestamp":1593339046223},{"count":1,"timestamp":1593427696584},{"count":1,"timestamp":1593521084178},{"count":1,"timestamp":1593574357851},{"count":1,"timestamp":1593688908645},{"count":1,"timestamp":1593705938358}]&avatar=https://github.com/wechaty/wechaty.github.io/raw/master/assets/2020/tiny-bot/qr.jpeg&name=@2020&&h=450&w=375&x=0&y=0)(手机版) +其中listeners 目录对消息类型进行了分类,这样,需要添加特定消息的业务逻辑时,就可以很清晰的添加。config.js 中提供了项目中的所有动态配置项,tpl/ 目录里,存放了代码的打卡模板,可以[点击查看效果](http://images.redream.cn/upic/2019/20200629184711-punch.html?data=[{"count":1,"timestamp":1593097495015},{"count":1,"timestamp":1593270295015},{"count":1,"timestamp":1593339046223},{"count":1,"timestamp":1593427696584},{"count":1,"timestamp":1593521084178},{"count":1,"timestamp":1593574357851},{"count":1,"timestamp":1593688908645},{"count":1,"timestamp":1593705938358}]&avatar=https://github.com/wechaty/wechaty.github.io/raw/master/assets/2020/tiny-bot/qr.webp&name=@2020&&h=450&w=375&x=0&y=0)(手机版) ### 打卡模板实现 @@ -87,15 +87,15 @@ image: /assets/2020/tiny-bot/teaser.jpeg 图片生成是在服务端实现的,主要是用到了无头浏览器[puppeteer](https://try-puppeteer.appspot.com/)的截图功能。相当于浏览器访问tpl.html地址,将生成的页面进行截图,再通过File-box 返回给用户,即实现了打卡生成图片的功能。 -![打卡图片](/assets/2020/tiny-bot/teaser.jpeg) +![打卡图片](/assets/2020/tiny-bot/teaser.webp) ### OCR打卡 手动输入打卡关键字打卡,对于有的比较懒的同学,还是比较麻烦的。OCR 技术能实现无感知打卡,当用户将keep 运动的截图发送到群聊的时候,就可以通过OCR 技术识别关键字,进行打卡。这里主要调用的接口是[腾讯的AI 开放平台](https://ai.qq.com/)的通用识图技术。 -![打卡图片](/assets/2020/tiny-bot/ocr.jpeg) +![打卡图片](/assets/2020/tiny-bot/ocr.webp) -![打卡图片](/assets/2020/tiny-bot/menu.jpeg) +![打卡图片](/assets/2020/tiny-bot/menu.webp) ## 功能增强 @@ -113,7 +113,7 @@ image: /assets/2020/tiny-bot/teaser.jpeg 也欢迎大家添加我的机器人张三进行体验。 -![机器人二维码](/assets/2020/tiny-bot/qr.jpeg) +![机器人二维码](/assets/2020/tiny-bot/qr.webp) > Author: [@secreter](https://github.com/secreter) 公众号redream > Code: [@tiny-bot](https://github.com/secreter/tiny-bot) diff --git a/jekyll/_posts/2020-07-05-multilanguage-meeting-notes.md b/jekyll/_posts/2020-07-05-multilanguage-meeting-notes.md index a19fab47a2d..66bbe694580 100644 --- a/jekyll/_posts/2020-07-05-multilanguage-meeting-notes.md +++ b/jekyll/_posts/2020-07-05-multilanguage-meeting-notes.md @@ -7,7 +7,7 @@ tags: - meeting - talk - featured -image: /assets/2020/meeting-notes/07-05-head-picture.jpg +image: /assets/2020/meeting-notes/07-05-head-picture.webp --- ## 漫长的会议 @@ -22,15 +22,15 @@ image: /assets/2020/meeting-notes/07-05-head-picture.jpg 分享者:[wj-Mcat 吴京京](https://www.github.com/wj-Mcat/) -![mock-is-required-for-wechaty](/assets/2020/meeting-notes/07-05-mock-is-required.png) +![mock-is-required-for-wechaty](/assets/2020/meeting-notes/07-05-mock-is-required.webp) `Mocker`在多语言`wechaty`中占据着非常重要的地位,是`Wechaty`和单元测试的桥梁,能够创建一个测试虚拟环境,动态创建用户,房间,模拟登录注销等事件,并同时将一系列的数据流传抛至`wechaty`,能够在一定程度上实现自动化测试的工作。 -![mock-is-required-for-wechaty](/assets/2020/meeting-notes/07-05-mock-server-can-test-more.png) +![mock-is-required-for-wechaty](/assets/2020/meeting-notes/07-05-mock-server-can-test-more.webp) `mock-server`是一个`*-wechaty-puppet-service`连接的对象,可以看作是`puppet-server`,我们可以在不改变任何代码的情况下完成测试的流程,并且这整个流程是非常完整的:`language-wechaty` + `language-wechaty-puppet-service`。也就是每次测试是同时测试了`language-wechaty`和`language-wechaty-puppet-service` 这两个模块。 -![api](/assets/2020/meeting-notes/07-05-hook-restful-api.png) +![api](/assets/2020/meeting-notes/07-05-hook-restful-api.webp) - 将`wechaty`中所有的事件和消息发送和获取都转化成api - 根据restful api,可创建web-bot @@ -41,14 +41,14 @@ image: /assets/2020/meeting-notes/07-05-head-picture.jpg 分享者:[Huan 李卓桓](https://github.com/huan) -![mocker](/assets/2020/meeting-notes/07-05-mocker.png) +![mocker](/assets/2020/meeting-notes/07-05-mocker.webp) - 能够模拟登录注销等微信操作事件 - 模拟指定登录用户 - 随机创建用户和群组 - 模拟消息发送 -![template](/assets/2020/meeting-notes/07-05-puppet-mock-template.png) +![template](/assets/2020/meeting-notes/07-05-puppet-mock-template.webp) - 可以用来测试`wechaty`框架,同时大面积覆盖功能函数 - 可以作为一个新的`puppet`实现类的模板 @@ -57,25 +57,25 @@ image: /assets/2020/meeting-notes/07-05-head-picture.jpg 分享者:[fish-ball 黄文超](https://github.com/fish-ball) -![function](/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.png) +![function](/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.webp) [文超](https://github.com/fish-ball)分享了关于`web-bot`的概念和设计,通过将`wechaty`中不同的操作转化成`restful api`从而创建`web-bot`。 -![asyncio](/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.png) +![asyncio](/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.webp) 以上就是创建示例一个`python-wechaty` + `restful api`最小可行性代码。 -![python](/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.png) +![python](/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.webp) -![python](/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.png) +![python](/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.webp) -![python](/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.png) +![python](/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.webp) ## How to use ts-wechaty plugin in multi-language-wechaty 分享者:[Huan 李卓桓](https://github.com/huan) -![plugin](/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.png) +![plugin](/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.webp) 为了让多语言`wechaty`使用`typescript-wechaty`里面的插件,可以将`Plugin`移至`puppet-server`端,那这样`Language-wechaty`只需要添加指定的配置参数即可调用插件。 @@ -85,33 +85,33 @@ image: /assets/2020/meeting-notes/07-05-head-picture.jpg 句子互动的CTO,给我们分享了很多有价值的实践经验,多方面多角度讲述了如何提升`wechaty`稳定性方面的方法。 -![gaoyuan](/assets/2020/meeting-notes/07-05-gao-yuan-agenda.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-gao-yuan-agenda.webp) 以上为此次分享的大纲。 -![gaoyuan](/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.webp) -![gaoyuan](/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.webp) -![gaoyuan](/assets/2020/meeting-notes/07-05-how-to-make-it-stable.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-how-to-make-it-stable.webp) -![gaoyuan](/assets/2020/meeting-notes/07-05-the-target-of-test.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-the-target-of-test.webp) -![gaoyuan](/assets/2020/meeting-notes/07-05-user-test.png) +![gaoyuan](/assets/2020/meeting-notes/07-05-user-test.webp) ## Some think about the plugin 分享者:[dingdayu 丁大雨](https://github.com/dingdayu) -![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.png) -![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-think.png) -![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.png) -![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.png) -![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.png) +![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.webp) +![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-think.webp) +![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.webp) +![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.webp) +![dingdayu](/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.webp) ## 合照 -![pic](/assets/2020/meeting-notes/07-05-final-smile-picture.png) +![pic](/assets/2020/meeting-notes/07-05-final-smile-picture.webp) 这次会议讨论的主题虽然不多,可针对于具体的解决方案有非常深入的讨论,也让加深了对`wechaty`生态的理解。 diff --git a/jekyll/_posts/2020-07-06-wechat-calculator-bot.md b/jekyll/_posts/2020-07-06-wechat-calculator-bot.md index 63e496072af..3b842770b40 100644 --- a/jekyll/_posts/2020-07-06-wechat-calculator-bot.md +++ b/jekyll/_posts/2020-07-06-wechat-calculator-bot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - productivity -image: /assets/2020/wechat-calc/header.jpg +image: /assets/2020/wechat-calc/header.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -89,7 +89,7 @@ node app.js ## 效果图 -![效果图](/assets/2020/wechat-calc/demo.jpg) +![效果图](/assets/2020/wechat-calc/demo.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-07-wechat-poem-robot.md b/jekyll/_posts/2020-07-07-wechat-poem-robot.md index aef43f9a1a9..517d354cfe8 100644 --- a/jekyll/_posts/2020-07-07-wechat-poem-robot.md +++ b/jekyll/_posts/2020-07-07-wechat-poem-robot.md @@ -9,7 +9,7 @@ tags: - regex101 - featured - entertainment -image: /assets/2020/wechat-poem-robot/chat.png +image: /assets/2020/wechat-poem-robot/chat.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -55,9 +55,9 @@ image: /assets/2020/wechat-poem-robot/chat.png Windows 平台下,我用过 RegexBuddy。我发现了一个更好的 Web 平台正则调试工具 [regex101](https://regex101.com/)。它不仅能清楚标注匹配结果,还能展现正则一步步匹配的过程,这对于调试来说至关重要。 -![regex101](/assets/2020/wechat-poem-robot/regex101.png) +![regex101](/assets/2020/wechat-poem-robot/regex101.webp) -![regex101-debug](/assets/2020/wechat-poem-robot/regex101-debug.png) +![regex101-debug](/assets/2020/wechat-poem-robot/regex101-debug.webp) 除了用正则提取诗歌各字段,还需要匹配各种可能句式中的关键词。测试用例如下: @@ -306,11 +306,11 @@ module.exports = { 然后命令行执行 `pm2 start pm2.config.js`。 搭配其监控面板服务 PM2+,不仅可以在浏览器中控制任务运行状态,还能查看实时日志: -![PM2](/assets/2020/wechat-poem-robot/pm2.png) +![PM2](/assets/2020/wechat-poem-robot/pm2.webp) 目标达成: -![chat](/assets/2020/wechat-poem-robot/chat.png) +![chat](/assets/2020/wechat-poem-robot/chat.webp) ## 结论(~~以及广告~~) diff --git a/jekyll/_posts/2020-07-09-wechat-music-daycard.md b/jekyll/_posts/2020-07-09-wechat-music-daycard.md index b93ffba9e8d..80e45cdeeca 100644 --- a/jekyll/_posts/2020-07-09-wechat-music-daycard.md +++ b/jekyll/_posts/2020-07-09-wechat-music-daycard.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - entertainment -image: /assets/2020/wechat-daycard/header.png +image: /assets/2020/wechat-daycard/header.webp --- [![wechaty badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -62,7 +62,7 @@ node app.js ## 效果图 -![效果图](/assets/2020/wechat-daycard/demo.jpg) +![效果图](/assets/2020/wechat-daycard/demo.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-11-wechaty-daily-report.md b/jekyll/_posts/2020-07-11-wechaty-daily-report.md index dc3774a90cc..01bc6d11c7e 100644 --- a/jekyll/_posts/2020-07-11-wechaty-daily-report.md +++ b/jekyll/_posts/2020-07-11-wechaty-daily-report.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - productivity -image: /assets/2020/wechaty-daily/daily.png +image: /assets/2020/wechaty-daily/daily.webp --- [![Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -40,15 +40,15 @@ github:[https://github.com/zzhoouxin/wechaty-bot](https://github.com/zzhoouxin/w ## 项目成果 - 日常提醒 - ![效果图](/assets/2020/wechaty-daily/daily.png) + ![效果图](/assets/2020/wechaty-daily/daily.webp) - 定时发送日报 - ![效果图](/assets/2020/wechaty-daily/daily2.png) + ![效果图](/assets/2020/wechaty-daily/daily2.webp) - 根据关键字发送日报内容 - ![image.png](/assets/2020/wechaty-daily/daily3.png) + ![image.png](/assets/2020/wechaty-daily/daily3.webp) ## 1.项目结构 -![image.png](/assets/2020/wechaty-daily/daily4.png) +![image.png](/assets/2020/wechaty-daily/daily4.webp) - bot 存放 wechaty 每个状态的回调函数 - schecdule 定时任务-获取日报并发送 @@ -102,7 +102,7 @@ module.exports = { }; ``` -![image.png](/assets/2020/wechaty-daily/daily5.png) +![image.png](/assets/2020/wechaty-daily/daily5.webp) 里面的 wiki_url 是我们自己平常填写日报的 wiki 地址。如果您使用其他方式-那就具体情况具体分析 @@ -203,7 +203,7 @@ module.exports = (bot) => { 2个依赖库-主要用到请求我们日报地址 并且获取所需要的内容 -![image.png](/assets/2020/wechaty-daily/daily5.png) +![image.png](/assets/2020/wechaty-daily/daily5.webp) 这个是我们 wiki 文档的项目结构-我们首先需求通过 superagent 请求访问该页面-并且通过 cheero 获取内容。当然这 2 个依赖库使用。建议先熟悉一下官方文档。下文代码做了一些兼容-- diff --git a/jekyll/_posts/2020-07-12-wechat-roommessage-bot.md b/jekyll/_posts/2020-07-12-wechat-roommessage-bot.md index fed0a0bd8ad..a20f1fb0445 100644 --- a/jekyll/_posts/2020-07-12-wechat-roommessage-bot.md +++ b/jekyll/_posts/2020-07-12-wechat-roommessage-bot.md @@ -7,7 +7,7 @@ tags: - project - productivity - hospitality -image: /assets/2020/wechat-roommessage-bot/teaser.png +image: /assets/2020/wechat-roommessage-bot/teaser.webp --- [![wechaty/wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -75,13 +75,13 @@ npm run serve ## 效果图 - 咨询 - ![咨询](/assets/2020/wechat-roommessage-bot/query.png) + ![咨询](/assets/2020/wechat-roommessage-bot/query.webp) - 回复 - ![回复](/assets/2020/wechat-roommessage-bot/answer.png) + ![回复](/assets/2020/wechat-roommessage-bot/answer.webp) - 公告 - ![公告](/assets/2020/wechat-roommessage-bot/notice.png) + ![公告](/assets/2020/wechat-roommessage-bot/notice.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-15-wechaty-forwarder-bot.md b/jekyll/_posts/2020-07-15-wechaty-forwarder-bot.md index 8e41f85748d..161b1e19ed3 100644 --- a/jekyll/_posts/2020-07-15-wechaty-forwarder-bot.md +++ b/jekyll/_posts/2020-07-15-wechaty-forwarder-bot.md @@ -6,7 +6,7 @@ tags: - padplus - productivity - social -image: /assets/2020/wechaty-forwardbot/header.png +image: /assets/2020/wechaty-forwardbot/header.webp --- 运营群需要有价值的内容,才能把用户留住。但是自己又懒得搞这些内容 diff --git a/jekyll/_posts/2020-07-17-wechaty-teamin-assistant.md b/jekyll/_posts/2020-07-17-wechaty-teamin-assistant.md index 81e0b2b8062..cc65ac8040c 100644 --- a/jekyll/_posts/2020-07-17-wechaty-teamin-assistant.md +++ b/jekyll/_posts/2020-07-17-wechaty-teamin-assistant.md @@ -9,7 +9,7 @@ tags: - teamin - chatbot - featured -image: /assets/2020/wechaty-teamin-chatbot/home-01.jpg +image: /assets/2020/wechaty-teamin-chatbot/home-01.webp --- [![PoweredBy](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -31,7 +31,7 @@ iphone自从增加了屏幕时间提醒以后,我惊奇的发现,现在一 #### 设计思路 其实结构比较简单,我想了一下,一个最简单的实现结构是这样的 -![结构图](/assets/2020/wechaty-teamin-chatbot/structure.png) +![结构图](/assets/2020/wechaty-teamin-chatbot/structure.webp) 怎么接入Wechat,实现微信消息的收发,这个官方文档已经说的很详细了,这里就不多说了。 针对任务助手这块,要实现通过小助手把任务添加进来,对话的意图分析和关键词获取是最核心的两个步骤 @@ -67,7 +67,7 @@ iphone自从增加了屏幕时间提醒以后,我惊奇的发现,现在一 由于任务主题的提取是一个非常难得事情,很难做到尽善尽美,不过常用的提醒任务都是没问题的,效果还是挺好的。 我们来看些例子: -![聊天示例01](/assets/2020/wechaty-teamin-chatbot/chat-01.jpg) +![聊天示例01](/assets/2020/wechaty-teamin-chatbot/chat-01.webp) 在这里,向小助手提的要求是:`提醒我后天上午10点去三楼开会` 在这句话中,`我`、`后天上午10点`,这两个关键词都可以在意图分析的时候,直接返回出来 @@ -76,7 +76,7 @@ iphone自从增加了屏幕时间提醒以后,我惊奇的发现,现在一 看起来是不是也不太难,嘿嘿。 那咱们来个复杂的: -![聊天示例02](/assets/2020/wechaty-teamin-chatbot/chat-02.jpg) +![聊天示例02](/assets/2020/wechaty-teamin-chatbot/chat-02.webp) 这次的话术是: `明天上午10点与客户开会,提醒一下小明下午3点之前把会议资料准备好` @@ -99,6 +99,6 @@ Wechaty的出现让我们进行类似这样的尝试有了新的机会,还是 大家也可以加我们的小助手为好友,体验一下对话任务协作的功能,多多给我们提建议哦。 -![小助手二维码](/assets/2020/wechaty-teamin-chatbot/teamin-assistant.png) +![小助手二维码](/assets/2020/wechaty-teamin-chatbot/teamin-assistant.webp) > 作者: [darkli](https://github.com/darkli) diff --git a/jekyll/_posts/2020-07-18-python-wechaty-groupchat-assistant-bot.md b/jekyll/_posts/2020-07-18-python-wechaty-groupchat-assistant-bot.md index d7c45988926..f62f4d3921c 100644 --- a/jekyll/_posts/2020-07-18-python-wechaty-groupchat-assistant-bot.md +++ b/jekyll/_posts/2020-07-18-python-wechaty-groupchat-assistant-bot.md @@ -2,7 +2,7 @@ title: "基于python-wechaty的群聊助手机器人" author: kxz18 categories: project -image: /assets/2020/groupchat-assistant-bot/header.jpeg +image: /assets/2020/groupchat-assistant-bot/header.webp tags: - python - summer-2020 diff --git a/jekyll/_posts/2020-07-18-python-wechaty-meme-bot.md b/jekyll/_posts/2020-07-18-python-wechaty-meme-bot.md index ef918f5fe59..6ddb7b4efe9 100644 --- a/jekyll/_posts/2020-07-18-python-wechaty-meme-bot.md +++ b/jekyll/_posts/2020-07-18-python-wechaty-meme-bot.md @@ -1,7 +1,7 @@ --- title: "基于Python-wechaty建立一个斗图机器人" author: godkillerxiao -image: /assets/2020/meme-bot/07-19-wechaty-meme-bot.png +image: /assets/2020/meme-bot/07-19-wechaty-meme-bot.webp categories: project tags: - python @@ -28,7 +28,7 @@ tags: - 学生:肖子霖 - 模块列表 - 项目初步规划图(可能有调整) - ![plan](/assets/2020/meme-bot/07-19-wechaty-meme-bot.png) + ![plan](/assets/2020/meme-bot/07-19-wechaty-meme-bot.webp) - [x] 数据库管理 - [ ] 针对静态表情包的特征提取模块调试与开发 - [ ] 适配K-means算法 diff --git a/jekyll/_posts/2020-07-18-wechaty-words-per-day-plugin-plan.md b/jekyll/_posts/2020-07-18-wechaty-words-per-day-plugin-plan.md index 0e4aadfd037..0925fae1786 100644 --- a/jekyll/_posts/2020-07-18-wechaty-words-per-day-plugin-plan.md +++ b/jekyll/_posts/2020-07-18-wechaty-words-per-day-plugin-plan.md @@ -7,7 +7,7 @@ tags: - summer-of-wechaty - summer-2020 - entertainment -image: /assets/2020/wechaty-words-per-day-plugin-plan/header.jpg +image: /assets/2020/wechaty-words-per-day-plugin-plan/header.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-07-19-go-wechaty-plugin-dev-plan.md b/jekyll/_posts/2020-07-19-go-wechaty-plugin-dev-plan.md index 31e0ac7fe98..3cf36f717f9 100644 --- a/jekyll/_posts/2020-07-19-go-wechaty-plugin-dev-plan.md +++ b/jekyll/_posts/2020-07-19-go-wechaty-plugin-dev-plan.md @@ -8,7 +8,7 @@ tags: - summer-2020 - go - ecosystem -image: /assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.png +image: /assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-07-19-wechaty-plugin-youdao.md b/jekyll/_posts/2020-07-19-wechaty-plugin-youdao.md index f89005fba96..3d49d99e463 100644 --- a/jekyll/_posts/2020-07-19-wechaty-plugin-youdao.md +++ b/jekyll/_posts/2020-07-19-wechaty-plugin-youdao.md @@ -5,7 +5,7 @@ categories: npm tags: - plugins - featured -image: /assets/2020/youdao-plugin/head.jpeg +image: /assets/2020/youdao-plugin/head.webp --- [![badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -20,7 +20,7 @@ image: /assets/2020/youdao-plugin/head.jpeg 提供翻译能力,通过微信发送待翻译文本,例如 `hello` 给机器人,机器人回复翻译的结果和发音音频。 **发音音频需要应用绑定 语音合成服务** 由于不支持 `Voice` 的消息类型,所以只能以 `UrlLink` 的形式回复发音音频。 -![效果图](/assets/2020/youdao-plugin/1.jpeg) +![效果图](/assets/2020/youdao-plugin/1.webp) ## 具体实现 diff --git a/jekyll/_posts/2020-07-19-wechaty-puppet-dingtalk.md b/jekyll/_posts/2020-07-19-wechaty-puppet-dingtalk.md index d4cf9abff8d..e473fc77e03 100644 --- a/jekyll/_posts/2020-07-19-wechaty-puppet-dingtalk.md +++ b/jekyll/_posts/2020-07-19-wechaty-puppet-dingtalk.md @@ -2,7 +2,7 @@ title: "基于开放 API 封装 Wechaty 接口下的钉钉聊天机器人" author: jihuayu categories: project -image: /assets/2020/wechaty-puppet-dingtalk/logo.png +image: /assets/2020/wechaty-puppet-dingtalk/logo.webp tags: - summer-of-wechaty - summer-2020 diff --git a/jekyll/_posts/2020-07-20-wechat-purchasing-robot.md b/jekyll/_posts/2020-07-20-wechat-purchasing-robot.md index f62e940d25c..0a85b97445c 100644 --- a/jekyll/_posts/2020-07-20-wechat-purchasing-robot.md +++ b/jekyll/_posts/2020-07-20-wechat-purchasing-robot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - ecommerce -image: /assets/2020/wechat-purchasing-robot/header.jpg +image: /assets/2020/wechat-purchasing-robot/header.webp --- [![Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -25,7 +25,7 @@ image: /assets/2020/wechat-purchasing-robot/header.jpg 在有人咨询商品信息的时候,比如发送有关于【香水】的话题,便自动回复有在售出的香水商品列表,包含了商品不同尺寸下的价格。 -![效果图](/assets/2020/wechat-purchasing-robot/sell.png) +![效果图](/assets/2020/wechat-purchasing-robot/sell.webp) ### 结构 @@ -105,7 +105,7 @@ npm run serve ## 其他功能效果 -![效果图](/assets/2020/wechat-purchasing-robot/chat.png) +![效果图](/assets/2020/wechat-purchasing-robot/chat.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-20-wechaty-openai-agent.md b/jekyll/_posts/2020-07-20-wechaty-openai-agent.md index 02a74b9282d..79b26ef5df0 100644 --- a/jekyll/_posts/2020-07-20-wechaty-openai-agent.md +++ b/jekyll/_posts/2020-07-20-wechaty-openai-agent.md @@ -6,7 +6,7 @@ tags: - openai - talk - featured -image: /assets/2020/wechaty-weixin-openai/teaser-image.png +image: /assets/2020/wechaty-weixin-openai/teaser-image.webp --- 应 [WWC(Women Who Code)](#women-who-code) 邀请,我在线上分享了如何用「Wechaty」和「微信对话开放平台」做个助理帮助回答常见问题。 @@ -332,13 +332,13 @@ PS:在现场演示过程中,我们的测试了很多种的负面情绪的消 [Women Who Code Beijing](https://mp.weixin.qq.com/s?__biz=MzIyMzc0NDgzMg==&mid=100000001&idx=1&sn=2cb2c65673dd989cebac1e69abad5ccd&chksm=6818c72e5f6f4e386470525349192f23c8407a77e0a628cec7dbee3e75d9704223a2ef7f2d95) 于2015年10月在北京成立,希望能够帮助和鼓励在这个城市生活和工作的 女性工程师在职业发展的道路上顺利前行。我们相信IT行业也会因为有更多的女性的加入变得更有生产力和创造力。 -[teaser]: /assets/2020/wechaty-weixin-openai/teaser-image.png -[mobile-screenshot-1]: /assets/2020/wechaty-weixin-openai/mobile-screenshot-1.jpg -[openai-screenshot]: /assets/2020/wechaty-weixin-openai/openai-screenshot.jpg -[openai-qna]: /assets/2020/wechaty-weixin-openai/openai-qna.jpg -[openai-config]: /assets/2020/wechaty-weixin-openai/openai-config.jpg -[openai-banner]: /assets/2020/wechaty-weixin-openai/openai-banner.jpg -[final-screenshot]: /assets/2020/wechaty-weixin-openai/final-screenshot.jpg +[teaser]: /assets/2020/wechaty-weixin-openai/teaser-image.webp +[mobile-screenshot-1]: /assets/2020/wechaty-weixin-openai/mobile-screenshot-1.webp +[openai-screenshot]: /assets/2020/wechaty-weixin-openai/openai-screenshot.webp +[openai-qna]: /assets/2020/wechaty-weixin-openai/openai-qna.webp +[openai-config]: /assets/2020/wechaty-weixin-openai/openai-config.webp +[openai-banner]: /assets/2020/wechaty-weixin-openai/openai-banner.webp +[final-screenshot]: /assets/2020/wechaty-weixin-openai/final-screenshot.webp > Author: [@windmemory](https://github.com/windmemory) Wechaty contributor, author of [wechaty-puppet-padchat](https://github.com/wechaty/wechaty-puppet-padchat), [wechaty-puppet-padpro](https://github.com/wechaty/wechaty-puppet-padpro), [wechaty-puppet-padplus](https://github.com/wechaty/wechaty-puppet-padplus). CTO of [Juzi.Bot](https://pre-angel.com/portfolios/juzibot/) > diff --git a/jekyll/_posts/2020-07-20-wechaty-soc-kick-off-meeting.md b/jekyll/_posts/2020-07-20-wechaty-soc-kick-off-meeting.md index cd7e7b5cc62..21caaf83208 100644 --- a/jekyll/_posts/2020-07-20-wechaty-soc-kick-off-meeting.md +++ b/jekyll/_posts/2020-07-20-wechaty-soc-kick-off-meeting.md @@ -9,7 +9,7 @@ tags: - news - meetup - featured -image: /assets/2020/wechaty-soc-kick-off-meeting/soc.png +image: /assets/2020/wechaty-soc-kick-off-meeting/soc.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 @@ -22,7 +22,7 @@ image: /assets/2020/wechaty-soc-kick-off-meeting/soc.png ## Wechaty 与暑期2020 -![Wechaty SoC破冰会现场合影](/assets/2020/wechaty-soc-kick-off-meeting/group-photo.png) +![Wechaty SoC破冰会现场合影](/assets/2020/wechaty-soc-kick-off-meeting/group-photo.webp) Wechaty 作为中国最大的聊天机器人开源项目,与其他数十个中国顶级开源项目一起参与“暑期2020”。 Wechaty 合计发布了11个项目,共收到来自清华大学、北京大学、中国科学院大学、南开大学、四川大学等高校的数十份申请,并由Wechaty社区的资深Contributor作为导师,选出了11位同学进行项目开发。 diff --git a/jekyll/_posts/2020-07-22-wechaty-plugin-milestone.md b/jekyll/_posts/2020-07-22-wechaty-plugin-milestone.md index ab070b2b122..de3b7043b09 100644 --- a/jekyll/_posts/2020-07-22-wechaty-plugin-milestone.md +++ b/jekyll/_posts/2020-07-22-wechaty-plugin-milestone.md @@ -4,7 +4,7 @@ author: rickyyin98 categories: announcement tags: - plugin -image: /assets/2020/wechaty-plugin-milestone/plugin.png +image: /assets/2020/wechaty-plugin-milestone/plugin.webp --- Wechaty 的故事开始于用RPA的方式模拟登录微信,在过去的几年里,服务了数万名开发者,收获了 Github 的 8000 Star。 @@ -30,7 +30,7 @@ Wechaty.instance() // Global Instance {% include iframe.html src="https://www.youtube.com/watch?v=tfGZXoe_aA4" %} -![Wechaty Plugin活动](/assets/2020/wechaty-plugin-milestone/plugin.png) +![Wechaty Plugin活动](/assets/2020/wechaty-plugin-milestone/plugin.webp) ### Wechaty项目和社区生态介绍 @@ -52,9 +52,9 @@ Wechaty.instance() // Global Instance "> -![李卓桓-1](/assets/2020/wechaty-plugin-milestone/huan1.png) +![李卓桓-1](/assets/2020/wechaty-plugin-milestone/huan1.webp) -![李卓桓-2](/assets/2020/wechaty-plugin-milestone/huan2.png) +![李卓桓-2](/assets/2020/wechaty-plugin-milestone/huan2.webp) ### 插件系统开发历程及应用 @@ -62,11 +62,11 @@ Wechaty.instance() // Global Instance {% include iframe.html src="/assets/2020/wechaty-plugin-milestone/gcaufy.pdf" %} -![Gcaufy-1](/assets/2020/wechaty-plugin-milestone/gcaufy1.jpg) +![Gcaufy-1](/assets/2020/wechaty-plugin-milestone/gcaufy1.webp) -![Gcaufy-2](/assets/2020/wechaty-plugin-milestone/gcaufy2.jpg) +![Gcaufy-2](/assets/2020/wechaty-plugin-milestone/gcaufy2.webp) -![Gcaufy-3](/assets/2020/wechaty-plugin-milestone/gcaufy3.jpg) +![Gcaufy-3](/assets/2020/wechaty-plugin-milestone/gcaufy3.webp) ### Wechaty 插件的商业化落地展望 @@ -74,18 +74,18 @@ Wechaty.instance() // Global Instance {% include iframe.html src="/assets/2020/wechaty-plugin-milestone/yuan.pdf" %} -![Yuan-1](/assets/2020/wechaty-plugin-milestone/yuan1.jpg) +![Yuan-1](/assets/2020/wechaty-plugin-milestone/yuan1.webp) -![Yuan-2](/assets/2020/wechaty-plugin-milestone/yuan2.jpg) +![Yuan-2](/assets/2020/wechaty-plugin-milestone/yuan2.webp) ### 基于插件的Wechaty开发 [15:30 - 16:00 Wechaty Plugin开发者 王墨炱 基于插件的Wechaty开发](https://www.bilibili.com/video/BV1sz4y1973D) [Live Code Demo: Invite to Room](https://github.com/JesseWeb/invite2room_demo) -![Jessie-1](/assets/2020/wechaty-plugin-milestone/jessie1.jpg) +![Jessie-1](/assets/2020/wechaty-plugin-milestone/jessie1.webp) -![Jessie-2](/assets/2020/wechaty-plugin-milestone/jessie2.jpg) +![Jessie-2](/assets/2020/wechaty-plugin-milestone/jessie2.webp) ## Wechaty 插件库 diff --git a/jekyll/_posts/2020-07-23-early-bird-chatbot.md b/jekyll/_posts/2020-07-23-early-bird-chatbot.md index 638e084e5db..e78e2beee1e 100644 --- a/jekyll/_posts/2020-07-23-early-bird-chatbot.md +++ b/jekyll/_posts/2020-07-23-early-bird-chatbot.md @@ -6,7 +6,7 @@ tags: - bot - job - intern -image: /assets/2020/early-bird-chatbot/bird.png +image: /assets/2020/early-bird-chatbot/bird.webp --- 早鸟平台是一群硅谷在职的工程师创建的平台。受全球疫情的影响,今年的求职季变得很特殊,对于企业来说,缩减招聘需求成了一段时间的常态。对于求职者来说面试周期拉长、求职压力倍增。而早鸟作为专业的求职交流公益平台,在全球疫情蔓延,经济低迷的情况下,更应该助广大毕业生或求职者一臂之力。 @@ -56,8 +56,8 @@ image: /assets/2020/early-bird-chatbot/bird.png 如图: -![1](/assets/2020/early-bird-chatbot/job.png) -![2](/assets/2020/early-bird-chatbot/covid.png) +![1](/assets/2020/early-bird-chatbot/job.webp) +![2](/assets/2020/early-bird-chatbot/covid.webp) ## 目录结构 diff --git a/jekyll/_posts/2020-07-23-kuakua-bot-wechaty.md b/jekyll/_posts/2020-07-23-kuakua-bot-wechaty.md index 4d4c0399bd7..51437a1e530 100644 --- a/jekyll/_posts/2020-07-23-kuakua-bot-wechaty.md +++ b/jekyll/_posts/2020-07-23-kuakua-bot-wechaty.md @@ -6,7 +6,7 @@ tags: - padplus - entertainment - social -image: /assets/2020/kuakua-wechaty/titleimage.png +image: /assets/2020/kuakua-wechaty/titleimage.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -26,17 +26,17 @@ image: /assets/2020/kuakua-wechaty/titleimage.png ### 每日早安语     该功能实现主要是通过爬取网络上的早安语,然后去重,并将其做成了json文件,供程序每天随机读取。为了防止出现重复,每天发完都会删除。我工程中data目录下面就有公布的部分数据,大概有个300条吧,也能够大家用快一年的了。效果截图如下: -![goodmorning](/assets/2020/kuakua-wechaty/goodmorning.png) +![goodmorning](/assets/2020/kuakua-wechaty/goodmorning.webp) ### 每日天气     该功能会根据微信个人设置的地理位置实现天气的自动推送,本文工程设定是每天8点推送。该功能的实现主要是调用的第三方API接口,这里就不打广告了。因为第三方的接口个人感觉不好用,后面我计划采用个人爬取的方式获取天气结果,这样自主权更好一点。 -![weather](/assets/2020/kuakua-wechaty/weather.png) +![weather](/assets/2020/kuakua-wechaty/weather.webp) ### 夸夸机器人     终于到了最关键的功能了。夸夸机器人主要使用的是一份别人爬好的数据集,然后我对数据集做了一些清洗处理(去重、去无效词、去关键词等),处理后的数据集我也会放到我工程的目录下面。在问答处理上我采用的是key-value的方式,用到的最主要的匹配算法采用的是余弦cos计算相似度。这样好友在说一些话的时候,会自动的匹配出相关赞美的话。 -![kuakua](/assets/2020/kuakua-wechaty/kuakua.jpg) +![kuakua](/assets/2020/kuakua-wechaty/kuakua.webp) ### 夸夸机器人的召唤和退出 diff --git a/jekyll/_posts/2020-07-23-wechaty-group-lottery.md b/jekyll/_posts/2020-07-23-wechaty-group-lottery.md index 9f18362f600..540f479c908 100644 --- a/jekyll/_posts/2020-07-23-wechaty-group-lottery.md +++ b/jekyll/_posts/2020-07-23-wechaty-group-lottery.md @@ -6,7 +6,7 @@ tags: - padplus - productivity - entertainment -image: /assets/2020/wechaty-lottery/lottery-header.jpg +image: /assets/2020/wechaty-lottery/lottery-header.webp --- ## 背景 @@ -24,7 +24,7 @@ image: /assets/2020/wechaty-lottery/lottery-header.jpg - 通过"抽奖+空格"格式触发抽奖机器人,例如"抽奖 抱枕","抽奖 一等奖"等 - 机器人被触发后获取当前群内成员数组,并去除机器人和发奖人 - 等概率随机抽取一人,在群内消息通知中奖信息并同时@发奖人和中奖人 -- ![截图](/assets/2020/wechaty-lottery/pic01.jpg) +- ![截图](/assets/2020/wechaty-lottery/pic01.webp) ## 依赖 diff --git a/jekyll/_posts/2020-07-27-hr-retarded-robot.md b/jekyll/_posts/2020-07-27-hr-retarded-robot.md index 03699e1f200..a06ac7ffa0b 100644 --- a/jekyll/_posts/2020-07-27-hr-retarded-robot.md +++ b/jekyll/_posts/2020-07-27-hr-retarded-robot.md @@ -57,9 +57,9 @@ npm start or yarn start ## 功能截图 -![管理员配置端](/assets/2020/retarded-robot/private-menu.png) -![管理员配置端-1](/assets/2020/retarded-robot/private-feat.png) -![群里工作信息查询](/assets/2020/retarded-robot/room-feat.png) +![管理员配置端](/assets/2020/retarded-robot/private-menu.webp) +![管理员配置端-1](/assets/2020/retarded-robot/private-feat.webp) +![群里工作信息查询](/assets/2020/retarded-robot/room-feat.webp) ## 致谢 diff --git a/jekyll/_posts/2020-07-27-java-wechaty-transplant.md b/jekyll/_posts/2020-07-27-java-wechaty-transplant.md index ced2f346921..4415557e11a 100644 --- a/jekyll/_posts/2020-07-27-java-wechaty-transplant.md +++ b/jekyll/_posts/2020-07-27-java-wechaty-transplant.md @@ -7,7 +7,7 @@ tags: - soc2020 - soc - ecosystem -image: /assets/2020/java-wechaty-transplant/java-wechaty-transplant.jpg +image: /assets/2020/java-wechaty-transplant/java-wechaty-transplant.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。旨在鼓励在校学生积极参与开源软件的开发维护,促进国内优秀开源软件社区的蓬勃发展。 根据项目的难易程度和完成情况,参与者还可获取“开源软件供应链点亮计划-暑期2020”活动奖金和奖杯。 官网: 官方新闻: 本项目 [Wechaty Java 移植组件开发] 系 暑期2020 支持的开源项目。 diff --git a/jekyll/_posts/2020-07-28-rae-oa-wechaty.md b/jekyll/_posts/2020-07-28-rae-oa-wechaty.md index 681abbab400..3a947bced80 100644 --- a/jekyll/_posts/2020-07-28-rae-oa-wechaty.md +++ b/jekyll/_posts/2020-07-28-rae-oa-wechaty.md @@ -5,7 +5,7 @@ categories: project tags: - puppet-provider - productivity -image: /assets/2020/rae-oa-wechaty/schecdule.png +image: /assets/2020/rae-oa-wechaty/schecdule.webp --- 之前公司web组组长有个微信机器人每周催我们交周报,私信发过去会自动更新到公司内部wiki上,一度惊为天人,后来看到公共号以及掘金上突然有好多人推荐wechaty,据说是6行代码完成一个微信聊天机器人,正好老婆那边想要个能辅助她工作的系统,就是这么巧~ @@ -51,8 +51,8 @@ rae-wechaty是Rae-oa系统在微信上的辅助机器人,提供一切我老婆 [] 获取所有以支持的关键字 如图: -![1](/assets/2020/rae-oa-wechaty/birth.png) -![2](/assets/2020/rae-oa-wechaty/daily.png) +![1](/assets/2020/rae-oa-wechaty/birth.webp) +![2](/assets/2020/rae-oa-wechaty/daily.webp) ## 依赖 @@ -104,7 +104,7 @@ npm run docker:clean ## 目录结构 -![目录](/assets/2020/rae-oa-wechaty/catalogue.png) +![目录](/assets/2020/rae-oa-wechaty/catalogue.webp) - `bin`文件夹存放存放docker的运行脚本 - `src` diff --git a/jekyll/_posts/2020-07-28-wechaty-enterprise-rainbowbot.md b/jekyll/_posts/2020-07-28-wechaty-enterprise-rainbowbot.md index 14e5de06980..eaccf0f7b38 100644 --- a/jekyll/_posts/2020-07-28-wechaty-enterprise-rainbowbot.md +++ b/jekyll/_posts/2020-07-28-wechaty-enterprise-rainbowbot.md @@ -8,7 +8,7 @@ tags: - koa - weixin-openai - productivity -image: /assets/2020/wechaty-rainbowbot/rainbow.jpg +image: /assets/2020/wechaty-rainbowbot/rainbow.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg)](https://github.com/wechaty/wechaty) @@ -54,7 +54,7 @@ image: /assets/2020/wechaty-rainbowbot/rainbow.jpg 为了避免重复制造轮子,我翻阅了不少已有的Wechaty项目,有基于爬虫+定时任务来实现外部系统与微信端通信的应用,但这与我的需求还是有区别的。我希望实现的是(理论上)任意时间点,外部系统主动调用接口与微信之间进行通信。最后决定自己动手搞起来,理论模型已经很清晰,一个最简单的实现结构是这样的: -![结构图](/assets/2020/wechaty-rainbowbot/pic1.png) +![结构图](/assets/2020/wechaty-rainbowbot/pic1.webp) RainbowBot作为中间通信桥梁,就像一弯`彩虹`,连接起远在天边的两个独立系统。 diff --git a/jekyll/_posts/2020-07-28-wechaty-puppet-douyin.md b/jekyll/_posts/2020-07-28-wechaty-puppet-douyin.md index 29e94888ad0..fd26159f58d 100644 --- a/jekyll/_posts/2020-07-28-wechaty-puppet-douyin.md +++ b/jekyll/_posts/2020-07-28-wechaty-puppet-douyin.md @@ -2,7 +2,7 @@ title: "基于RPA封装的Wechaty接口下的抖音聊天机器人" author: wangjunwei categories: project -image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg +image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp tags: - douyin - summer-of-wechaty diff --git a/jekyll/_posts/2020-07-28-wechaty-rpa-kuaishou-plan.md b/jekyll/_posts/2020-07-28-wechaty-rpa-kuaishou-plan.md index 8885a684dc2..cb710d9390d 100644 --- a/jekyll/_posts/2020-07-28-wechaty-rpa-kuaishou-plan.md +++ b/jekyll/_posts/2020-07-28-wechaty-rpa-kuaishou-plan.md @@ -2,7 +2,7 @@ title: "暑期2020[基于 RPA 封装 Wechaty 接口下的快手聊天机器人]计划书" author: bikaiqiao categories: project -image: /assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.jpeg +image: /assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.webp tags: - kuaishou - puppet diff --git a/jekyll/_posts/2020-07-29-wechat-group-integral-robot.md b/jekyll/_posts/2020-07-29-wechat-group-integral-robot.md index c883a5869ba..27a810e1c9a 100644 --- a/jekyll/_posts/2020-07-29-wechat-group-integral-robot.md +++ b/jekyll/_posts/2020-07-29-wechat-group-integral-robot.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - ecommerce -image: /assets/2020/wechat-group-integral-robot/header.jpg +image: /assets/2020/wechat-group-integral-robot/header.webp --- [![Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -23,7 +23,7 @@ image: /assets/2020/wechat-group-integral-robot/header.jpg 当用户在群里发好评时,@该用户会给用户添加自定义积分。 -![效果图](/assets/2020/wechat-group-integral-robot/wxscreen.png) +![效果图](/assets/2020/wechat-group-integral-robot/wxscreen.webp) ### 结构 diff --git a/jekyll/_posts/2020-07-29-wechaty-puppet-lark-plan-blog.md b/jekyll/_posts/2020-07-29-wechaty-puppet-lark-plan-blog.md index 7abe5ecbc61..0ccfe3dc8ab 100644 --- a/jekyll/_posts/2020-07-29-wechaty-puppet-lark-plan-blog.md +++ b/jekyll/_posts/2020-07-29-wechaty-puppet-lark-plan-blog.md @@ -2,7 +2,7 @@ title: "基于开放 API 封装 Wechaty 接口下的飞书聊天机器人:期初" author: roxanne718 categories: project -image: /assets/2020/lark-puppet/wechaty-lark.png +image: /assets/2020/lark-puppet/wechaty-lark.webp tags: - summer-2020 - puppet-provider diff --git a/jekyll/_posts/2020-07-30-go-wechaty-gh-optimization-poc.md b/jekyll/_posts/2020-07-30-go-wechaty-gh-optimization-poc.md index 43371d5771f..b96a494931b 100644 --- a/jekyll/_posts/2020-07-30-go-wechaty-gh-optimization-poc.md +++ b/jekyll/_posts/2020-07-30-go-wechaty-gh-optimization-poc.md @@ -2,7 +2,7 @@ title: "暑期2020 [Go-wechaty Github Action optimization] 计划书" author: nebell categories: project -image: /assets/2020/go-wechaty-github-action-optimization-poc/header.jpg +image: /assets/2020/go-wechaty-github-action-optimization-poc/header.webp tags: - go - summer-of-wechaty diff --git a/jekyll/_posts/2020-07-31-wechaty-effective-secondhand-bot.md b/jekyll/_posts/2020-07-31-wechaty-effective-secondhand-bot.md index abaef9bb010..ec2e38aabf9 100644 --- a/jekyll/_posts/2020-07-31-wechaty-effective-secondhand-bot.md +++ b/jekyll/_posts/2020-07-31-wechaty-effective-secondhand-bot.md @@ -7,7 +7,7 @@ tags: - project - electron - ecommerce -image: /assets/2020/wechaty-electron/header.png +image: /assets/2020/wechaty-electron/header.webp --- 作为一个爱逛二手闲置数码的程序员,怎么淘到自己喜欢且性价比高的设备是个技术活~ @@ -80,8 +80,8 @@ yarn run dev ## 效果图 -- ![截图](/assets/2020/wechaty-electron/pic01.jpg) -- ![截图](/assets/2020/wechaty-electron/pic02.jpg) +- ![截图](/assets/2020/wechaty-electron/pic01.webp) +- ![截图](/assets/2020/wechaty-electron/pic02.webp) ## 致谢 diff --git a/jekyll/_posts/2020-08-01-wechaty-distribute-instruction-handler.md b/jekyll/_posts/2020-08-01-wechaty-distribute-instruction-handler.md index 315a521498e..c3db15f2e37 100644 --- a/jekyll/_posts/2020-08-01-wechaty-distribute-instruction-handler.md +++ b/jekyll/_posts/2020-08-01-wechaty-distribute-instruction-handler.md @@ -8,7 +8,7 @@ tags: - chatbot - cli - plugin -image: /assets/2020/wechaty-plugin-xyao/arc.png +image: /assets/2020/wechaty-plugin-xyao/arc.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg)](https://github.com/wechaty/wechaty) @@ -28,7 +28,7 @@ wechaty-plugin-xyao 插件可以让你的 wechaty bot 具备以分布式模块 ## demo -![sample](/assets/2020/wechaty-plugin-xyao/interaction-sample.png) +![sample](/assets/2020/wechaty-plugin-xyao/interaction-sample.webp) 上例中, bot 将 `fin:` 前缀的指令通过队列交给 fin 关联的模块处理,而 `x:` 前缀的指令交给 x 对应的模块。那些无法被识别 为指令的消息(比如 `你好` `午饭吃什么`),则统一交给某个指定模块处理(通常是一个具备智能闲聊能力的处理模块,比如 百度 unit)。 @@ -105,7 +105,7 @@ bot.start() ## 部署架构参考 -![architecture](/assets/2020/wechaty-plugin-xyao/arc.png) +![architecture](/assets/2020/wechaty-plugin-xyao/arc.webp) bot 在收到消息后,先尝试识别指令,识别为指令后,按前缀通过队列分发给指定的 brain 模块去处理。 diff --git a/jekyll/_posts/2020-08-02-wechaty-stock-bot.md b/jekyll/_posts/2020-08-02-wechaty-stock-bot.md index eb13647339f..fed2b78e19e 100644 --- a/jekyll/_posts/2020-08-02-wechaty-stock-bot.md +++ b/jekyll/_posts/2020-08-02-wechaty-stock-bot.md @@ -7,7 +7,7 @@ tags: - project - stock - finance -image: /assets/2020/wechaty-stock-bot/header.jpg +image: /assets/2020/wechaty-stock-bot/header.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg)](https://github.com/wechaty/wechaty) @@ -72,8 +72,8 @@ npm start ### 效果图 -- ![截图](/assets/2020/wechaty-stock-bot/pic01.png) -- ![截图](/assets/2020/wechaty-stock-bot/pic02.png) +- ![截图](/assets/2020/wechaty-stock-bot/pic01.webp) +- ![截图](/assets/2020/wechaty-stock-bot/pic02.webp) ### 致谢 diff --git a/jekyll/_posts/2020-08-04-wechaty-guangzhou-gathering.md b/jekyll/_posts/2020-08-04-wechaty-guangzhou-gathering.md index 3e4df65070b..f12ca63bdfb 100644 --- a/jekyll/_posts/2020-08-04-wechaty-guangzhou-gathering.md +++ b/jekyll/_posts/2020-08-04-wechaty-guangzhou-gathering.md @@ -5,7 +5,7 @@ categories: event tags: - guangzhou - meetup -image: /assets/2020/wechaty-guangzhou-gathering/pic1.jpg +image: /assets/2020/wechaty-guangzhou-gathering/pic1.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg)](https://github.com/wechaty/wechaty) @@ -31,14 +31,14 @@ image: /assets/2020/wechaty-guangzhou-gathering/pic1.jpg 这个地方是一个三楼的露台,不过用玻璃围起来做了一个小的包厢,还有空调。景观很不错,能够看到街上的行人和精致的绿植,非常惬意。 -![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic1.jpg) +![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic1.webp) 我到了之后,佳芮老师就热情地像我介绍了 @0 前辈,特别说到 @0 前辈的 Wechaty bot 用了三年居然还没有掉过线。然后佳芮老师还拿出来了精心为我们准备的小礼物 —— 佳芮老师、卓桓老师和李云军老师的新发的书《Chatbot 从 0 到 1——对话式交互设计实践指南》,还写下了赠言和签名,以及有一些 Wechaty 的周边小贴纸。 -![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic2.jpg) +![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic2.webp) -![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic3.jpg) +![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic3.webp) 然后我们留了个合照,开始了这次的交流。对于我来说,其实这一次的会面更多的是作为一个学习者和旁观者的视角来参与的,在这次会面我了解了一些 wechaty 项目的历史以及大佬们的创业经历,对我来说也是得到了很多的启发。 @@ -61,9 +61,9 @@ image: /assets/2020/wechaty-guangzhou-gathering/pic1.jpg 就我自己而言,在加入 python-wechaty 小组至今不长的时间里,的确感受到了开源项目的魅力,也掌握了一些开源项目的工作流程,从技能上说, 也从一些源自开源项目的优秀实践学到了很多,例如 GitHub Actions 的 CI,Makefile 的广泛使用等等,希望我自己能伴随着这个平台的发展越走越远吧! -![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic4.jpg) +![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic4.webp) -![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic5.jpg) +![聚会图片](/assets/2020/wechaty-guangzhou-gathering/pic5.webp) 最后,回来之后仔细看了佳芮老师的书,的确是对话机器人这个领域的不可多得的理论和实践指南,在这里为佳芮老师带一下货,大家多多支持哦!也希望日后能有更多的机会参与开源项目的线下活动,Wechaty 越办越好! diff --git a/jekyll/_posts/2020-08-05-wechaty-puppet-maker.md b/jekyll/_posts/2020-08-05-wechaty-puppet-maker.md index c534ccb99f7..ac3e60bdc9e 100644 --- a/jekyll/_posts/2020-08-05-wechaty-puppet-maker.md +++ b/jekyll/_posts/2020-08-05-wechaty-puppet-maker.md @@ -9,14 +9,14 @@ tags: - tutorial - puppet-provider - official-account -image: /assets/2020/wechaty-puppet-maker/puppet.png +image: /assets/2020/wechaty-puppet-maker/puppet.webp --- Wechaty 通过精妙的代码设计,实现了基于一套应用层代码,自由切换不同的接入方式,帮助开发者以最大程度的易用性,快速实现多个平台的聊天机器人接入。 ## Wechaty Puppet -![Wechaty 代码结构](/assets/2020/wechaty-puppet-maker/architecture.png) +![Wechaty 代码结构](/assets/2020/wechaty-puppet-maker/architecture.webp) Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前已经上线的 Puppet 包括Puppeteer、Padplus、Hostie等多种方式的微信个人号接入,微信公众平台的接入等。 @@ -28,7 +28,7 @@ Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前 {% include iframe.html src="https://www.youtube.com/watch?v=fbTedVcEEEI" %} -![Wechaty Puppet活动](/assets/2020/wechaty-puppet-maker/puppet.png) +![Wechaty Puppet活动](/assets/2020/wechaty-puppet-maker/puppet.webp) ### Puppet的商业化前景展望 @@ -36,9 +36,9 @@ Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前 {% include iframe.html src="/assets/2020/wechaty-puppet-maker/bohao.pdf" %} -![尹伯昊-1](/assets/2020/wechaty-puppet-maker/bohao1.jpg) +![尹伯昊-1](/assets/2020/wechaty-puppet-maker/bohao1.webp) -![尹伯昊-2](/assets/2020/wechaty-puppet-maker/bohao2.jpg) +![尹伯昊-2](/assets/2020/wechaty-puppet-maker/bohao2.webp) ### Wechaty 项目架构 @@ -46,11 +46,11 @@ Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前 {% include iframe.html src="/assets/2020/wechaty-puppet-maker/yuan.pdf" %} -![高原-1](/assets/2020/wechaty-puppet-maker/yuan1.jpg) +![高原-1](/assets/2020/wechaty-puppet-maker/yuan1.webp) -![高原-2](/assets/2020/wechaty-puppet-maker/yuan2.jpg) +![高原-2](/assets/2020/wechaty-puppet-maker/yuan2.webp) -![高原-3](/assets/2020/wechaty-puppet-maker/yuan3.jpg) +![高原-3](/assets/2020/wechaty-puppet-maker/yuan3.webp) ### Wechaty Puppet Ding-Dong @@ -72,13 +72,13 @@ Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前 "> -![李卓桓-1](/assets/2020/wechaty-puppet-maker/huan1.png) +![李卓桓-1](/assets/2020/wechaty-puppet-maker/huan1.webp) -![李卓桓-2](/assets/2020/wechaty-puppet-maker/huan2.png) +![李卓桓-2](/assets/2020/wechaty-puppet-maker/huan2.webp) -![李卓桓-3](/assets/2020/wechaty-puppet-maker/huan3.png) +![李卓桓-3](/assets/2020/wechaty-puppet-maker/huan3.webp) -![李卓桓-4](/assets/2020/wechaty-puppet-maker/huan4.png) +![李卓桓-4](/assets/2020/wechaty-puppet-maker/huan4.webp) ### Puppet Padplus开发要点分析 @@ -86,9 +86,9 @@ Wechaty 的每一种接入方式,都以 Puppet 的形式进行封装,目前 {% include iframe.html src="/assets/2020/wechaty-puppet-maker/suchang.pdf" %} -![苏畅-1](/assets/2020/wechaty-puppet-maker/suchang1.jpg) +![苏畅-1](/assets/2020/wechaty-puppet-maker/suchang1.webp) -![苏畅-2](/assets/2020/wechaty-puppet-maker/suchang2.jpg) +![苏畅-2](/assets/2020/wechaty-puppet-maker/suchang2.webp) ## 暑期2020 与 Puppet开发 diff --git a/jekyll/_posts/2020-08-06-wechaty-twitter-to-wechat.md b/jekyll/_posts/2020-08-06-wechaty-twitter-to-wechat.md index 3a7b94e32c0..91d1fdb12e6 100644 --- a/jekyll/_posts/2020-08-06-wechaty-twitter-to-wechat.md +++ b/jekyll/_posts/2020-08-06-wechaty-twitter-to-wechat.md @@ -7,7 +7,7 @@ tags: - project - twitter - utility -image: /assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg +image: /assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-blue.svg)](https://github.com/wechaty/wechaty) @@ -24,7 +24,7 @@ image: /assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg ## 效果预览 -![Header Picture](/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg) +![Header Picture](/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.webp) ## 项目说明 @@ -69,7 +69,7 @@ module.exports = { 首先,感谢[Monitor Twitter](https://github.com/matthewpalmer/monitor-twitter)的开发者,我们发展了他们的主程序,实现了对Twitter账号的监听,具体的实现请参考twitter_monitor.js文件。 核心的程序如下图,在每30秒poll一次Twitter的情况下,如果检测到有新Tweet发布,我们抓取Tweet的text(),然后同步发布到微信Wechat预设的房间内。 -![Core Code](/assets/2020/wechaty-twitter2wechat/core-code.jpg) +![Core Code](/assets/2020/wechaty-twitter2wechat/core-code.webp) ## 运行 diff --git a/jekyll/_posts/2020-08-08-qijibot-sales-automation.md b/jekyll/_posts/2020-08-08-qijibot-sales-automation.md index 94ce720528d..7deb8e13b32 100644 --- a/jekyll/_posts/2020-08-08-qijibot-sales-automation.md +++ b/jekyll/_posts/2020-08-08-qijibot-sales-automation.md @@ -7,7 +7,7 @@ tags: - qiji - productivity - social -image: /assets/2020/qijibot/qijibot.jpg +image: /assets/2020/qijibot/qijibot.webp --- - 除了媒体上的曝光,通过人进行深度触达是好的获客方式 @@ -62,7 +62,7 @@ image: /assets/2020/qijibot/qijibot.jpg 就在那周,我收到了句子互动创始人佳芮的书稿,《Chatbot从0到1》,成为了我聊天机器人的启蒙。 后来,我在BOT Friday上认识了大量的创业者、工程师和聊天机器人从业者,并通过几次“看起来是分享实际上是请大家帮我答疑”的BOT Friday活动,逐渐迈入聊天机器人行业。 -![我的第一次分享](/assets/2020/qijibot/talk1.jpg) +![我的第一次分享](/assets/2020/qijibot/talk1.webp) {% include iframe.html src="/assets/2020/qijibot/talk2.pdf" %} @@ -82,7 +82,7 @@ image: /assets/2020/qijibot/qijibot.jpg ### 3.2.一个全自动化的尝试 没有人会拒绝一个全自动化的系统,这也是我完成剧本后第一件希望完成的工作。 -![一个全自动化的尝试](/assets/2020/qijibot/first.jpeg) +![一个全自动化的尝试](/assets/2020/qijibot/first.webp) 然而,它毫无疑问的失败了,理由甚至不用赘述,毕竟这已经是聊天机器人行业的共识——纯机器人很难完成人类的所有需求。 ### 3.3.回归人机耦合的辅助坐席 @@ -103,13 +103,13 @@ image: /assets/2020/qijibot/qijibot.jpg - 用户只需要点击按钮就能把对方提出的问题进行回复,并完成一些必要的操作。 - 机器永远不自作主张地进行回复,永远需要人进行一次确认。 -![最终产品](/assets/2020/qijibot/qijibot.jpg) +![最终产品](/assets/2020/qijibot/qijibot.webp) ## 四、帮更多企业在微信上做好私域销售 当然,Qijibot被投入的资源注定其只是一个非商业的尝试,距离成为人人可用的、真正改变企业销售体验的工具还有遥远的距离。 后来,我在2020年正式地加入句子互动,以CMO的身份,开始在企业微信生态上,去帮助企业做好“私域销售”,我们的产品[句客宝](qiwei.juzibot.com)已经上线。 -![句客宝](/assets/2020/qijibot/jukebao.jpeg) +![句客宝](/assets/2020/qijibot/jukebao.webp) 这是另外一个很长的、还没有结束的故事…… 如果你对于如何借助工具打造销售体系感兴趣,欢迎你与我聊聊(微信:bohao-YIN),也许会是我们下一篇博客内容的起点。 diff --git a/jekyll/_posts/2020-08-09-wechaty-log-monitor.md b/jekyll/_posts/2020-08-09-wechaty-log-monitor.md index 09cafbf7aad..66820d1d6e3 100644 --- a/jekyll/_posts/2020-08-09-wechaty-log-monitor.md +++ b/jekyll/_posts/2020-08-09-wechaty-log-monitor.md @@ -6,25 +6,25 @@ tags: - plugin - devops - featured -image: /assets/2020/wechaty-log-monitor/demo.jpeg +image: /assets/2020/wechaty-log-monitor/demo.webp excerpt: 为了能让(营业中的)小助手可以有更棒的 readily availability,我写了这个wechaty-log-monitor插件来给在production跑的Wechaty做日志相关的devops。 --- 最近基于Wechaty[做的一个学中文小助手ARCHY开始营业了](https://mp.weixin.qq.com/s/FcgaOOnZNPUuMSihmMs_lw)🤖🤖🍜~ -![gif-demo](/assets/2020/wechaty-log-monitor/archy-demo.gif) +![gif-demo](/assets/2020/wechaty-log-monitor/archy-demo.webp) 为了能让小助手可以有更棒的 readily availability,我写了这个[wechaty-log-monitor插件](https://github.com/archywillhe/wechaty-log-monitor)来给在production跑的Wechaty做日志相关的devops。这是一个建立于两个chatbots的二重奏。 目前插件的主要功能是「掉线给码」:一个Wechaty掉线了,另一个Wechaty会发QR码给这个Wechaty的微信号来重新登陆。 -![qr-rescue](/assets/2020/wechaty-log-monitor/demo2.jpeg) +![qr-rescue](/assets/2020/wechaty-log-monitor/demo2.webp) 这样掉线了就不用`ssh`到production服务器,然后`sudo su git`+`pm2 logs --lines 100`来进行扫码重登了。 现在不管在吃饭、野外、还是地铁上,掉线了便可立马扫码重登。 -![thumbup](/assets/2020/wechaty-log-monitor/thumbup.jpeg) +![thumbup](/assets/2020/wechaty-log-monitor/thumbup.webp) ## 一、如何「掉线给码」 @@ -64,7 +64,7 @@ botBob.use(WechatyLogMonitor({ p.s. 掉线后,bot发一个二维码就不会再发给你了。如果你想要最新的登陆二维码,发「qr」给bot就行。 -![qr](/assets/2020/wechaty-log-monitor/qr.jpeg) +![qr](/assets/2020/wechaty-log-monitor/qr.webp) ## 二、`WechatyLogMonitor`的内部 @@ -174,7 +174,7 @@ export const restartPM2 = (config: WechatyLogOperationConfig, parameter:{pm2Id:n } ``` -![restart](/assets/2020/wechaty-log-monitor/restart.jpeg) +![restart](/assets/2020/wechaty-log-monitor/restart.webp) ## 五、待开发的Auth、GTP3功能 @@ -203,7 +203,7 @@ export enum WechatyLogOperationSecurityRule { 若pragmatically,『chatbot变成一个更简易的terminal』这件事真的行得通,那另一个非常有意思的发展方向就是结合[OpenAI最近提及到GPT3的一个很有意思的应用:Natural Language Shell](https://beta.openai.com/?app=productivity&example=4_2_0) - 运用自然语言去做执行unix等命令。 -![gtp3](/assets/2020/wechaty-log-monitor/gtp3.jpeg) +![gtp3](/assets/2020/wechaty-log-monitor/gtp3.webp) > 作者: [Archy Will He 何魏奇](https://github.com/archywillhe/),functional programmer, interested in computational semantics,目前在全职做[吖奇说(ARCHY.SH)](https://archy.sh)这个项目。Working with GPT-2 (and hopefully with 3 soon!) > diff --git a/jekyll/_posts/2020-08-09-wechaty-shenzhen-meetup.md b/jekyll/_posts/2020-08-09-wechaty-shenzhen-meetup.md index a90e37b6b51..62b193ba0b3 100644 --- a/jekyll/_posts/2020-08-09-wechaty-shenzhen-meetup.md +++ b/jekyll/_posts/2020-08-09-wechaty-shenzhen-meetup.md @@ -5,7 +5,7 @@ categories: event tags: - meetup - news -image: /assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg +image: /assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.webp --- 8 月 5 日,周五晚上,大家按照约定时间到达吃饭地点,我与@lijiarui、@Gcaufy没有线下见过面,有一种见网友的感觉。好在很快就熟悉了。 @@ -36,5 +36,5 @@ image: /assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg [@dchaofei](https://github.com/dchaofei): Go/PHP Developer, the author of go-wechaty -[wechaty-shenzhen-meetup-photo]: /assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg -[wechaty-shenzhen-meetup-book]: /assets/2020/wechaty-shenzhen-meetup/book.jpg +[wechaty-shenzhen-meetup-photo]: /assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.webp +[wechaty-shenzhen-meetup-book]: /assets/2020/wechaty-shenzhen-meetup/book.webp diff --git a/jekyll/_posts/2020-08-11-car-product-rcbot.md b/jekyll/_posts/2020-08-11-car-product-rcbot.md index be27f7c70c5..ac4510e10d1 100644 --- a/jekyll/_posts/2020-08-11-car-product-rcbot.md +++ b/jekyll/_posts/2020-08-11-car-product-rcbot.md @@ -6,7 +6,7 @@ tags: - bot - car - automotive -image: /assets/2020/rcbot/rcbot.jpg +image: /assets/2020/rcbot/rcbot.webp --- ## 现状与目标:我是谁?我要做什么? diff --git a/jekyll/_posts/2020-08-13-python-wechaty-meme-bot-mid-term.md b/jekyll/_posts/2020-08-13-python-wechaty-meme-bot-mid-term.md index aaaf79429f5..1b4391117f5 100644 --- a/jekyll/_posts/2020-08-13-python-wechaty-meme-bot-mid-term.md +++ b/jekyll/_posts/2020-08-13-python-wechaty-meme-bot-mid-term.md @@ -1,7 +1,7 @@ --- title: "基于Python-wechaty建立一个斗图机器人 POC 成果展示" author: godkillerxiao -image: /assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png +image: /assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.webp categories: project tags: - python @@ -30,7 +30,7 @@ tags: - 方案描述:利用OCR、NLP等技术,提取出用户发送的表情包内容,并回复数据库中已有与之相关的表情;具体技术方案泳道图见下: - ![mid-term](/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png) + ![mid-term](/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.webp) 更多细节可参见[项目README](https://github.com/MrZilinXiao/python-wechaty-meme-bot/blob/master/README.md). diff --git a/jekyll/_posts/2020-08-14-python-wechaty-groupchat-assistant-bot-poc.md b/jekyll/_posts/2020-08-14-python-wechaty-groupchat-assistant-bot-poc.md index d53b75c9d63..51973725bb2 100644 --- a/jekyll/_posts/2020-08-14-python-wechaty-groupchat-assistant-bot-poc.md +++ b/jekyll/_posts/2020-08-14-python-wechaty-groupchat-assistant-bot-poc.md @@ -2,7 +2,7 @@ title: "暑期2020 [基于python-wechaty的群聊助手机器人] POC 成果展示" author: kxz18 categories: project -image: /assets/2020/groupchat-assistant-bot-poc/header.png +image: /assets/2020/groupchat-assistant-bot-poc/header.webp tags: - python - summer-2020 diff --git a/jekyll/_posts/2020-08-15-wechaty-words-per-day-plugin-mid-term.md b/jekyll/_posts/2020-08-15-wechaty-words-per-day-plugin-mid-term.md index ee2db028ea9..90857e12d8a 100644 --- a/jekyll/_posts/2020-08-15-wechaty-words-per-day-plugin-mid-term.md +++ b/jekyll/_posts/2020-08-15-wechaty-words-per-day-plugin-mid-term.md @@ -7,7 +7,7 @@ tags: - summer-of-wechaty - summer-2020 - entertainment -image: /assets/2020/wechaty-words-per-day-plugin-mid-term/header.png +image: /assets/2020/wechaty-words-per-day-plugin-mid-term/header.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-08-17-java-wechaty-bot.md b/jekyll/_posts/2020-08-17-java-wechaty-bot.md index 182518fb2aa..f2799a153c4 100644 --- a/jekyll/_posts/2020-08-17-java-wechaty-bot.md +++ b/jekyll/_posts/2020-08-17-java-wechaty-bot.md @@ -7,7 +7,7 @@ tags: - java - weixin-openai - entertainment -image: /assets/2020/smwsk-java-wechaty-bot/home.jpg +image: /assets/2020/smwsk-java-wechaty-bot/home.webp --- > 本项目是基础wechaty项目实现微信的聊天功能、通过微信对话开放平台提供的API进行智能的应答、实现了微信的智能聊天、最后非常感谢wechaty的无私奉献。 @@ -26,7 +26,7 @@ image: /assets/2020/smwsk-java-wechaty-bot/home.jpg ## 微信机器人头像 -![微信二维码](/assets/2020/smwsk-java-wechaty-bot/code.jpg) +![微信二维码](/assets/2020/smwsk-java-wechaty-bot/code.webp) ## 准备工作 @@ -40,11 +40,11 @@ image: /assets/2020/smwsk-java-wechaty-bot/home.jpg ## 项目成果 -讲笑话-听歌 +讲笑话-听歌 -新闻-成语接龙 +新闻-成语接龙 -心理年龄测试 +心理年龄测试 ## 待完善功能 diff --git a/jekyll/_posts/2020-08-17-java-wechaty-transplant-midpoc.md b/jekyll/_posts/2020-08-17-java-wechaty-transplant-midpoc.md index a2881b34241..92c1c5a105e 100644 --- a/jekyll/_posts/2020-08-17-java-wechaty-transplant-midpoc.md +++ b/jekyll/_posts/2020-08-17-java-wechaty-transplant-midpoc.md @@ -7,7 +7,7 @@ tags: - soc - soc2020 - ecosystem -image: /assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.jpg +image: /assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-08-18-wechaty-for-new-student.md b/jekyll/_posts/2020-08-18-wechaty-for-new-student.md index 76d5d3689f5..320acf7c2bd 100644 --- a/jekyll/_posts/2020-08-18-wechaty-for-new-student.md +++ b/jekyll/_posts/2020-08-18-wechaty-for-new-student.md @@ -5,7 +5,7 @@ categories: project tags: - padplus - productivity -image: /assets/2020/wechat-bot/header.jpg +image: /assets/2020/wechat-bot/header.webp --- 基于 `wechaty` (包含 `wechaty-puppet-padplus` 插件)开发。 diff --git a/jekyll/_posts/2020-08-19-go-wechaty-plugin-poc.md b/jekyll/_posts/2020-08-19-go-wechaty-plugin-poc.md index edaa36b44ce..54c468a4ba0 100644 --- a/jekyll/_posts/2020-08-19-go-wechaty-plugin-poc.md +++ b/jekyll/_posts/2020-08-19-go-wechaty-plugin-poc.md @@ -8,7 +8,7 @@ tags: - summer-2020 - go - ecosystem -image: /assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.png +image: /assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-08-19-puppet-work-midterm.md b/jekyll/_posts/2020-08-19-puppet-work-midterm.md index 1adabb6dcd0..f366c651282 100644 --- a/jekyll/_posts/2020-08-19-puppet-work-midterm.md +++ b/jekyll/_posts/2020-08-19-puppet-work-midterm.md @@ -2,7 +2,7 @@ title: "暑期2020 [基于开放 API 封装 Wechaty 接口下的企业微信聊天机器人] POC 成果展示" author: sapio-s categories: project -image: /assets/2020/work-puppet/pic2.jpg +image: /assets/2020/work-puppet/pic2.webp tags: - summer-2020 - summer-of-wechaty diff --git a/jekyll/_posts/2020-08-19-puppet-work-plan.md b/jekyll/_posts/2020-08-19-puppet-work-plan.md index c18431cb2fb..4df8f3091e3 100644 --- a/jekyll/_posts/2020-08-19-puppet-work-plan.md +++ b/jekyll/_posts/2020-08-19-puppet-work-plan.md @@ -2,7 +2,7 @@ title: "暑期2020 基于开放 API 封装 Wechaty 接口下的企业微信聊天机器人 计划书" author: sapio-s categories: project -image: /assets/2020/work-puppet/pic.jpg +image: /assets/2020/work-puppet/pic.webp tags: - summer-of-wechaty - summer-2020 diff --git a/jekyll/_posts/2020-08-19-wechaty-puppet-lark-mid-term-blog.md b/jekyll/_posts/2020-08-19-wechaty-puppet-lark-mid-term-blog.md index 113fbe54389..77410f12366 100644 --- a/jekyll/_posts/2020-08-19-wechaty-puppet-lark-mid-term-blog.md +++ b/jekyll/_posts/2020-08-19-wechaty-puppet-lark-mid-term-blog.md @@ -2,7 +2,7 @@ title: "基于开放 API 封装 Wechaty 接口下的飞书聊天机器人:期中" author: roxanne718 categories: project -image: /assets/2020/lark-puppet/wechaty-lark-mid-term.png +image: /assets/2020/lark-puppet/wechaty-lark-mid-term.webp tags: - summer-2020 - summer-of-wechaty diff --git a/jekyll/_posts/2020-08-19-wechaty-zizz-gcaufy.md b/jekyll/_posts/2020-08-19-wechaty-zizz-gcaufy.md index 0baef45f627..60a1456f097 100644 --- a/jekyll/_posts/2020-08-19-wechaty-zizz-gcaufy.md +++ b/jekyll/_posts/2020-08-19-wechaty-zizz-gcaufy.md @@ -2,12 +2,12 @@ title: 阿兹纳莫曲线 author: huan categories: fun -image: /assets/2020/08-zizz/zizz.png +image: /assets/2020/08-zizz/zizz.webp tags: - fun --- -![Gcaufy Wechaty zizz](/assets/2020/08-zizz/zizz-discussion.jpg) +![Gcaufy Wechaty zizz](/assets/2020/08-zizz/zizz-discussion.webp) > 这个是 阿兹纳莫曲线 > — [@Gcaufy](/contributors/gcaufy/), Creator of [WePY](https://github.com/tencent/wepy), Wechaty Committer. diff --git a/jekyll/_posts/2020-08-20-go-wechaty-github-action-optimization-mid-term.md b/jekyll/_posts/2020-08-20-go-wechaty-github-action-optimization-mid-term.md index 1ad0bc94c3d..ebf4ba2c59f 100644 --- a/jekyll/_posts/2020-08-20-go-wechaty-github-action-optimization-mid-term.md +++ b/jekyll/_posts/2020-08-20-go-wechaty-github-action-optimization-mid-term.md @@ -7,7 +7,7 @@ tags: - summer-2020 - go - devops -image: /assets/2020/go-wechaty-github-action-optimization/header.jpg +image: /assets/2020/go-wechaty-github-action-optimization/header.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-08-20-kotlin-wechaty-simple-shell.md b/jekyll/_posts/2020-08-20-kotlin-wechaty-simple-shell.md index 9ed4d054c31..f5c4b7766c6 100644 --- a/jekyll/_posts/2020-08-20-kotlin-wechaty-simple-shell.md +++ b/jekyll/_posts/2020-08-20-kotlin-wechaty-simple-shell.md @@ -6,7 +6,7 @@ tags: - serverchen - shell - utility -image: /assets/2020/kotlin-wechaty-simple-shell/home.jpeg +image: /assets/2020/kotlin-wechaty-simple-shell/home.webp --- 这个项目是基于SpringBoot和SpringMVC的,语言是kotlin,构建工具是maven。 @@ -152,4 +152,4 @@ java -jar wechat-bot-1.0.jar --wechat-bot.token=YOUR_TOKEN --server-chan.token= ## 例子 -![example](/assets/2020/kotlin-wechaty-simple-shell/example.png) +![example](/assets/2020/kotlin-wechaty-simple-shell/example.webp) diff --git a/jekyll/_posts/2020-08-20-wechaty-file-assistant-bot.md b/jekyll/_posts/2020-08-20-wechaty-file-assistant-bot.md index 5dfb1455c30..0642effdca8 100644 --- a/jekyll/_posts/2020-08-20-wechaty-file-assistant-bot.md +++ b/jekyll/_posts/2020-08-20-wechaty-file-assistant-bot.md @@ -6,7 +6,7 @@ tags: - nodejs - padplus - productivity -image: /assets/2020/file-assistant-bot/file-assistant-bot-img.png +image: /assets/2020/file-assistant-bot/file-assistant-bot-img.webp --- 微信助手是很常见的运营工具,不仅能够给微信群带来活跃度,还能针对各种社群开发不同的玩法。 diff --git a/jekyll/_posts/2020-08-20-wechaty-puppet-douyin-mid-term.md b/jekyll/_posts/2020-08-20-wechaty-puppet-douyin-mid-term.md index bd3038bea35..6949be4bb90 100644 --- a/jekyll/_posts/2020-08-20-wechaty-puppet-douyin-mid-term.md +++ b/jekyll/_posts/2020-08-20-wechaty-puppet-douyin-mid-term.md @@ -2,7 +2,7 @@ title: "基于RPA封装的Wechaty接口下的抖音聊天机器人中期报告" author: wangjunwei categories: project -image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg +image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp tags: - douyin - summer-of-wechaty diff --git a/jekyll/_posts/2020-08-20-wechaty-puppet-kuaishou-mid-term.md b/jekyll/_posts/2020-08-20-wechaty-puppet-kuaishou-mid-term.md index 49853e09c0f..2d2170b5c0f 100644 --- a/jekyll/_posts/2020-08-20-wechaty-puppet-kuaishou-mid-term.md +++ b/jekyll/_posts/2020-08-20-wechaty-puppet-kuaishou-mid-term.md @@ -2,7 +2,7 @@ title: "暑期2020[基于 RPA 封装 Wechaty 接口下的快手聊天机器人]中期报告" author: bikaiqiao categories: project -image: /assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg +image: /assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.webp tags: - kuaishou - puppet diff --git a/jekyll/_posts/2020-08-21-wechaty-xiaowang-learning-tool.md b/jekyll/_posts/2020-08-21-wechaty-xiaowang-learning-tool.md index 601902cfd88..b97a112473d 100644 --- a/jekyll/_posts/2020-08-21-wechaty-xiaowang-learning-tool.md +++ b/jekyll/_posts/2020-08-21-wechaty-xiaowang-learning-tool.md @@ -1,7 +1,7 @@ --- title: 基于Wechaty的群学习内容推送工具 author: gileswong -image: /assets/2020/wechaty-xiaowang-learning-tool/teaser.jpg +image: /assets/2020/wechaty-xiaowang-learning-tool/teaser.webp categories: project tags: - typescript @@ -28,8 +28,8 @@ tags: ## 功能示例 -![英语每日一题](/assets/2020/wechaty-xiaowang-learning-tool/img-4425.jpg) -![每日早报](/assets/2020/wechaty-xiaowang-learning-tool/img-4418.jpg) +![英语每日一题](/assets/2020/wechaty-xiaowang-learning-tool/img-4425.webp) +![每日早报](/assets/2020/wechaty-xiaowang-learning-tool/img-4418.webp) ## 项目结构 diff --git a/jekyll/_posts/2020-08-22-market-wechat-robot.md b/jekyll/_posts/2020-08-22-market-wechat-robot.md index 134871ac2ca..479eaa44bde 100644 --- a/jekyll/_posts/2020-08-22-market-wechat-robot.md +++ b/jekyll/_posts/2020-08-22-market-wechat-robot.md @@ -2,7 +2,7 @@ title: "行情播报微信机器人" author: exctech categories: project -image: /assets/2020/market-wechat-robot/teaser.jpeg +image: /assets/2020/market-wechat-robot/teaser.webp tags: - market - oracle diff --git a/jekyll/_posts/2020-08-23-wechaty-puppet-gitter.md b/jekyll/_posts/2020-08-23-wechaty-puppet-gitter.md index 5751772057d..7ae221a3c50 100644 --- a/jekyll/_posts/2020-08-23-wechaty-puppet-gitter.md +++ b/jekyll/_posts/2020-08-23-wechaty-puppet-gitter.md @@ -1,7 +1,7 @@ --- title: Gitter.im is supported by Wechaty now! author: huan -image: /assets/2020/08-gitter/wechaty-gitter.png +image: /assets/2020/08-gitter/wechaty-gitter.webp categories: announcement tags: - news @@ -12,7 +12,7 @@ tags: Wechaty is a RPA SDK for Chatbot Makers. It mainly works with WeChat accounts (both [individual](https://github.com/wechaty/wechaty-puppet-puppeteer) and [official](https://github.com/wechaty/wechaty-puppet-official-account)), and now we have published Gitter support for wechaty, which can make us easy to build a chatbot on Gitter.im, and sync the room between the Gitter.im and WeChat! -![Gitter + Wechaty](/assets/2020/08-gitter/gitter.png) +![Gitter + Wechaty](/assets/2020/08-gitter/gitter.webp) ## Wechaty + Gitter.im diff --git a/jekyll/_posts/2020-08-24-add-video-to-wechaty-blog.md b/jekyll/_posts/2020-08-24-add-video-to-wechaty-blog.md index fb5d5fae37b..aa1f52bb765 100644 --- a/jekyll/_posts/2020-08-24-add-video-to-wechaty-blog.md +++ b/jekyll/_posts/2020-08-24-add-video-to-wechaty-blog.md @@ -5,7 +5,7 @@ categories: tutorial tags: - jekyll - plugin -image: /assets/2020/add-video-to-wechaty-blog/header.png +image: /assets/2020/add-video-to-wechaty-blog/header.webp --- 撰写暑期2020中期POC博客的时候,遇到了在博文中插入视频、PPT等iframe的需求,可以在markdown文档中直接使用bilibili等视频网站提供的视频嵌入代码,然而这样视频的样式不够美观,iframe没有铺满整个宽度并保持一定宽高比。 diff --git a/jekyll/_posts/2020-08-28-command-line-filter.md b/jekyll/_posts/2020-08-28-command-line-filter.md index ab2ca5e16a4..dcffe33155e 100644 --- a/jekyll/_posts/2020-08-28-command-line-filter.md +++ b/jekyll/_posts/2020-08-28-command-line-filter.md @@ -1,7 +1,7 @@ --- title: "简易命令行控制的「微信机器人」及群聊信息过滤实现" author: raymondjiangkw -image: /assets/2020/commandline-filter/logo.png +image: /assets/2020/commandline-filter/logo.webp categories: project tags: - javascript @@ -277,7 +277,7 @@ function (commands, message, botSettings) { }), "Say Hi to Bot"); ``` - + ```javascript // 让 Bot 识别 .register 指令, 以接受用户的注册。对注册过的用户,提示已经注册过,除非显式加入`--force`参数。 @@ -301,7 +301,7 @@ function (commands, message, botSettings) { }), "Register Account"); ``` - + ### 实现群聊信息过滤 @@ -372,8 +372,8 @@ async function (commands, message, botSettings) { ### 示例 - - + + ## 3. 已知问题 diff --git a/jekyll/_posts/2020-08-28-deploy-wechaty-in-aws.md b/jekyll/_posts/2020-08-28-deploy-wechaty-in-aws.md index f5bececb47c..10b020266d5 100644 --- a/jekyll/_posts/2020-08-28-deploy-wechaty-in-aws.md +++ b/jekyll/_posts/2020-08-28-deploy-wechaty-in-aws.md @@ -1,7 +1,7 @@ --- title: Deploy Wechaty in AWS ec2 author: charles-wu-chen -image: /assets/2020/deploy-wechaty-in-aws/wechaty-aws.png +image: /assets/2020/deploy-wechaty-in-aws/wechaty-aws.webp categories: project tags: - nodejs @@ -23,7 +23,7 @@ This article is about to deploy wechaty node.js application into AWS EC2 steps b Follow the AWS official Document to launch a linux instance. [Launching an instance using the Launch Instance Wizard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html) With a successful launch, you shall be able to see the instance status is running as screen below -![EC2 is running](/assets/2020/deploy-wechaty-in-aws/ec2-running.png) +![EC2 is running](/assets/2020/deploy-wechaty-in-aws/ec2-running.webp) ### Step 2 Connect the ec2 instance by ssh diff --git a/jekyll/_posts/2020-08-28-wechaty-alert-padplus.md b/jekyll/_posts/2020-08-28-wechaty-alert-padplus.md index bcbd6609dd4..1a67ca1340a 100644 --- a/jekyll/_posts/2020-08-28-wechaty-alert-padplus.md +++ b/jekyll/_posts/2020-08-28-wechaty-alert-padplus.md @@ -1,7 +1,7 @@ --- title: 基于Wechaty-IPAD协议的预警消息转发机器人 author: songbingjun -image: /assets/2020/alter-padplus/login.png +image: /assets/2020/alter-padplus/login.webp categories: project tags: - padplus @@ -58,7 +58,7 @@ git clone `https://github.com/Songbingjun/wechat-alert-padplus.git` //参考git 前台示例图片如下: -![前台登陆后](/assets/2020/alter-padplus/login.png) +![前台登陆后](/assets/2020/alter-padplus/login.webp) ### 后台方式启动导航 diff --git a/jekyll/_posts/2020-08-29-wx-group-assistant-bot.md b/jekyll/_posts/2020-08-29-wx-group-assistant-bot.md index c2cdd2f230d..227ea29415f 100644 --- a/jekyll/_posts/2020-08-29-wx-group-assistant-bot.md +++ b/jekyll/_posts/2020-08-29-wx-group-assistant-bot.md @@ -2,7 +2,7 @@ title: "微信营销群机器人客服" author: zlh categories: project -image: /assets/2020/wx-group-assistant-bot/wx-bot.jpg +image: /assets/2020/wx-group-assistant-bot/wx-bot.webp tags: - nodejs - padplus diff --git a/jekyll/_posts/2020-08-31-wechaty-english-learning-assistant.md b/jekyll/_posts/2020-08-31-wechaty-english-learning-assistant.md index 216517c24c6..c20cfc7ce56 100644 --- a/jekyll/_posts/2020-08-31-wechaty-english-learning-assistant.md +++ b/jekyll/_posts/2020-08-31-wechaty-english-learning-assistant.md @@ -7,7 +7,7 @@ tags: - project - sqlite3 - education -image: /assets/2020/wechaty-english-learning-assistant/header.jpg +image: /assets/2020/wechaty-english-learning-assistant/header.webp --- 针对英语学习社群,为提高群的活跃度,通过关键词触发,实现英文每日一句、中英文互译、励志话语推送,彩虹屁功能。 @@ -18,10 +18,10 @@ image: /assets/2020/wechaty-english-learning-assistant/header.jpg - 励志话语&彩虹屁,从互联网搜集整理共2783条数据 - 中英文互译,采用百度翻译api实现 - tts文本转语音(开发中,因padplus不支持语音) -- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic01.jpg) -- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic02.jpg) -- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic03.jpg) -- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic04.jpg) +- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic01.webp) +- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic02.webp) +- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic03.webp) +- ![功能截图](/assets/2020/wechaty-english-learning-assistant/pic04.webp) ## 配置 diff --git a/jekyll/_posts/2020-09-04-issue-feedback-room-monitor.md b/jekyll/_posts/2020-09-04-issue-feedback-room-monitor.md index 705004a3a4a..6b1febfb6c4 100644 --- a/jekyll/_posts/2020-09-04-issue-feedback-room-monitor.md +++ b/jekyll/_posts/2020-09-04-issue-feedback-room-monitor.md @@ -5,7 +5,7 @@ categories: tutorial tags: - issue - padplus -image: /assets/2020/issue-feedback-room-monitor/way.jpg +image: /assets/2020/issue-feedback-room-monitor/way.webp --- 因为我们的用户都喜欢通过微信群讨论的方式进行产品问题反馈,这无疑给日常的线上问题处理的效率带来极大的影响。曾经尝试对用户习惯进行线上填写方式的引导,但最终以失败告终。无奈下看看弄一个微信群监控机器人是否可行。 @@ -192,7 +192,7 @@ module.exports = function onScan(qrcode, status) { 功能实现截图: - ![1](/assets/2020/issue-feedback-room-monitor/qrcode-push.png) + ![1](/assets/2020/issue-feedback-room-monitor/qrcode-push.webp) **4、消息监听回调(`src/onMessage.js`)** @@ -298,13 +298,13 @@ module.exports = bot => { 当在群里@机器人的时候,机器人会自动回复问题反馈的模版信息: -![2](/assets/2020/issue-feedback-room-monitor/feedback-template.jpg) +![2](/assets/2020/issue-feedback-room-monitor/feedback-template.webp) 这里由于时间问题,做的相对简单。如果时间充分完全可以做一个微服务,支撑机器人更好在群里与他人互动。 消息入库示例: -![3](/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.jpg) +![3](/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.webp) 这块目前只是实现了消息入库,但是对聊天中的图片、视频和音频文件的保存的功能部分还没有整合进去,相关部分还处于本地调试过程中。后续会在github上更新此部分代码。 diff --git a/jekyll/_posts/2020-09-12-post-ts-to-python.md b/jekyll/_posts/2020-09-12-post-ts-to-python.md index 4f759fb1741..b2de09f1f12 100644 --- a/jekyll/_posts/2020-09-12-post-ts-to-python.md +++ b/jekyll/_posts/2020-09-12-post-ts-to-python.md @@ -1,7 +1,7 @@ --- title: "Wechaty 将 TS 转发到 Python 的探索实践" author: jcq15 -image: /assets/2020/post-ts-to-python/screenshot.jpg +image: /assets/2020/post-ts-to-python/screenshot.webp categories: project tags: - padplus diff --git a/jekyll/_posts/2020-09-14-ads-filer-groupbot.md b/jekyll/_posts/2020-09-14-ads-filer-groupbot.md index f6810679f2c..49309b83bd9 100644 --- a/jekyll/_posts/2020-09-14-ads-filer-groupbot.md +++ b/jekyll/_posts/2020-09-14-ads-filer-groupbot.md @@ -4,7 +4,7 @@ author: garyboygo categories: npm tags: - ads-monitor -image: /assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg +image: /assets/2020/ads-filter-groupbot/ads-filter-groupbot.webp --- [![badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -38,7 +38,7 @@ image: /assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg ## 最终效果 -![avatar](/assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg) +![avatar](/assets/2020/ads-filter-groupbot/ads-filter-groupbot.webp) > 作者: [garyboygo](https://github.com/garyboygo/) > Code: [Github](https://github.com/garyboygo/WeChatGroupBot) diff --git a/jekyll/_posts/2020-09-14-my-first-wechaty-bot.md b/jekyll/_posts/2020-09-14-my-first-wechaty-bot.md index 47a484ea96d..7a1d8b4100c 100644 --- a/jekyll/_posts/2020-09-14-my-first-wechaty-bot.md +++ b/jekyll/_posts/2020-09-14-my-first-wechaty-bot.md @@ -1,7 +1,7 @@ --- title: "构建我的第一个微信机器人" author: chenj-freedom -image: /assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.png +image: /assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.webp categories: project tags: - windows @@ -20,7 +20,7 @@ tags: 开发之前呢,最好还是了解下这个架构的原理,具体的不细说,有兴趣的github上都可以找到答案。这里就放一张官方的原理图。 -![image](/assets/2020/my-first-wechaty-bot/1.png) +![image](/assets/2020/my-first-wechaty-bot/1.webp) 最底层是各个协议,基于pad微信的协议(本文重点,github库名称是wechaty-puppet-padplus),基于web微信协议的(github库名称是wechaty-puppet-puppeteer),基于windows pc端微信协议的(github库名称是wechaty-puppet-windows)等等。 @@ -127,7 +127,7 @@ node bot.js ``` 成功运行: -![image.png](/assets/2020/my-first-wechaty-bot/2.png) +![image.png](/assets/2020/my-first-wechaty-bot/2.webp) 之后就可以手机微信扫码登录,当别人给你当前登录的微信号发送消息“12345”,就会自动回复“hello world”。 ## 遇到的问题 @@ -136,7 +136,7 @@ node bot.js ### cmd窗口二维码显示扫码不完善 -![image.png](/assets/2020/my-first-wechaty-bot/3.png) +![image.png](/assets/2020/my-first-wechaty-bot/3.webp) 解决办法是修改cmd窗口的属性,可以参考:[https://github.com/wechaty/wechaty/issues/2055](https://github.com/wechaty/wechaty/issues/2055)。 结束! diff --git a/jekyll/_posts/2020-09-16-speaker-mention-manager.md b/jekyll/_posts/2020-09-16-speaker-mention-manager.md index 764df66d5a8..db05640a07c 100644 --- a/jekyll/_posts/2020-09-16-speaker-mention-manager.md +++ b/jekyll/_posts/2020-09-16-speaker-mention-manager.md @@ -1,7 +1,7 @@ --- title: "微信群过于频繁提醒功能" author: chianquan -image: /assets/2020/wechaty-speaker-mention/speaker-mention.png +image: /assets/2020/wechaty-speaker-mention/speaker-mention.webp categories: project tags: - nodejs @@ -38,11 +38,11 @@ tags: ### 扫描二维码登录pad微信 - ![登录扫码](/assets/2020/wechaty-speaker-mention/speaker-mention-scan.png) + ![登录扫码](/assets/2020/wechaty-speaker-mention/speaker-mention-scan.webp) ### 在需要生效的微信群中有发言时,日志中会打出该微信群的名称和id,从日志中获取对应微信群id - ![获取微信群id](/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.png) + ![获取微信群id](/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.webp) ### 关闭服务 @@ -74,7 +74,7 @@ MENTION_TEXT=不要过度发言 ### 在微信群中发言效果 - ![获取微信群id](/assets/2020/wechaty-speaker-mention/speaker-mention-result.png) + ![获取微信群id](/assets/2020/wechaty-speaker-mention/speaker-mention-result.webp) ## 结语 diff --git a/jekyll/_posts/2020-09-22-wechaty-group-chat-robot.md b/jekyll/_posts/2020-09-22-wechaty-group-chat-robot.md index 0ed088a9da1..9e2ab96b1d9 100644 --- a/jekyll/_posts/2020-09-22-wechaty-group-chat-robot.md +++ b/jekyll/_posts/2020-09-22-wechaty-group-chat-robot.md @@ -1,7 +1,7 @@ --- title: "基于Wechaty打造智能聊天机器人(一)" author: evilbt -image: /assets/2020/wechaty-group-chat-robot/demo.jpg +image: /assets/2020/wechaty-group-chat-robot/demo.webp categories: project tags: - padplus diff --git a/jekyll/_posts/2020-09-26-chassist-bot-final.md b/jekyll/_posts/2020-09-26-chassist-bot-final.md index a7a6b9394e7..c35c36b5682 100644 --- a/jekyll/_posts/2020-09-26-chassist-bot-final.md +++ b/jekyll/_posts/2020-09-26-chassist-bot-final.md @@ -2,7 +2,7 @@ title: "暑期2020 [基于python-wechaty的群聊助手机器人] 结项成果展示" author: kxz18 categories: project -image: /assets/2020/chassist-final/logo.png +image: /assets/2020/chassist-final/logo.webp tags: - python - summer-of-wechaty @@ -57,7 +57,7 @@ tags: 目前三阶段的任务已经完成,需求的功能已经实现,相应的单元测试也已经实现,并且配置了 github 的 CI 流程,用于代码提交的检测。同时为项目的 github 项目提供了 readme 进行使用说明,也设计了项目 Logo 和项目名称,项目名称为CHAssisT,寓意为 chat + assistant,即聊天助手。Logo 设计如下图: -logo +logo 整体的机器人插件由四个独立的插件整合而成,如果想使用某个独立的插件,也可以单独使用。具体的使用方法可以参考项目 github 中的 readme: @@ -87,7 +87,7 @@ tags: 之后是进行软件架构,因为需求比较多,显然如果直接动手写的话可能会导致无从下手、重复代码多、可维护性差、拓展性差等问题,所以在进行实际的代码书写之前先根据功能进行了模块的划分,用 uml 图的方式进行了结构的确立。这样的方式可以把庞大的需求分解成一个个子任务,同时可以将普适的结构抽象成接口,方便实现的同时也可以享有较规整的代码结构带来的益处。这一步需要花费的精力通常会比实际写代码花费的精力还多,因为好的架构可以事半功倍,反之亦然。当然,在动工前想出的架构一定不会是完美的,在动工后可能会(最后也的确是)出现各种各样的问题,此时也需要自行或咨询导师进行架构的调整。 -![uml](/assets/2020/chassist-final/uml.png) +![uml](/assets/2020/chassist-final/uml.webp) 最后也就是代码实现,在实际实现的过程中时常会遇到一些第三方库使用的问题。由于“不懂就问”的方式其实效率比较低下,因此在导师的建议下,在遇到问题时如果是 wechaty 框架的问题就先自行翻阅相关代码,直接阅读代码通常能解决大部分因为不知道如何使用接口或者不知道函数作用而引起的问题;如果是其他第三方库的问题则可以通过 github issue、documentary、google 等方式尝试自行解决。如果自行解决无果则将问题记录下来,当无法解决的问题达到一定数量时再与导师进行会议沟通。这样的问题解决方式确实比较高效,无论对自己还是对导师而言节省了大量时间。 diff --git a/jekyll/_posts/2020-09-26-wechaty-words-per-day-plugin-final.md b/jekyll/_posts/2020-09-26-wechaty-words-per-day-plugin-final.md index 31dda9d0e57..bd2a1e6c7a2 100644 --- a/jekyll/_posts/2020-09-26-wechaty-words-per-day-plugin-final.md +++ b/jekyll/_posts/2020-09-26-wechaty-words-per-day-plugin-final.md @@ -7,7 +7,7 @@ tags: - summer-of-wechaty - summer-2020 - entertainment -image: /assets/2020/wechaty-words-per-day-plugin-final/logo.png +image: /assets/2020/wechaty-words-per-day-plugin-final/logo.webp --- - 项目名称:编写一个“每日一句”插件 diff --git a/jekyll/_posts/2020-09-27-go-wechaty-gh-actions-optimization-final-poc.md b/jekyll/_posts/2020-09-27-go-wechaty-gh-actions-optimization-final-poc.md index 39be3bb68bb..c0e91615c20 100644 --- a/jekyll/_posts/2020-09-27-go-wechaty-gh-actions-optimization-final-poc.md +++ b/jekyll/_posts/2020-09-27-go-wechaty-gh-actions-optimization-final-poc.md @@ -7,7 +7,7 @@ tags: - summer-2020 - go - devops -image: /assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.png +image: /assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-09-27-go-wechaty-plugin.md b/jekyll/_posts/2020-09-27-go-wechaty-plugin.md index 9cf319a2af8..c6b3391c954 100644 --- a/jekyll/_posts/2020-09-27-go-wechaty-plugin.md +++ b/jekyll/_posts/2020-09-27-go-wechaty-plugin.md @@ -8,7 +8,7 @@ tags: - summer-2020 - go - ecosystem -image: /assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.png +image: /assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.webp --- “开源软件供应链点亮计划-暑期2020”(以下简称 暑期2020)是由中科院软件所与 openEuler 社区共同举办的一项面向高校学生的暑期活动。 diff --git a/jekyll/_posts/2020-09-27-python-wechaty-meme-bot-final.md b/jekyll/_posts/2020-09-27-python-wechaty-meme-bot-final.md index b1f3ddc6c54..329797f4bfe 100644 --- a/jekyll/_posts/2020-09-27-python-wechaty-meme-bot-final.md +++ b/jekyll/_posts/2020-09-27-python-wechaty-meme-bot-final.md @@ -1,7 +1,7 @@ --- title: "基于Python-wechaty建立一个斗图机器人 POC 结项博客" author: godkillerxiao -image: /assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png +image: /assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.webp categories: project tags: - python @@ -30,7 +30,7 @@ tags: 1. 提取用户所发送表情包的内容; - 2. 将提取内容送入GPT2对话模型,并根据对话系统输出判断下一步回应:利用互相关Loss在候选回答中按互相关Loss升序排序选出最符合语义的回答,如果回答能匹配数据库中已有表情则回复对应表情,否则直接使用提取内容匹配数据库内容;具体技术方案泳道图见下:![flow-chart](/assets/2020/meme-bot/09-27-flow-chart.png) + 2. 将提取内容送入GPT2对话模型,并根据对话系统输出判断下一步回应:利用互相关Loss在候选回答中按互相关Loss升序排序选出最符合语义的回答,如果回答能匹配数据库中已有表情则回复对应表情,否则直接使用提取内容匹配数据库内容;具体技术方案泳道图见下:![flow-chart](/assets/2020/meme-bot/09-27-flow-chart.webp) 更多细节可参见[项目README](https://github.com/MrZilinXiao/python-wechaty-meme-bot/blob/master/README.md). @@ -59,8 +59,8 @@ tags: 具有代表性的对话参见: - ![wechaty-meme-bot-0002](/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png) - ![wechaty-meme-bot-0001](/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.png) + ![wechaty-meme-bot-0002](/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.webp) + ![wechaty-meme-bot-0001](/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.webp) - 遇到的问题及解决方案: diff --git a/jekyll/_posts/2020-09-28-puppet-work-final.md b/jekyll/_posts/2020-09-28-puppet-work-final.md index 4d6c551dfae..8ba4909ee0e 100644 --- a/jekyll/_posts/2020-09-28-puppet-work-final.md +++ b/jekyll/_posts/2020-09-28-puppet-work-final.md @@ -2,7 +2,7 @@ title: "暑期2020 [基于开放 API 封装 Wechaty 接口下的企业微信聊天机器人] 终结成果展示" author: sapio-s categories: project -image: /assets/2020/work-puppet/pic3.jpg +image: /assets/2020/work-puppet/pic3.webp tags: - summer-2020 - summer-of-wechaty diff --git a/jekyll/_posts/2020-09-30-wechaty-puppet-lark-final-blog.md b/jekyll/_posts/2020-09-30-wechaty-puppet-lark-final-blog.md index 0a359f893f3..f8dd600528f 100644 --- a/jekyll/_posts/2020-09-30-wechaty-puppet-lark-final-blog.md +++ b/jekyll/_posts/2020-09-30-wechaty-puppet-lark-final-blog.md @@ -2,7 +2,7 @@ title: "基于开放 API 封装 Wechaty 接口下的飞书聊天机器人:期末" author: roxanne718 categories: project -image: /assets/2020/lark-puppet/wechaty-lark-final.png +image: /assets/2020/lark-puppet/wechaty-lark-final.webp tags: - featured - summer-2020 diff --git a/jekyll/_posts/2020-10-12-puppet-padlocal-intro.md b/jekyll/_posts/2020-10-12-puppet-padlocal-intro.md index e5886818690..c1f2d59e664 100644 --- a/jekyll/_posts/2020-10-12-puppet-padlocal-intro.md +++ b/jekyll/_posts/2020-10-12-puppet-padlocal-intro.md @@ -1,7 +1,7 @@ --- title: "New Wechaty Puppet Service: PadLocal" author: padlocal -image: /assets/2020/padlocal/logo.png +image: /assets/2020/padlocal/logo.webp categories: announcement tags: - news @@ -53,7 +53,7 @@ tags: 整体架构的拓扑图就如下所示: -![拓扑图](/assets/2020/padlocal/topological-graph.png) +![拓扑图](/assets/2020/padlocal/topological-graph.webp) 再回过头来看,通过实现一个 puppet,我们自身也收获了非常多的东西。首先对 Wechaty 有了更加深入的了解,能更真切体会设计者的初衷,以及其中的权衡取舍。Wechaty 能够如此易用,都是精心设计后的结果。这是一个美妙的旅程;其次实现一个 Wechaty puppet 是一件十分有挑战的事情,能够完成这样一件事情当然成就感满满;再者可以从内部视角,比较深入和全面的了解微信端上的运行机制和设计思想。作为国民级的通信软件,微信的设计十分出色,各种各样机制、设计理念完全可以担当行业标准,无愧是这个领域绝对的王者。 diff --git a/jekyll/_posts/2020-10-13-wechaty-puppet-douyin-final-term.md b/jekyll/_posts/2020-10-13-wechaty-puppet-douyin-final-term.md index 55080c1bf64..e4d5e9b0994 100644 --- a/jekyll/_posts/2020-10-13-wechaty-puppet-douyin-final-term.md +++ b/jekyll/_posts/2020-10-13-wechaty-puppet-douyin-final-term.md @@ -2,7 +2,7 @@ title: "基于RPA封装的Wechaty接口下的抖音聊天机器人结项报告" author: wangjunwei categories: project -image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg +image: /assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp tags: - douyin - summer-of-wechaty diff --git a/jekyll/_posts/2020-10-13-wechaty-puppet-kuaishou-final-term.md b/jekyll/_posts/2020-10-13-wechaty-puppet-kuaishou-final-term.md index 44937a56428..bd6c348d3dd 100644 --- a/jekyll/_posts/2020-10-13-wechaty-puppet-kuaishou-final-term.md +++ b/jekyll/_posts/2020-10-13-wechaty-puppet-kuaishou-final-term.md @@ -2,7 +2,7 @@ title: "基于RPA封装的Wechaty接口下的快手聊天机器人结项报告" author: wangjunwei categories: project -image: /assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg +image: /assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.webp tags: - kuaishou - summer-of-wechaty diff --git a/jekyll/_posts/2020-10-15-wechaty-wangke-bot.md b/jekyll/_posts/2020-10-15-wechaty-wangke-bot.md index 0cbd3f77f4a..cb6bcc652c2 100644 --- a/jekyll/_posts/2020-10-15-wechaty-wangke-bot.md +++ b/jekyll/_posts/2020-10-15-wechaty-wangke-bot.md @@ -1,7 +1,7 @@ --- title: "基于wechaty开发网课答案查询机器人" author: hurely -image: /assets/2020/wanke-bot/banner.jpg +image: /assets/2020/wanke-bot/banner.webp categories: project tags: - puppet @@ -34,10 +34,10 @@ github:[https://github.com/hurely/wechaty-wangke](https://github.com/hurely/we ## 项目展示 - 自动回复网课答案 - ![回复网课答案](/assets/2020/wanke-bot/20201015105732.png) + ![回复网课答案](/assets/2020/wanke-bot/20201015105732.webp) - 接收小程序 - ![接收小程序](/assets/2020/wanke-bot/20201015112724.png) + ![接收小程序](/assets/2020/wanke-bot/20201015112724.webp) ## 核心代码 @@ -206,7 +206,7 @@ module.exports = { ## 网课答案接口用法 -![网课答案接口](/assets/2020/wanke-bot/20201015141509.png) +![网课答案接口](/assets/2020/wanke-bot/20201015141509.webp) 1.访问[http://api.51aidian.com/index.php?id=kunggggyoyoyo](http://api.51aidian.com/index.php?id=kunggggyoyoyo) diff --git a/jekyll/_posts/2020-10-22-wechat-fanli-robot.md b/jekyll/_posts/2020-10-22-wechat-fanli-robot.md index a17da2241d5..57ca2e2b616 100644 --- a/jekyll/_posts/2020-10-22-wechat-fanli-robot.md +++ b/jekyll/_posts/2020-10-22-wechat-fanli-robot.md @@ -1,7 +1,7 @@ --- title: "基于wechaty实现的微信机器人,根据淘口令生成高佣转链接,并创建新的淘口令。" author: henryfanyiye -image: /assets/2020/wechat-fanli-robot/weixin.png +image: /assets/2020/wechat-fanli-robot/weixin.webp categories: project tags: - node.js @@ -16,7 +16,7 @@ tags: - 自动同意好友申请 - 淘宝优惠券查询 -![weixin](/assets/2020/wechat-fanli-robot/weixin.png) +![weixin](/assets/2020/wechat-fanli-robot/weixin.webp) ## 实现微信机器人 @@ -27,17 +27,17 @@ tags: 实现功能之前需要有一些前期准备,[申请成为淘宝联盟推广者](https://mos.m.taobao.com/union/pub/site/help?spm=a219t.11817172.0.d8067a02d.55c56a15rIqGt3),新建媒体及推广位,这里遇到个坑,新增推广位的时候无响应,本人 Mac pro 使用 Chrome,不知道是不是只有我遇到这个问题,后来换成 Safari 就没有问题了。 -![meiti](/assets/2020/wechat-fanli-robot/meiti.png) +![meiti](/assets/2020/wechat-fanli-robot/meiti.webp) -![tuiguang](/assets/2020/wechat-fanli-robot/tuiguang.png) +![tuiguang](/assets/2020/wechat-fanli-robot/tuiguang.webp) 媒体创建成功后还需要申请 APPKEY,点击申请之后会跳转到淘宝开放平台,然后新建应用,新建的应用没有 API 权限,需要申请。 -![appkey](/assets/2020/wechat-fanli-robot/appkey.png) +![appkey](/assets/2020/wechat-fanli-robot/appkey.webp) -![yingyong](/assets/2020/wechat-fanli-robot/yingyong.png) +![yingyong](/assets/2020/wechat-fanli-robot/yingyong.webp) -![detail](/assets/2020/wechat-fanli-robot/detail.png) +![detail](/assets/2020/wechat-fanli-robot/detail.webp) ## 具体实现 diff --git a/jekyll/_posts/2020-10-22-wetchat-bot-chat.md b/jekyll/_posts/2020-10-22-wetchat-bot-chat.md index a6660d7f690..e2250fc1358 100644 --- a/jekyll/_posts/2020-10-22-wetchat-bot-chat.md +++ b/jekyll/_posts/2020-10-22-wetchat-bot-chat.md @@ -1,7 +1,7 @@ --- title: "基于Wechaty打造定时多功能机器人(一)" author: slx1997 -image: /assets/2020/wetchat-bot-chat/demo.jpg +image: /assets/2020/wetchat-bot-chat/demo.webp email: shiliux@foxmail.com site: https://github.com/slx1997 categories: project diff --git a/jekyll/_posts/2020-10-25-use-wechaty-to-predict-image.md b/jekyll/_posts/2020-10-25-use-wechaty-to-predict-image.md index 64d2f464d54..658025dd19f 100644 --- a/jekyll/_posts/2020-10-25-use-wechaty-to-predict-image.md +++ b/jekyll/_posts/2020-10-25-use-wechaty-to-predict-image.md @@ -1,7 +1,7 @@ --- title: "通过Wechaty使用深度学习模型预测图片类型" author: lyleshaw -image: /assets/2020/10-use-wechaty-to-predict-image/screenshot.jpg +image: /assets/2020/10-use-wechaty-to-predict-image/screenshot.webp categories: project tags: - python diff --git a/jekyll/_posts/2020-10-26-java-wechaty-group-message-sync.md b/jekyll/_posts/2020-10-26-java-wechaty-group-message-sync.md index 8e402a707a0..4e1dfba7a8b 100644 --- a/jekyll/_posts/2020-10-26-java-wechaty-group-message-sync.md +++ b/jekyll/_posts/2020-10-26-java-wechaty-group-message-sync.md @@ -1,7 +1,7 @@ --- title: Wechaty bot in Java to sync group messages author: charles-wu-chen -image: /assets/2020/java-group-message-sync-bot/wechaty-java.png +image: /assets/2020/java-group-message-sync-bot/wechaty-java.webp categories: project tags: - java diff --git a/jekyll/_posts/2020-10-26-python-wechaty-live-coding.md b/jekyll/_posts/2020-10-26-python-wechaty-live-coding.md index c835e0db859..77798b2e364 100644 --- a/jekyll/_posts/2020-10-26-python-wechaty-live-coding.md +++ b/jekyll/_posts/2020-10-26-python-wechaty-live-coding.md @@ -5,7 +5,7 @@ categories: tutorial tags: - news - python -image: /assets/2020/python-wechaty/live-coding.png +image: /assets/2020/python-wechaty/live-coding.webp --- Wechaty 作为一个对话SDK,拥有适配多平台的优秀能力,同时还具备多语言的特性,今天我们将以一个简单的视频来介绍如何开始使用[Python-Wechaty](https://github.com/wechaty/python-wechaty)编写一个最简单的聊天机器人。 diff --git a/jekyll/_posts/2020-10-27-wxbot-admin-platform.md b/jekyll/_posts/2020-10-27-wxbot-admin-platform.md index e9ec0f19260..14e03ffb99b 100644 --- a/jekyll/_posts/2020-10-27-wxbot-admin-platform.md +++ b/jekyll/_posts/2020-10-27-wxbot-admin-platform.md @@ -10,7 +10,7 @@ tags: - nuxt - feature - utility -image: /assets/2020/wxbot-admin/screenshot.png +image: /assets/2020/wxbot-admin/screenshot.webp --- 微信机器人开源库调研,[GitHub](https://github.com/) 找到以下 3 个开源作品: @@ -133,7 +133,7 @@ Wechaty.instance() - 低智商对话 - 成语接龙,查天气,查酒店,歇后语... -![admin](/assets/2020/wxbot-admin/admin.png) +![admin](/assets/2020/wxbot-admin/admin.webp) ### 技术构成 diff --git a/jekyll/_posts/2020-10-30-daily-message-and-chatbot.md b/jekyll/_posts/2020-10-30-daily-message-and-chatbot.md index e3c4f74bf38..e52073a7241 100644 --- a/jekyll/_posts/2020-10-30-daily-message-and-chatbot.md +++ b/jekyll/_posts/2020-10-30-daily-message-and-chatbot.md @@ -358,10 +358,10 @@ function formatDate(date) { export { getDay, formatDate } ``` -![关键字触发消息](/assets/2020/daily-message-and-chatbot/keyword-push.png) -![无法回答推送名片](/assets/2020/daily-message-and-chatbot/push-contact.png) -![定时推送消息](/assets/2020/daily-message-and-chatbot/daily-message.png) -![智能聊天](/assets/2020/daily-message-and-chatbot/talk-to-bot.png) +![关键字触发消息](/assets/2020/daily-message-and-chatbot/keyword-push.webp) +![无法回答推送名片](/assets/2020/daily-message-and-chatbot/push-contact.webp) +![定时推送消息](/assets/2020/daily-message-and-chatbot/daily-message.webp) +![智能聊天](/assets/2020/daily-message-and-chatbot/talk-to-bot.webp) ## 后记 diff --git a/jekyll/_posts/2020-11-01-wechaty-puppet-oa-released.md b/jekyll/_posts/2020-11-01-wechaty-puppet-oa-released.md index 9c1cfef04f8..7139638eef5 100644 --- a/jekyll/_posts/2020-11-01-wechaty-puppet-oa-released.md +++ b/jekyll/_posts/2020-11-01-wechaty-puppet-oa-released.md @@ -6,7 +6,7 @@ tags: - news - puppet-provider - official-account -image: /assets/2020/official-account/wechaty-puppet-official-account.png +image: /assets/2020/official-account/wechaty-puppet-official-account.webp --- 定制化开发微信公众号是一个非常繁琐的过程,需要阅读大量的文档,特别是基于微信公众号开发一个具有自定义回复功能的机器人,而wechaty正是擅长于解决此类问题,于是就有了此puppet。 diff --git a/jekyll/_posts/2020-11-03-lets-water-bot.md b/jekyll/_posts/2020-11-03-lets-water-bot.md index 0ef9cf34110..88151c9716a 100644 --- a/jekyll/_posts/2020-11-03-lets-water-bot.md +++ b/jekyll/_posts/2020-11-03-lets-water-bot.md @@ -5,7 +5,7 @@ categories: project tags: - water - productivity -image: /assets/2020/11-lets-water/letswater.png +image: /assets/2020/11-lets-water/letswater.webp --- ## let's water wechaty-bot<水群机器人> diff --git a/jekyll/_posts/2020-11-06-chatie-status-page-published.md b/jekyll/_posts/2020-11-06-chatie-status-page-published.md index 1e62b6d6697..49de0e0c0cf 100644 --- a/jekyll/_posts/2020-11-06-chatie-status-page-published.md +++ b/jekyll/_posts/2020-11-06-chatie-status-page-published.md @@ -5,9 +5,9 @@ categories: announcement tags: - news - chatie -image: /assets/2020/11-chatie-status-page/hostie-concurrency.png +image: /assets/2020/11-chatie-status-page/hostie-concurrency.webp --- Today, we have published a cloud service status page at , please feel free to have a look at it. It's currently under construction and we will publish our service status over there in the future. Thanks for your attention, have a nice day! -[![Chatie status page](/assets/2020/11-chatie-status-page/chatie-status.png)](https://chatie.statuspage.io) +[![Chatie status page](/assets/2020/11-chatie-status-page/chatie-status.webp)](https://chatie.statuspage.io) diff --git a/jekyll/_posts/2020-11-06-wechaty-puppet-oa-released-en.md b/jekyll/_posts/2020-11-06-wechaty-puppet-oa-released-en.md index 7b00f1887f9..590546a0528 100644 --- a/jekyll/_posts/2020-11-06-wechaty-puppet-oa-released-en.md +++ b/jekyll/_posts/2020-11-06-wechaty-puppet-oa-released-en.md @@ -6,7 +6,7 @@ tags: - news - puppet-provider - official-account -image: /assets/2020/official-account/wechaty-puppet-official-account.png +image: /assets/2020/official-account/wechaty-puppet-official-account.webp --- Developing a customized WeChat official account is a complex process, which requires reading a lot of documents. Especially, developing a robot with a custom reply function based on WeChat official account, and wechaty is good at solving such problems, so we have this puppet. diff --git a/jekyll/_posts/2020-11-14-summer-2020-summit-talks.md b/jekyll/_posts/2020-11-14-summer-2020-summit-talks.md index 9e9700c4511..9ee6fe0daf0 100644 --- a/jekyll/_posts/2020-11-14-summer-2020-summit-talks.md +++ b/jekyll/_posts/2020-11-14-summer-2020-summit-talks.md @@ -32,6 +32,6 @@ Wechaty 作者 Huan 在开源文化分会场做报告:Wechaty 开源之路 ## 现场花絮:Wechaty 社区的好朋友们 -![Wechaty Friends](/assets/2020/11-summer-2020-summit-talks/six.jpg) +![Wechaty Friends](/assets/2020/11-summer-2020-summit-talks/six.webp) -![Wechaty Friends](/assets/2020/11-summer-2020-summit-talks/four.jpg) +![Wechaty Friends](/assets/2020/11-summer-2020-summit-talks/four.webp) diff --git a/jekyll/_posts/2020-11-14-summer-2020-wechaty.md b/jekyll/_posts/2020-11-14-summer-2020-wechaty.md index 7cf7fec9084..0c38cd4fd2b 100644 --- a/jekyll/_posts/2020-11-14-summer-2020-wechaty.md +++ b/jekyll/_posts/2020-11-14-summer-2020-wechaty.md @@ -7,7 +7,7 @@ tags: - summer-of-wechaty - open-source - news -image: /assets/2020/11-summer-2020-wechaty/summer-2020.png +image: /assets/2020/11-summer-2020-wechaty/summer-2020.webp --- “暑期2020”是由中科院软件所与 openEuler 社区共同举办、中科院软件研究所南京软件技术研究院承办的一项面向高校学生的暑期活动,旨在鼓励高校在校学生积极参与开源软件的开发维护,促进国内优秀开源软件社区的蓬勃发展。 @@ -18,11 +18,11 @@ image: /assets/2020/11-summer-2020-wechaty/summer-2020.png 在本次活动中,Wechaty社区基于Puppet、Plugin等不同方向,为暑期2020[定制了开发任务](https://github.com/wechaty/summer-of-code/issues/3),并安排资深导师与申请者沟通方案,[指导学生按计划完成开发](https://github.com/wechaty/summer-of-code/issues/17)。 -![Wechaty Summer 2020](/assets/2020/11-summer-2020-wechaty/wechaty-logo.png) +![Wechaty Summer 2020](/assets/2020/11-summer-2020-wechaty/wechaty-logo.webp) Wechaty是2016年基于Apache-2.0许可证发布的开源对话式交互人机界面SDK,具备极简开发、多语言、丰富组件等关键能力,并支持微信、Whatsapp、Gitter、飞书、快手等各大即时通讯工具对话平台,已经广泛应用在教育、零售、社区管理等领域,开发者来自腾讯、百度、阿里、Google、微软等多家公司,在 GitHub 上被近万名开发者收藏(star)。 -![Wechaty Summer 2020](/assets/2020/11-summer-2020-wechaty/student-project-list.png) +![Wechaty Summer 2020](/assets/2020/11-summer-2020-wechaty/student-project-list.webp) 经过3个月的努力,最终151位同学通过了结项审核,同学们的结项报告及日常研发工作得到了社区及组委会的一致认可。从项目角度(项目完成质量、代码的可读性、文档的完整度使得项目具有可延续性)、社区角度(学生对社区的贡献度、完成项目对社区的重要性等)、学生角度(学生参与活动的进步程度和快速学习能力)、开源角度(学生展现出未来持续贡献开源的潜力和意愿)等多方面综合评审后,得出了[暑期2020的最终奖项](https://isrc.iscas.ac.cn/summer2020/#/announcement)! diff --git a/jekyll/_posts/2020-12-07-puppet-wxwork-beta-release.md b/jekyll/_posts/2020-12-07-puppet-wxwork-beta-release.md index b53496355d0..010598fe21d 100644 --- a/jekyll/_posts/2020-12-07-puppet-wxwork-beta-release.md +++ b/jekyll/_posts/2020-12-07-puppet-wxwork-beta-release.md @@ -7,7 +7,7 @@ tags: - puppet-service - puppet-provider - wxwork -image: /assets/2020/12-07-wxwork/wecom.png +image: /assets/2020/12-07-wxwork/wecom.webp --- 恭喜 WxWork 作为 Wechaty 社区新的 Puppet Service 正式进入 Beta 版!经过历时一个月的测试,WxWork 现在已经通过社区验证,可以正式售卖给社区的小伙伴了! diff --git a/jekyll/_posts/2020-12-08-python-wechaty-open-source-journey.md b/jekyll/_posts/2020-12-08-python-wechaty-open-source-journey.md index 97b45492934..e40f7579968 100644 --- a/jekyll/_posts/2020-12-08-python-wechaty-open-source-journey.md +++ b/jekyll/_posts/2020-12-08-python-wechaty-open-source-journey.md @@ -5,7 +5,7 @@ categories: story tags: - news - python -image: /assets/2020/python-wechaty/wechaty-nanjing-picture.jpg +image: /assets/2020/python-wechaty/wechaty-nanjing-picture.webp --- 开源应该是每一个优秀程序员的必经之路 diff --git a/jekyll/_posts/2020-12-08-wechaty-bot-hostie.md b/jekyll/_posts/2020-12-08-wechaty-bot-hostie.md index 3678f6fa3a5..8aa2f0c5904 100644 --- a/jekyll/_posts/2020-12-08-wechaty-bot-hostie.md +++ b/jekyll/_posts/2020-12-08-wechaty-bot-hostie.md @@ -6,7 +6,7 @@ tags: - nodejs - donut - social -image: /assets/2020/wechaty-bot-hostie/img-func.jpeg +image: /assets/2020/wechaty-bot-hostie/img-func.webp --- GitHub上搜了一圈,看到了挺多微信bot的方案,后面决定使用wechaty,因为感觉设计得很优雅,6行代码就可以轻松构建一个wxbot。 diff --git a/jekyll/_posts/2020-12-10-bridge-between-backend-and-wechat.md b/jekyll/_posts/2020-12-10-bridge-between-backend-and-wechat.md index 4b133ed2896..8ccdba90402 100644 --- a/jekyll/_posts/2020-12-10-bridge-between-backend-and-wechat.md +++ b/jekyll/_posts/2020-12-10-bridge-between-backend-and-wechat.md @@ -1,7 +1,7 @@ --- title: "沟通后端系统和微信消息的桥梁" author: johnwang71 -image: /assets/2020/12-johnwang71/avartar.png +image: /assets/2020/12-johnwang71/avartar.webp categories: project tags: - nodejs @@ -17,7 +17,7 @@ tags: 本来最熟悉Java,但wechaty是js的,正好也用nodejs在做其他工作,就从它开始吧。考虑到需要与其他系统集成,将wechaty封装成微信通讯网关,设计使用restful的双向调用,解耦网关和后端系统。虽然最近特别事杂,紧赶慢赶也终于在15天token有效期完成了最小化产品的提交,可以满足包括好友、微信群操作和文字类消息互动的全部商务需求,仅仅100行代码出头。 运行也很简单,参考README即可: -![安装](/assets/2020/12-johnwang71/wechaty-integration.png) +![安装](/assets/2020/12-johnwang71/wechaty-integration.webp) 感谢wechaty提供了很好的思路,感谢wechaty-puppet提供了良好的设计,让我能够站在巨人肩膀之上快速完成工作,感谢所有帮助过和感兴趣的小伙伴! diff --git a/jekyll/_posts/2020-12-10-wechaty-robot-lite.md b/jekyll/_posts/2020-12-10-wechaty-robot-lite.md index 06fa70ccc10..6601d350bc1 100644 --- a/jekyll/_posts/2020-12-10-wechaty-robot-lite.md +++ b/jekyll/_posts/2020-12-10-wechaty-robot-lite.md @@ -4,7 +4,7 @@ author: itingle categories: tutorial tags: - assistant -image: /assets/2020/12-wechaty-robot-lite/example-1.png +image: /assets/2020/12-wechaty-robot-lite/example-1.webp --- 最近在dy上看到有相关wx机器人(SCRM)在进行相关推广,而之前学习的时候,用基于python开发的itchat玩过一段时间,后来,某一天突然发现微信登不上了,官方的微信网页版也不能登陆了(至于是啥原因,咱也不知道,也不敢去研究)。 @@ -506,11 +506,11 @@ import QrcodeTerminal from 'qrcode-terminal'; 这边有一个坑,在webstorm上打码的时候,在终端输出的二维码是这样的, -![alt text](/assets/2020/12-wechaty-robot-lite/qrcode-login-error.png "qrcode-login-error") +![alt text](/assets/2020/12-wechaty-robot-lite/qrcode-login-error.webp "qrcode-login-error") 这时候我们需要把这些字符串复制到码农神器notepad++里,如下图 -![alt text](/assets/2020/12-wechaty-robot-lite/qrcode-login.png "qrcode-login") +![alt text](/assets/2020/12-wechaty-robot-lite/qrcode-login.webp "qrcode-login") 然后进行扫码登录; @@ -908,7 +908,7 @@ function requestRobot(info) { 这里为了体验下机器人的代入感,做了个前端demo(很简陋,这里别吐槽。。。就是为了和socket结合一起实时看效果;忽略右上角的红x...调试时中断服务的原因...) -![alt text](/assets/2020/12-wechaty-robot-lite/web-example.png "web-example") +![alt text](/assets/2020/12-wechaty-robot-lite/web-example.webp "web-example") 这里简介下**nodejs express socketio**的一些使用 @@ -920,7 +920,7 @@ function requestRobot(info) { 会直接调用接口/socket.io目录下的js文件,实际调用到modules目录下的文件 -![alt text](/assets/2020/12-wechaty-robot-lite/code-structure.png "code-structure") +![alt text](/assets/2020/12-wechaty-robot-lite/code-structure.webp "code-structure") 前端建立socket连接 @@ -1040,10 +1040,10 @@ io.sockets.on('connection', function (socket) {}); ### 效果截图 -![alt text](/assets/2020/12-wechaty-robot-lite/example-1.png "example-1") +![alt text](/assets/2020/12-wechaty-robot-lite/example-1.webp "example-1") -![alt text](/assets/2020/12-wechaty-robot-lite/example-2.png "example-2") +![alt text](/assets/2020/12-wechaty-robot-lite/example-2.webp "example-2") -![alt text](/assets/2020/12-wechaty-robot-lite/example-3.png "example-3") +![alt text](/assets/2020/12-wechaty-robot-lite/example-3.webp "example-3") 待完结 diff --git a/jekyll/_posts/2020-12-23-open-source-pioneer-huan.md b/jekyll/_posts/2020-12-23-open-source-pioneer-huan.md index de6731a27fe..93f9f88b799 100644 --- a/jekyll/_posts/2020-12-23-open-source-pioneer-huan.md +++ b/jekyll/_posts/2020-12-23-open-source-pioneer-huan.md @@ -7,14 +7,14 @@ tags: - honor - open-source - news -image: /assets/2020/12-open-source-pioneer-huan/pioneer.png +image: /assets/2020/12-open-source-pioneer-huan/pioneer.webp --- > 2020 年 12 月 23 日,由 SegmentFault 思否发起的第二届“中国技术先锋”年度评选结果揭晓,Wechaty 作者,BOT5 Club Chair,腾讯 Chatbot TVP,PreAngel Partner 李卓桓入选 2020 “中国开源先锋33人”年度榜单。 12 月 23 日,「SegmentFault 思否」联合「开源社」重磅推出《2020 中国开源先锋 33 人》榜单。Wechaty 作者李卓桓入选“心”尖上的开源人物。 -![心尖上的开源人物:李卓桓 Huan](/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.jpg) +![心尖上的开源人物:李卓桓 Huan](/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.webp) 近年来,开源一直是技术圈非常火热的话题。SegmentFault 思否基于对开源领域的重点观察与实践,联合长期耕耘与推广开源文化的开源社展开了第二届“中国技术先锋”年度评选。本次评选历时 1 个月,共收到近百份自主申报表,结合部分评委提名人选,依托各科技企业和个人在国内技术领域的行为、影响力指标,最终评选产生这份《2020 中国开源先锋 33 人》榜单。本次与李卓桓同登榜单的还有开放原子开源基金会 TOC 主席堵俊平、PingCAP 联合创始人兼 CTO 黄东旭、VS Code 中文社区创始人韩骏等。 diff --git a/jekyll/_posts/2020-12-23-wxwork-and-donut.md b/jekyll/_posts/2020-12-23-wxwork-and-donut.md index f430039753b..4a67d5f0f80 100644 --- a/jekyll/_posts/2020-12-23-wxwork-and-donut.md +++ b/jekyll/_posts/2020-12-23-wxwork-and-donut.md @@ -5,7 +5,7 @@ categories: project tags: - nodejs - productivity -image: /assets/2020/12-07-wxwork/wecom.png +image: /assets/2020/12-07-wxwork/wecom.webp --- GitHub 上搜了一圈,看到了挺多微信 bot 的方案,后面决定使用 wechaty,因为感觉设计得很优雅,6 行代码就可以轻松构建一个 wxbot。 diff --git a/jekyll/_posts/2020-12-25-python-wechaty-room-inviter-plugin.md b/jekyll/_posts/2020-12-25-python-wechaty-room-inviter-plugin.md index 45b4fedb93e..a6a28773d55 100644 --- a/jekyll/_posts/2020-12-25-python-wechaty-room-inviter-plugin.md +++ b/jekyll/_posts/2020-12-25-python-wechaty-room-inviter-plugin.md @@ -5,7 +5,7 @@ categories: tutorial tags: - python - plugin -image: /assets/2020/python-wechaty/python-wechaty-logo.png +image: /assets/2020/python-wechaty/python-wechaty-logo.webp --- 经不可靠统计,大部分聊天机器人的初学者都是以:自动回复和关键字入群这两个基础功能上手,然后才会逐步开发更多更复杂的功能,在此我将介绍如何使用python-wechaty快速实现这两个功能。 diff --git a/jekyll/_posts/2020-12-28-auto-push-news.md b/jekyll/_posts/2020-12-28-auto-push-news.md index 218c1ff910e..47c148da1ed 100644 --- a/jekyll/_posts/2020-12-28-auto-push-news.md +++ b/jekyll/_posts/2020-12-28-auto-push-news.md @@ -4,7 +4,7 @@ author: harrisonqi categories: tutorial tags: - java -image: /assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.jpg +image: /assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.webp --- In daily life, most people always want to know latest news. This tutorial will record how to automatically get the current latest news. @@ -28,11 +28,11 @@ IDE: IntelliJ IDEA Visit [Spring initializr](https://start.spring.io/) and generate: -![Spring initializr](/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.png) +![Spring initializr](/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.webp) Download & unzip, open with IDEA: -![open with IDEA](/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.png) +![open with IDEA](/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.webp) Add dependency(newest version) and update: @@ -44,7 +44,7 @@ Add dependency(newest version) and update: ``` -![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.png) +![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.webp) ### Add wechaty scan plugin @@ -147,7 +147,7 @@ class WechatyPlugins { Screenshot: -![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.png) +![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.webp) ### Autowire wechaty @@ -180,7 +180,7 @@ fun main(args: Array) { } ``` -![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.png) +![dependency](/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.webp) Then run the application, you'll see log of wechaty. @@ -191,17 +191,17 @@ Then run the application, you'll see log of wechaty. First we need enable schedule: Add a `@EnableScheduling` to application: -![EnableScheduling](/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.png) +![EnableScheduling](/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.webp) We need schedule of spring boot, so we create `MySchedule.kt`: -![MySchedule](/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.png) +![MySchedule](/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.webp) #### Inject wechaty We wanna use functions of wechaty. Because the injection has been completed above, we only need to directly introduce here: -![Inject wechaty](/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.png) +![Inject wechaty](/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.webp) #### Create a schedule task @@ -226,7 +226,7 @@ class MySchedule(private val wechaty: Wechaty) { Run application, you can see time print on your console: -![Inject wechaty](/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.png) +![Inject wechaty](/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.webp) Next, we only need to focus on how to push and content. @@ -243,7 +243,7 @@ Because we need `RestTemplate` to send http request, so we add a dependency into ``` -![RestTemplate](/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.png) +![RestTemplate](/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.webp) Don't forget to reimport. diff --git a/jekyll/_posts/2020-12-28-automatic-rebate-robot.md b/jekyll/_posts/2020-12-28-automatic-rebate-robot.md index 68e828bb67a..0107ed739b0 100644 --- a/jekyll/_posts/2020-12-28-automatic-rebate-robot.md +++ b/jekyll/_posts/2020-12-28-automatic-rebate-robot.md @@ -4,7 +4,7 @@ author: jiangxiaotao1024 categories: project tags: - ecommerce -image: /assets/2020/rebate-robot/taokouling.png +image: /assets/2020/rebate-robot/taokouling.webp --- ## 实现的功能: @@ -30,11 +30,11 @@ image: /assets/2020/rebate-robot/taokouling.png 对收到的文本信息进行解析返回对应的信息,如果调用api无法识别商品id则不返回返利链接;如果识别到商品id,但没有优惠信息返回无优惠;如果有优惠信息返回返利链接; -![help](/assets/2020/rebate-robot/help.png) -![chaxun](/assets/2020/rebate-robot/chaxun.png) -![tixian](/assets/2020/rebate-robot/tixian.png) -![zhuanqian](/assets/2020/rebate-robot/zhuanqian.jpg) -![taokouling](/assets/2020/rebate-robot/taokouling.png) +![help](/assets/2020/rebate-robot/help.webp) +![chaxun](/assets/2020/rebate-robot/chaxun.webp) +![tixian](/assets/2020/rebate-robot/tixian.webp) +![zhuanqian](/assets/2020/rebate-robot/zhuanqian.webp) +![taokouling](/assets/2020/rebate-robot/taokouling.webp) ## 订单查询模块: diff --git a/jekyll/_posts/2020-12-30-wechaty-2020-dinner-666.md b/jekyll/_posts/2020-12-30-wechaty-2020-dinner-666.md index db2137ac033..a22136aa20e 100644 --- a/jekyll/_posts/2020-12-30-wechaty-2020-dinner-666.md +++ b/jekyll/_posts/2020-12-30-wechaty-2020-dinner-666.md @@ -7,7 +7,7 @@ tags: - 2020 - dinner - news -image: /assets/2020/12-wechaty-2020-dinner-666/splash.jpg +image: /assets/2020/12-wechaty-2020-dinner-666/splash.webp --- Time past fast, the year 2020 has gone. @@ -37,7 +37,7 @@ The following friends attended our dinner: 1. 孙翰南, Wechaty Developer, Founder & CEO of Fami 1. A Xiao, Wechaty Developer (online) -![Wechaty Developers Dinner](/assets/2020/12-wechaty-2020-dinner-666/group-photo.jpg) +![Wechaty Developers Dinner](/assets/2020/12-wechaty-2020-dinner-666/group-photo.webp) > Thanks [@windmemory](https://github.com/windmemory) supporting for the final cutting pro software, and here's a good 20 mins tutorial for getting started with it: [LEARN FINAL CUT PRO X IN 20 MINUTES // TUTORIAL FOR BEGINNERS](https://www.youtube.com/watch?v=ygBlgaT78mM) @@ -133,4 +133,4 @@ Our plan is to host a 5 Years Celebration in March 2021, please let us know what All the friends got beautiful Wechaty stickers! If you like them, please stay tuned and we will send out a form to fill your address and then we will send stickers to you! -![Wechaty Stickers](/assets/2020/12-wechaty-2020-dinner-666/stickers.jpg) +![Wechaty Stickers](/assets/2020/12-wechaty-2020-dinner-666/stickers.webp) diff --git a/jekyll/_posts/2020-12-31-dotnet-wechaty-getting-start.md b/jekyll/_posts/2020-12-31-dotnet-wechaty-getting-start.md index 63182dabceb..fc6979b6876 100644 --- a/jekyll/_posts/2020-12-31-dotnet-wechaty-getting-start.md +++ b/jekyll/_posts/2020-12-31-dotnet-wechaty-getting-start.md @@ -6,7 +6,7 @@ tags: - dotnet - csharp - getting-started -image: /assets/2020/12-dotnet-wechaty/dotnet-wechaty.png +image: /assets/2020/12-dotnet-wechaty/dotnet-wechaty.webp --- .NET Wechaty 是使用.Net Core对TS版本Wechaty的翻译。 @@ -23,13 +23,13 @@ image: /assets/2020/12-dotnet-wechaty/dotnet-wechaty.png 新建一个.Net Core 3.1 控制台程序 -![创建console控制台程序](/assets/2020/12-dotnet-wechaty/console-project.png) +![创建console控制台程序](/assets/2020/12-dotnet-wechaty/console-project.webp) ### 添加Nuget包 只需要引用Wechaty一个Nuget包即可,其他相关包会自动引入 -![添加Wechaty Nuget包](/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.png) +![添加Wechaty Nuget包](/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.webp) ### 6行代码运行一个Bot diff --git a/jekyll/_posts/2020-12-31-open-source-award-wechaty.md b/jekyll/_posts/2020-12-31-open-source-award-wechaty.md index 270fe2249a5..9bf963ea871 100644 --- a/jekyll/_posts/2020-12-31-open-source-award-wechaty.md +++ b/jekyll/_posts/2020-12-31-open-source-award-wechaty.md @@ -7,12 +7,12 @@ tags: - honor - open-source - news -image: /assets/2020/12-open-source-award-wechaty/oss-award-rui.jpg +image: /assets/2020/12-open-source-award-wechaty/oss-award-rui.webp --- ​​12月30日,Wechaty开源社区再度拿下重要荣誉,由中国开源云联盟举办的《第十届中国云计算标准和应用大会》上,Wechaty与阿里、小米、华为等巨头并列,入选中国优秀开源项目。 -![中国开源云联盟 - 2020优秀开源项目 - Wechaty](/assets/2020/12-open-source-award-wechaty/oss-honor.jpg) +![中国开源云联盟 - 2020优秀开源项目 - Wechaty](/assets/2020/12-open-source-award-wechaty/oss-honor.webp) 中国开源云联盟(COSCL)成立于2012年8月,是我国最顶级开源组织之一,现有我国180余家开源生态圈产、学、研、用成员单位,致力于联合国内开源产业界相关方,在中国共同推动开源生态系统搭建、技术社区建设、开源项目培育、开源团体标准研制、开源技术推广应用等工作。 diff --git a/jekyll/_posts/2020-12-31-summer-2020-student-developers.md b/jekyll/_posts/2020-12-31-summer-2020-student-developers.md index b05ecd48e73..0245420e896 100644 --- a/jekyll/_posts/2020-12-31-summer-2020-student-developers.md +++ b/jekyll/_posts/2020-12-31-summer-2020-student-developers.md @@ -7,14 +7,14 @@ tags: - summer-2020 - summer-of-wechaty - featured -image: /assets/2020/12-summer-2020-student-developers/award.png +image: /assets/2020/12-summer-2020-student-developers/award.webp --- 今夏, Wechaty 社区诞生了 9 位后浪贡献者:毕凯乔、王俊伟、谢昱清、范蕊、江姗姗、林昊翰、唐光彬、肖梓霖与孔祥哲。他们都还是正在就读本科与研究所的学生。 9 位后浪贡献者与 Wechaty 的故事要从今年中科院软件所和华为 openEuler 项目共同举办的“开源软件供应链点亮计划——暑期 2020” 说起。 -![summer 2020](/assets/2020/12-summer-2020-student-developers/summer-2020.png) +![summer 2020](/assets/2020/12-summer-2020-student-developers/summer-2020.webp) ## 故事的开始 diff --git a/jekyll/_posts/2021-01-04-summer-2020-summit-okr.md b/jekyll/_posts/2021-01-04-summer-2020-summit-okr.md index fab88d06047..8950d3db152 100644 --- a/jekyll/_posts/2021-01-04-summer-2020-summit-okr.md +++ b/jekyll/_posts/2021-01-04-summer-2020-summit-okr.md @@ -5,7 +5,7 @@ categories: announcement tags: - okr - news -image: /assets/2021/01-summer-2020-summit-okr/what-is-okr.png +image: /assets/2021/01-summer-2020-summit-okr/what-is-okr.webp --- In Nov 14, 2020, The [Open Source Promotion Plan - Summer 2020 Summit](https://isrc.iscas.ac.cn/summer2020/#/summitmeeting) was held in Nanjing (thanks ISCAS & openEuler Community for the organizing!). As an open-source organization we enjoyed this program and we have four people: @univerone, @wj-Mcat, @rickyyin98, and @huan attended the Summit. @@ -91,7 +91,7 @@ At last, `Key Results` must be **measurable**. The following OKR discussion is copy/pasted from [wechaty/summer-of-code - Wechaty Open Source Software Supply Chain 2020 Najing Summit OKR Review #26](https://github.com/wechaty/summer-of-code/issues/26) -![Wechaty Goals](/assets/2021/01-summer-2020-summit-okr/goal.png) +![Wechaty Goals](/assets/2021/01-summer-2020-summit-okr/goal.webp) In this open-source summit, we have the following **Ultimate Objectives** and **Key Results**: diff --git a/jekyll/_posts/2021-01-14-wechaty-puppet-service.md b/jekyll/_posts/2021-01-14-wechaty-puppet-service.md index 3ae1bb5dc73..b6f6697528e 100644 --- a/jekyll/_posts/2021-01-14-wechaty-puppet-service.md +++ b/jekyll/_posts/2021-01-14-wechaty-puppet-service.md @@ -6,7 +6,7 @@ tags: - puppet-service - puppet-provider - news -image: /assets/2021/01-wechaty-puppet-service/5-puppets.jpg +image: /assets/2021/01-wechaty-puppet-service/5-puppets.webp --- Wechaty is an SDK for chatbot makers. It uses [Robotic Progress Automation (RPA)](https://en.wikipedia.org/wiki/Robotic_process_automation) technology to help developers to be more productive for building [Conversational User Interface (CUI)](https://en.wikipedia.org/wiki/Conversational_user_interface), which we call it a [Chatbot](https://en.wikipedia.org/wiki/Chatbot). diff --git a/jekyll/_posts/2021-01-15-carpool-bot-with-wechaty-1.md b/jekyll/_posts/2021-01-15-carpool-bot-with-wechaty-1.md index 8ea8f5c833c..68894fe84d8 100644 --- a/jekyll/_posts/2021-01-15-carpool-bot-with-wechaty-1.md +++ b/jekyll/_posts/2021-01-15-carpool-bot-with-wechaty-1.md @@ -6,7 +6,7 @@ tags: - nodejs - code - travel -image: /assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg +image: /assets/2021/01-carpool-bot-with-wechaty-1/4.webp --- ## 产品构想 @@ -120,15 +120,15 @@ image: /assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg - 用户填写WechatId的界面。(因小程序不提供用户wechatId,需要用户手动填写) - ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg) + ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/2.webp) - 用户发布拼车与加入拼车的界面: - ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg) + ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/1.webp) - 用户进行「加入群聊」后,Bot将用户拉入群聊(bot视角): - ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg) + ![Pic-1](/assets/2021/01-carpool-bot-with-wechaty-1/3.webp) ### 项目相关 diff --git a/jekyll/_posts/2021-01-26-wechaty-charbot-lite.md b/jekyll/_posts/2021-01-26-wechaty-charbot-lite.md index 3c74abb072d..cde8ca16533 100644 --- a/jekyll/_posts/2021-01-26-wechaty-charbot-lite.md +++ b/jekyll/_posts/2021-01-26-wechaty-charbot-lite.md @@ -5,7 +5,7 @@ tags: - wechaty-charbot - productivity categories: project -image: /assets/2021/01-wechaty-charbot-lite/1.png +image: /assets/2021/01-wechaty-charbot-lite/1.webp --- 如今运维人员都在强调自动化,降低运维成本。尽管现在搭建一套运维自动化体系架构并不难,然后有些工作还是必须需要运维手动工作,比如上线动作(上线的过程自动化,但是操作点由谁来操作,比如jenkins上谁去点击构建),或者开发找dba执行sql等日常操作,这些暂时都必须人为手动操作。次数多了,难免会想这些怎么去实现自动化,无需人为干预!针对这些运维痛点,目前已实现qq机器人实现上述自动化操作。其背后的逻辑是,当@机器人后,机器人自动往运维平台接口post数据,在运维平台接口里解析指令并处理相关逻辑,最终返回给用户。 diff --git a/jekyll/_posts/2021-01-28-csharp-wechaty-for-padlocal-puppet-service.md b/jekyll/_posts/2021-01-28-csharp-wechaty-for-padlocal-puppet-service.md index 127336027e3..301dddbea77 100644 --- a/jekyll/_posts/2021-01-28-csharp-wechaty-for-padlocal-puppet-service.md +++ b/jekyll/_posts/2021-01-28-csharp-wechaty-for-padlocal-puppet-service.md @@ -6,7 +6,7 @@ tags: - csharp - puppet-service categories: tutorial -image: /assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.png +image: /assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.webp --- ## .NET Wechaty 如何使用 PadLocal Puppet Service diff --git a/jekyll/_posts/2021-02-03-python-wechaty-for-padlocal-puppet-service.md b/jekyll/_posts/2021-02-03-python-wechaty-for-padlocal-puppet-service.md index 0c8ff769e5a..aec8e410797 100644 --- a/jekyll/_posts/2021-02-03-python-wechaty-for-padlocal-puppet-service.md +++ b/jekyll/_posts/2021-02-03-python-wechaty-for-padlocal-puppet-service.md @@ -6,7 +6,7 @@ tags: - puppet-service - padlocal categories: tutorial -image: /assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.png +image: /assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.webp --- 本文描述Python语言下如何使用iPad协议的PadLocal Token。其他Wechaty多语言开发也能做参考。 diff --git a/jekyll/_posts/2021-02-04-matrix-with-wechaty.md b/jekyll/_posts/2021-02-04-matrix-with-wechaty.md index f65d0cd75ca..cf57def6567 100644 --- a/jekyll/_posts/2021-02-04-matrix-with-wechaty.md +++ b/jekyll/_posts/2021-02-04-matrix-with-wechaty.md @@ -5,7 +5,7 @@ categories: tutorial tags: - matrix - featured -image: /assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.png +image: /assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.webp --- [Matrix chat](https://matrix.org/)是一个很不错的聊天软件,它支持了多种聊天协议和聊天机器人。并且支持通过[matrix-appservice-wechaty](https://github.com/wechaty/matrix-appservice-wechaty)来支持微信聊天。 diff --git a/jekyll/_posts/2021-02-09-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group.md b/jekyll/_posts/2021-02-09-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group.md index 29646875f88..aa605cbae06 100644 --- a/jekyll/_posts/2021-02-09-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group.md +++ b/jekyll/_posts/2021-02-09-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group.md @@ -9,7 +9,7 @@ tags: - case-study - ecommerce - productivity -image: /assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.png +image: /assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.webp --- 一直以来在私域流量运营领域都有这样一个需求:自动通过好友,并在新好友支付一定的费用之后,依据新好友所发送的关键字,将其拉到对应的微信群。关键字与微信群对应,并且微信群满员以后可以自动扩建。 diff --git a/jekyll/_posts/2021-02-14-ziki-wechaty-helper.md b/jekyll/_posts/2021-02-14-ziki-wechaty-helper.md index ec19b7e9e80..a48a1ee5c6d 100644 --- a/jekyll/_posts/2021-02-14-ziki-wechaty-helper.md +++ b/jekyll/_posts/2021-02-14-ziki-wechaty-helper.md @@ -5,14 +5,14 @@ categories: project tags: - wiki - productivity -image: /assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png +image: /assets/2021/02-ziki-wechaty-helper/ziki_bot_input.webp avatar: /assets/contributors/wade0564/avatar.png email: 991445760@qq.com --- 搭建个人知识库可以帮助将繁多和碎片化的知识进行分类收集,形成有条理的结构化知识体系,同时提供知识点的快速检索。 -![ziki-wiki-tree-page](/assets/2021/02-ziki-wechaty-helper/ziki_glance.png) +![ziki-wiki-tree-page](/assets/2021/02-ziki-wechaty-helper/ziki_glance.webp) *我的个人知识库(Ziki)某一页面* 我的知识库文章大部分来源于订阅的rss文章,经阅读后会收藏部分文章,再由后台将这些文章同步到知识库,并执行与知识树的匹配。但移动端其他app例如知乎、虎扑等的帖子,却还无法自动入库,还依赖去知识库页面内手动输入url的方式添加,操作路径太长。考虑到大多app都有一键分享到微信的功能,搭建一个微信机器人来解决最适合不过了。 @@ -22,10 +22,10 @@ email: 991445760@qq.com - 将感兴趣的文章分享给微信机器人,机器人接收后传给知识库接口处理,接口会将该文章入库和挂载到相关的知识点 - 发送关键字给微信机器人,机器人接收后查询知识库接口,返回与该关键字有关的文章列表 -![article received](/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png) +![article received](/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.webp) *分享知乎文章给机器人,实现文章的自动入库* -![article query](/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.png) +![article query](/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.webp) *向机器人查询知识点文章列表* ## 代码 diff --git a/jekyll/_posts/2021-02-15-publishment-of-wechaty-whatsapp-puppet.md b/jekyll/_posts/2021-02-15-publishment-of-wechaty-whatsapp-puppet.md index 4a1952b3ac4..4ab4d0cabd6 100644 --- a/jekyll/_posts/2021-02-15-publishment-of-wechaty-whatsapp-puppet.md +++ b/jekyll/_posts/2021-02-15-publishment-of-wechaty-whatsapp-puppet.md @@ -7,7 +7,7 @@ tags: - release - puppet-provider - whatsapp -image: /assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.png +image: /assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.webp --- With the introduction of wechaty puppet and the growth of the wechaty ecosystem and community, we're happy to introduce `wechaty-puppet-whatsapp` which connects Wechaty API, the conversational RPA SDK for chatbot makers, and WhatsApp, a free, multi-platform messaging app. @@ -54,7 +54,7 @@ bot.start() After scanning a WhatsApp QR code and logging in, you can view the received messages in the terminal, feel free to implement your own function over the messages based on your need. -![basic demo](/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.png) +![basic demo](/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.webp) ## Next Steps diff --git a/jekyll/_posts/2021-02-17-summer-wechaty-nanjing-summit-journey.md b/jekyll/_posts/2021-02-17-summer-wechaty-nanjing-summit-journey.md index 71078fb9fea..14bae9874f3 100644 --- a/jekyll/_posts/2021-02-17-summer-wechaty-nanjing-summit-journey.md +++ b/jekyll/_posts/2021-02-17-summer-wechaty-nanjing-summit-journey.md @@ -7,7 +7,7 @@ tags: - summer-of-wechaty - open-source - talk -image: /assets/2021/02-summer-wechaty-nanjing-summit-journey/front.jpg +image: /assets/2021/02-summer-wechaty-nanjing-summit-journey/front.webp --- > 写在前面:本来此篇博文应该在去年完成,由于其它事情耽搁一直拖延到现在。 diff --git a/jekyll/_posts/2021-02-20-google-cloud-shell-tutorials.md b/jekyll/_posts/2021-02-20-google-cloud-shell-tutorials.md index bceba224c09..e9f180bebed 100644 --- a/jekyll/_posts/2021-02-20-google-cloud-shell-tutorials.md +++ b/jekyll/_posts/2021-02-20-google-cloud-shell-tutorials.md @@ -7,7 +7,7 @@ tags: - getting-started - news - featured -image: /assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.jpg +image: /assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.webp --- Today, We have created a Google Cloud Shell Tutorial for easy getting started with Wechaty! @@ -37,4 +37,4 @@ Please follow it to enjoy playing with our Wechaty ding-dong BOT! [shell_img]: https://gstatic.com/cloudssh/images/open-btn.svg [shell_link]: https://ssh.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fwechaty%2Fwechaty-getting-started&cloudshell_open_in_editor=examples/ding-dong-bot.ts&cloudshell_workspace=.&cloudshell_tutorial=examples/tutorials/google-cloud-shell-tutorial.md -[screenshot_img]: /assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.png +[screenshot_img]: /assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.webp diff --git a/jekyll/_posts/2021-02-28-wechat-chatroom-assistant.md b/jekyll/_posts/2021-02-28-wechat-chatroom-assistant.md index f86c41ac892..ee4f7b38959 100644 --- a/jekyll/_posts/2021-02-28-wechat-chatroom-assistant.md +++ b/jekyll/_posts/2021-02-28-wechat-chatroom-assistant.md @@ -6,7 +6,7 @@ tags: - python - padlocal - productivity -image: /assets/2021/02-wechat-chatroom-assistant/header.jpg +image: /assets/2021/02-wechat-chatroom-assistant/header.webp --- [![Wechaty Badge](https://img.shields.io/badge/Powered%20By-Wechaty-green.svg#align=left&display=inline&height=20&margin=%5Bobject%20Object%5D&originHeight=20&originWidth=132&status=done&style=none&width=132)](https://github.com/wechaty/wechaty) @@ -120,7 +120,7 @@ python3 chatroom_assistant.py ## 效果图 -![效果图](/assets/2021/02-wechat-chatroom-assistant/demo.jpg) +![效果图](/assets/2021/02-wechat-chatroom-assistant/demo.webp) ## 致谢 diff --git a/jekyll/_posts/2021-03-04-wechaty-puppet-providers-trends.md b/jekyll/_posts/2021-03-04-wechaty-puppet-providers-trends.md index 81652bcdcc1..9049c31c05b 100644 --- a/jekyll/_posts/2021-03-04-wechaty-puppet-providers-trends.md +++ b/jekyll/_posts/2021-03-04-wechaty-puppet-providers-trends.md @@ -7,7 +7,7 @@ tags: - news - featured - visualization -image: /assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png +image: /assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.webp --- Do you want know which **Wechaty Puppet Provider** is most used by our Wechaty developers? @@ -44,5 +44,5 @@ If you are interested in the adaption of WPPs, you can visit the NPM Trends serv - [Wechaty Puppet Directory](https://github.com/wechaty/wechaty-puppet/wiki/Directory) - [Wechaty Puppet Links](https://github.com/wechaty/wechaty-puppet/wiki/Links) -[trends_image]: /assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png +[trends_image]: /assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.webp [trends_link]: https://www.npmtrends.com/wechaty-puppet-service-vs-wechaty-puppet-mock-vs-wechaty-puppet-puppeteer-vs-wechaty-puppet-wechat4u-vs-wechaty-puppet-padlocal-vs-wechaty-puppet-official-account-vs-wechaty-puppet-gitter-vs-wechaty-puppet-lark-vs-wechaty-puppet-whatsapp diff --git a/jekyll/_posts/2021-03-08-python-wechaty-and-wechaty-puppet-padlocal.md b/jekyll/_posts/2021-03-08-python-wechaty-and-wechaty-puppet-padlocal.md index e7e72fe121a..8d020e752f4 100644 --- a/jekyll/_posts/2021-03-08-python-wechaty-and-wechaty-puppet-padlocal.md +++ b/jekyll/_posts/2021-03-08-python-wechaty-and-wechaty-puppet-padlocal.md @@ -7,7 +7,7 @@ tags: - python - padlocal - puppet-service -image: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.png +image: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.webp --- 本文为本地运行python-wechaty + 云上虚拟机运行wechaty-puppet-padlocal的简易教学 @@ -120,7 +120,7 @@ python3 examples/ding-dong-bot.py 大家有空就翻翻看。 Happy hacking! -[Arch]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.png -[cloud]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.png -[qrcode]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.png -[testing]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.png +[Arch]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.webp +[cloud]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.webp +[qrcode]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.webp +[testing]: /assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.webp diff --git a/jekyll/_posts/2021-03-14-summer-2021-kick-off-meeting.md b/jekyll/_posts/2021-03-14-summer-2021-kick-off-meeting.md index 82bc5e9995b..22cbef7260b 100644 --- a/jekyll/_posts/2021-03-14-summer-2021-kick-off-meeting.md +++ b/jekyll/_posts/2021-03-14-summer-2021-kick-off-meeting.md @@ -2,7 +2,7 @@ title: "Summer of Wechaty, 我们来啦" author: roxanne718 categories: event -image: /assets/2021/03-summer-2021-kick-off-meeting/summer2021.png +image: /assets/2021/03-summer-2021-kick-off-meeting/summer2021.webp tags: - summer-2021 - summer-of-wechaty diff --git a/jekyll/_posts/2021-03-17-node-wechaty-and-wechaty-puppet-padlocal.md b/jekyll/_posts/2021-03-17-node-wechaty-and-wechaty-puppet-padlocal.md index 998a3eaafda..8f8fab19385 100644 --- a/jekyll/_posts/2021-03-17-node-wechaty-and-wechaty-puppet-padlocal.md +++ b/jekyll/_posts/2021-03-17-node-wechaty-and-wechaty-puppet-padlocal.md @@ -5,7 +5,7 @@ categories: article tags: - node - padlocal -image: /assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png +image: /assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.webp --- 超哥之前开发了一个叫做「群组大师」的小程序,听名字就知道,是用来管理群组的,管理群组的什么呢? @@ -44,39 +44,39 @@ image: /assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png - 打开「群组大师」,找到群列表 -![bot_step1.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.jpeg) +![bot_step1.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.webp) - 进入群主页 -![bot_step2.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.jpeg) +![bot_step2.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.webp) - 发布活动 -![bot_step3.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.jpeg) +![bot_step3.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.webp) - 提交并发布 -![bot_step4.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.jpeg) +![bot_step4.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.webp) - 发布成功进入活动详情 -![bot_step5.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.jpeg) +![bot_step5.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.webp) - 在对应微信群内使用指令进行活动报名,首次使用可发送 帮助 获取全部指令列表 -![bot_step6.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.jpeg) +![bot_step6.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.webp) - 发送 活动 查看群内活动详情,发送 报名 即可立即报名活动 -![bot_step7.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.jpeg) +![bot_step7.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.webp) - 发送 取消,取消活动报名 -![bot_step8.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.jpeg) +![bot_step8.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.webp) - 在「群组大师」小程序中可查看活动报名详情 -![bot_step9.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.jpeg) +![bot_step9.jpeg](/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.webp) ## demo源码: diff --git a/jekyll/_posts/2021-03-17-tag-based-bot-detect-vip-customer.md b/jekyll/_posts/2021-03-17-tag-based-bot-detect-vip-customer.md index f43a4ed2d0c..766cff0f394 100644 --- a/jekyll/_posts/2021-03-17-tag-based-bot-detect-vip-customer.md +++ b/jekyll/_posts/2021-03-17-tag-based-bot-detect-vip-customer.md @@ -5,7 +5,7 @@ categories: project tags: - mysql - social -image: /assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png +image: /assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.webp --- 随着时间的推移,我们在不断的认识新的朋友,不断加新的好友, 在我们的微信里, 好友列表会有很多,甚至上千人,有的时候我们自己也理不清哪些好友是我们的客户,哪些好友是我们的朋友同学,哪些好友是我们在某次活动相识,甚至哪些好友只是萍水相逢但是实际上却极有可能是我们很好的潜在客户或者未来的合作伙伴,而因为平时的忽视可能就这样错过。 @@ -21,7 +21,7 @@ image: /assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png 系统整体架构简化图 -![archetecture.png](/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png) +![archetecture.png](/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.webp) 相关服务和框架: > Typeorm @@ -36,9 +36,9 @@ image: /assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png 这里我们的两个标签分别取名为btc和company. -![tag-btc.png](/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.png) +![tag-btc.png](/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.webp) -![tag-unicorn.png](/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.png) +![tag-unicorn.png](/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.webp) 对于不同tag的user, 我们回复不同的autoReploy Message @@ -63,7 +63,7 @@ export class TagCatalog { > 可以看到标签为btc的用户发来一条信息,首先通过wechatY的bot 发送自动回复消息告知我们的service. -![btc-autoreply.png](/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.png) +![btc-autoreply.png](/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.webp) > 当用户选择1时,我们返回最新的当日BTC价格以及实时价格。这里后台的BTC service 会实时的更新MySQL 数据库,我们通过wechatY的bot 读取MySQL来返回最新的BTC价格 @@ -92,7 +92,7 @@ async function sayCurrentPrice(fromPersion: Contact){ > 标签为company的用户发来信息,我们告知其service. -![unicorn-autoreply.png](/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.png) +![unicorn-autoreply.png](/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.webp) > 用户选择1,返回实时市值最高的5个独角兽公司。这里后台的UniCorn service 会实时的更新MySQL 数据库,我们通过wechatY的bot 读取MySQL来返回当前市值最高的5个独角兽公司。 diff --git a/jekyll/_posts/2021-03-25-google-season-of-docs-documentation-system.md b/jekyll/_posts/2021-03-25-google-season-of-docs-documentation-system.md index 100523d911a..fdb160d5db2 100644 --- a/jekyll/_posts/2021-03-25-google-season-of-docs-documentation-system.md +++ b/jekyll/_posts/2021-03-25-google-season-of-docs-documentation-system.md @@ -11,7 +11,7 @@ tags: - docs - news - documentation -image: /assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png +image: /assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.webp --- This year, Wechaty organization is applying the [Google Season of Docs](https://developers.google.com/season-of-docs) program because we want to improve our documentation for the community. @@ -40,7 +40,7 @@ In the above video, Daniele "_using real-life examples I'll draw out the key fun The most important concept is the following diagram: -![The Documentation System](/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png) +![The Documentation System](/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.webp) > Credit: [Documentation System](https://documentation.divio.com/) @@ -54,7 +54,7 @@ The goal of the Good Docs Project is to improve open source software documentati The following diagram illustrated the lifecycle of the documentation: -![The Good Docs Project](/assets/2021/03-google-season-of-docs-documentation-system/doctypes.png) +![The Good Docs Project](/assets/2021/03-google-season-of-docs-documentation-system/doctypes.webp) > Each document type serves a different purpose and has differing requirements — [The Good Docs Project](https://thegooddocsproject.dev) diff --git a/jekyll/_posts/2021-03-27-rcs-messaging-chatbot.md b/jekyll/_posts/2021-03-27-rcs-messaging-chatbot.md index ee17ba26973..191f5b8eb66 100644 --- a/jekyll/_posts/2021-03-27-rcs-messaging-chatbot.md +++ b/jekyll/_posts/2021-03-27-rcs-messaging-chatbot.md @@ -5,7 +5,7 @@ categories: article tags: - news - rcs -image: /assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg +image: /assets/2021/03-rcs-messaging-chatbot/rcs-bot.webp --- > Rich Communication Services (RCS) is a communication protocol between mobile-telephone carriers and between phone and carrier, aiming at replacing SMS messages with a text-message system that is richer, provides phonebook polling (for service discovery), and can transmit in-call multimedia. It is part of the broader IP Multimedia Subsystem. @@ -14,7 +14,7 @@ image: /assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg In China, the telecom operators call the RCS a **5G Chatbot**. (See: [Chinese operators make major RCS commitment: Whitepaper, April 9, 2020](https://www.gsma.com/futurenetworks/latest-news/china-operators-make-major-rcs-commitment-whitepaper/)) -![RCS business messaging](/assets/2021/03-rcs-messaging-chatbot/rcs-screen.png) +![RCS business messaging](/assets/2021/03-rcs-messaging-chatbot/rcs-screen.webp) > Source: [What is RCS Messaging? Rich Communication Services and Chatbots](https://nativemsg.com/blog/what-is-rcs-messaging-rich-communication-services-and-chatbots/) diff --git a/jekyll/_posts/2021-03-31-wechaty-cryptocurrency-websocket.md b/jekyll/_posts/2021-03-31-wechaty-cryptocurrency-websocket.md index 693dabd0e8e..25665382f49 100644 --- a/jekyll/_posts/2021-03-31-wechaty-cryptocurrency-websocket.md +++ b/jekyll/_posts/2021-03-31-wechaty-cryptocurrency-websocket.md @@ -7,12 +7,12 @@ tags: - cryptocurrency - binance - devops -image: /assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg +image: /assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-brightgreen.svg)](https://wechaty.js.org) -[![Wechaty-Cryptocurrency-Notification](/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg)](https://github.com/r-hou/wechaty-cryptocurrency-websocket) +[![Wechaty-Cryptocurrency-Notification](/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.webp)](https://github.com/r-hou/wechaty-cryptocurrency-websocket) 从2020年3月份以来,加密货币市场随着疫情导致的全球大放水而飞速扩张,BTC的价格从低点\$3800涨到了最高\$60000, 十几倍的涨幅吸引了全球越来越多的个人和机构投资者参与到这个市场。 这个7x24小时的市场瞬息万变,上下几个点甚至几十个点的波动常常在十几分钟甚至几分钟之内就能完成,这么大的波动在给投资者带来丰厚回报的同时也伴随着巨大的风险。作为一名个人投资者,非常希望能够及时得到虚拟货币价格的变动情况而进行交易。 @@ -480,7 +480,7 @@ if __name__ == '__main__': ## 运行效果 -![效果](/assets/2021/03-wechaty-cryptocurrency-websocket/result.jpg) +![效果](/assets/2021/03-wechaty-cryptocurrency-websocket/result.webp) ## 感谢 diff --git a/jekyll/_posts/2021-04-01-wechat-group-cryptocurrency-robot.md b/jekyll/_posts/2021-04-01-wechat-group-cryptocurrency-robot.md index 7b348fbe1d2..a1d918272ce 100644 --- a/jekyll/_posts/2021-04-01-wechat-group-cryptocurrency-robot.md +++ b/jekyll/_posts/2021-04-01-wechat-group-cryptocurrency-robot.md @@ -5,7 +5,7 @@ categories: tutorial tags: - cryptocurrency - padplus -image: /assets/2021/04-wechat-group-cryptocurrency-robot/header.jpg +image: /assets/2021/04-wechat-group-cryptocurrency-robot/header.webp --- [![Powered by Wechaty](https://img.shields.io/badge/Powered%20By-Wechaty-brightgreen.svg)](https://wechaty.js.org) @@ -137,7 +137,7 @@ bot.start().then(() => { ## 运行效果 -![效果图](/assets/2021/04-wechat-group-cryptocurrency-robot/result.png) +![效果图](/assets/2021/04-wechat-group-cryptocurrency-robot/result.webp) ## 致谢 diff --git a/jekyll/_posts/2021-04-05-wechaty-contributor-meetup.md b/jekyll/_posts/2021-04-05-wechaty-contributor-meetup.md index 258ee4b0768..a0875a89b4d 100644 --- a/jekyll/_posts/2021-04-05-wechaty-contributor-meetup.md +++ b/jekyll/_posts/2021-04-05-wechaty-contributor-meetup.md @@ -1,7 +1,7 @@ --- title: "Wechaty Contributor Beijing Meetup 2020/04" author: padlocal -image: /assets/2021/04-wechaty-contributor-meetup/cheers.jpg +image: /assets/2021/04-wechaty-contributor-meetup/cheers.webp categories: story tags: - meetup @@ -41,4 +41,4 @@ Wechaty Contributor 北京聚餐 [@padlocal](https://github.com/padlocal): Wechaty Padlocal puppet -[wechaty-beijing-meetup-photo]: /assets/2021/04-wechaty-contributor-meetup/cheers.jpg +[wechaty-beijing-meetup-photo]: /assets/2021/04-wechaty-contributor-meetup/cheers.webp diff --git a/jekyll/_posts/2021-04-12-wechat-group-chat-interactive-robot.md b/jekyll/_posts/2021-04-12-wechat-group-chat-interactive-robot.md index 265cd114948..54156258e8e 100644 --- a/jekyll/_posts/2021-04-12-wechat-group-chat-interactive-robot.md +++ b/jekyll/_posts/2021-04-12-wechat-group-chat-interactive-robot.md @@ -5,7 +5,7 @@ categories: tutorial tags: - golang - padplus -image: /assets/2021/04-wechat-group-chat-interactive-robot/header.png +image: /assets/2021/04-wechat-group-chat-interactive-robot/header.webp --- 公司小程序的相关通知需要及时、定时推送到相关的群,由于微信web网页登录基本全部被封建,所有在查阅了大量微信机器人的资料后,选择了wechaty进行机器人开发, @@ -49,8 +49,8 @@ cd ../bin ## 运行效果 -![启动效果图](/assets/2021/04-wechat-group-chat-interactive-robot/start.png) -![指令效果图](/assets/2021/04-wechat-group-chat-interactive-robot/bind.png) +![启动效果图](/assets/2021/04-wechat-group-chat-interactive-robot/start.webp) +![指令效果图](/assets/2021/04-wechat-group-chat-interactive-robot/bind.webp) ## 其他Tips diff --git a/jekyll/_posts/2021-04-13-wechaty-uos-web.md b/jekyll/_posts/2021-04-13-wechaty-uos-web.md index ce81a05e8cc..758d1688437 100644 --- a/jekyll/_posts/2021-04-13-wechaty-uos-web.md +++ b/jekyll/_posts/2021-04-13-wechaty-uos-web.md @@ -7,7 +7,7 @@ tags: - wechaty-puppet-wechat - web-protocol - news -image: /assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.png +image: /assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.webp --- 很高兴能够写这篇文章通知大家Wechaty的web协议又能大放光彩了,如果之前你的微信提示不能登录web端,那么这个更新将会是你的福音。因为现在的`wechaty-puppet-wechat`已经支持使用UOS微信桌面版协议登录,赶快来尝试一下吧。 diff --git a/jekyll/_posts/2021-04-15-chatie-api-server-down.md b/jekyll/_posts/2021-04-15-chatie-api-server-down.md index d38efc966f0..49fa4f714b8 100644 --- a/jekyll/_posts/2021-04-15-chatie-api-server-down.md +++ b/jekyll/_posts/2021-04-15-chatie-api-server-down.md @@ -7,7 +7,7 @@ tags: - down - heroku - cloudflare -image: /assets/2021/04-chatie-api-server-down/system-down.jpeg +image: /assets/2021/04-chatie-api-server-down/system-down.webp --- The [Wechaty Puppet Service](https://wechaty.js.org/docs/puppet-services) diff --git a/jekyll/_posts/2021-04-16-go-wechaty-use-web.md b/jekyll/_posts/2021-04-16-go-wechaty-use-web.md index b1d5e1780be..68d602da800 100644 --- a/jekyll/_posts/2021-04-16-go-wechaty-use-web.md +++ b/jekyll/_posts/2021-04-16-go-wechaty-use-web.md @@ -7,7 +7,7 @@ tags: - wechaty-puppet-wechat - web-protocol - go -image: /assets/2021/04-go-wechaty-use-web/struct.png +image: /assets/2021/04-go-wechaty-use-web/struct.webp --- 写这篇文章的原因: 最近发现 web 协议以某种方式又复活了,所以想让 go-wechaty 的小伙伴也能使用 web 协议。 @@ -21,7 +21,7 @@ image: /assets/2021/04-go-wechaty-use-web/struct.png `申请token` 或者`购买token`。 go-wechaty 与 服务提供商的交互如下图 -![交互图](/assets/2021/04-go-wechaty-use-web/struct.png) +![交互图](/assets/2021/04-go-wechaty-use-web/struct.webp) 1. go-wecahty 首先会用之前我们购买或申请的 token 通过网关获取到服务提供商 token 所对应的服务器地址 2. 然后用获取到的服务器地址与 puppet 服务进行直接连接 @@ -85,7 +85,7 @@ User 微信昵称 logined ``` 然后我们向机器人发送一个 ding, 机器人就会回复一个 dong -![ding-dong](/assets/2021/04-go-wechaty-use-web/ding.jpeg) +![ding-dong](/assets/2021/04-go-wechaty-use-web/ding.webp) 如果启动机器人不想依赖环境变量,也可以写在代码里 diff --git a/jekyll/_posts/2021-04-17-python-wechaty-use-web.md b/jekyll/_posts/2021-04-17-python-wechaty-use-web.md index fdc61d309da..1ac78ae692f 100644 --- a/jekyll/_posts/2021-04-17-python-wechaty-use-web.md +++ b/jekyll/_posts/2021-04-17-python-wechaty-use-web.md @@ -8,7 +8,7 @@ tags: - web-protocol - python - featured -image: /assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.png +image: /assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.webp --- 写这篇文章的原因: go-wechaty作者[dchaofei](https://github.com/dchaofei)抢先写了[web协议复活的博客](https://wechaty.js.org/2021/04/16/go-wechaty-use-web/),作为[python-wechaty](http://github.com/wechaty/python-wechaty)的作者我也需要给大家更加详细的介绍如何使用[python-wechaty](http://github.com/wechaty/python-wechaty)来登陆web版本的微信。 diff --git a/jekyll/_posts/2021-04-22-how-to-publish-blog-on-wechaty.md b/jekyll/_posts/2021-04-22-how-to-publish-blog-on-wechaty.md index 5c8247c703a..1a18032156d 100644 --- a/jekyll/_posts/2021-04-22-how-to-publish-blog-on-wechaty.md +++ b/jekyll/_posts/2021-04-22-how-to-publish-blog-on-wechaty.md @@ -6,7 +6,7 @@ tags: - blog - study - introduction -image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg +image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.webp --- 很高兴能执笔这篇博客,第一次使用github向wechaty社区提交博客时Q到了@huan(提交了十几次才最终通过),因此也被印象深刻了。今天和大家分享一下零基础或有那么一丢丢基础的小白如何从0到1的在wechaty发布博客(成为一个贡献者)。 @@ -54,7 +54,7 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg 不知道什么是fork?总之很复杂,网上说的也不是很明白,简单点理解就是copy一份,到wechaty的github项目页面,然后看图操作 - ![fork](/assets/2021/04-how-to-publish-blog-on-wechaty/04.png) + ![fork](/assets/2021/04-how-to-publish-blog-on-wechaty/04.webp) 2. **同步你的分支** @@ -64,7 +64,7 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg 使用git把github上的代码下载下来,看图操作复制地址,然后在你要存放文件的目录运行`git clone https://github.com/wechaty/wechaty.js.org.git` - ![clone](/assets/2021/04-how-to-publish-blog-on-wechaty/05.png) + ![clone](/assets/2021/04-how-to-publish-blog-on-wechaty/05.webp) 4. **使用markdown书写你的博客** @@ -76,11 +76,11 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg 例如本文正文,是在`jekyll/_post`目录下创建名为`2021-04-22-how-to-publish-blog-on-wechaty.md`的文件并在里边写正文内容。 - ![根目录](/assets/2021/04-how-to-publish-blog-on-wechaty/01.png) + ![根目录](/assets/2021/04-how-to-publish-blog-on-wechaty/01.webp) - ![jekyll目录](/assets/2021/04-how-to-publish-blog-on-wechaty/02.png) + ![jekyll目录](/assets/2021/04-how-to-publish-blog-on-wechaty/02.webp) - ![2021-04-22-how-to-publish-blog-on-wechaty.md](/assets/2021/04-how-to-publish-blog-on-wechaty/03.png) + ![2021-04-22-how-to-publish-blog-on-wechaty.md](/assets/2021/04-how-to-publish-blog-on-wechaty/03.webp) 正文内容书写规范: @@ -98,7 +98,7 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg - wechaty - study - introduction - image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare_book.jpeg + image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare_book.webp --- > 作者: [atorber](https://github.com/atorber/),不务正业的产品经理 @@ -110,11 +110,11 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg - 选择合适的图片可以使博客看起来更漂亮。例如本文背景图: - ![rare-book.jpeg](/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg) + ![rare-book.jpeg](/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.webp) 6. **添加文档中的插图到 `jekyll/assets` 文件夹,在文件夹下当前年份下建立一个以"月份+博客文件名"为名称的文件夹来存放相关图片** - 在发布之前插入图片和视频,需要将所有图片、视频文件保存在博客专属的文件夹中,文件夹的位置和命名方式 `/jekyll/assets/文章标标题/`。例如本文图片存放文件夹:`jekyll/assets/2021/04-how-to-publish-blog-on-wechaty`,本文背景图的完整路径`jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare_book.jpeg` + 在发布之前插入图片和视频,需要将所有图片、视频文件保存在博客专属的文件夹中,文件夹的位置和命名方式 `/jekyll/assets/文章标标题/`。例如本文图片存放文件夹:`jekyll/assets/2021/04-how-to-publish-blog-on-wechaty`,本文背景图的完整路径`jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare_book.webp` 7. **添加你的个人信息到`jekyll/_contributors/your_github_id.md`** @@ -153,7 +153,7 @@ image: /assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg 这一步在github界面操作(也可能可以直接推送到wechaty,超哥没有get到方法) - ![pull request](/assets/2021/04-how-to-publish-blog-on-wechaty/06.png) + ![pull request](/assets/2021/04-how-to-publish-blog-on-wechaty/06.webp) 11. 签署CLA diff --git a/jekyll/_posts/2021-04-22-wechaty-with-paddlepaddle.md b/jekyll/_posts/2021-04-22-wechaty-with-paddlepaddle.md index 0eccb302be6..9db507c1433 100644 --- a/jekyll/_posts/2021-04-22-wechaty-with-paddlepaddle.md +++ b/jekyll/_posts/2021-04-22-wechaty-with-paddlepaddle.md @@ -9,19 +9,19 @@ tags: - featured - chatbot - competition -image: /assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.png +image: /assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.webp --- 人工智能时代的ChatBot需要具备哪些能力?它是智能小管家,帮你整理所有“码了就等于看了”的资料?它是斗图大师,分分钟帮你p好好友的鬼畜表情包?它是无情的夸人机器,每天都能自动生成新的彩虹屁? -![logs](/assets/2021/04-wechaty-with-paddlepaddle/header.png) +![logs](/assets/2021/04-wechaty-with-paddlepaddle/header.webp) ✨ 实用的、有趣的、鬼畜的… 不知大侠有何高见?快来组队实现吧!PaddlePaddle融合Wechaty能 spark 出怎样的inspiration?我们欢迎所有关于ChatBot的创意项目!只要你的项目够优秀,官方送你出道! - 比赛报名入口:[AI ChatBot 创意赛](https://aistudio.baidu.com/aistudio/competition/detail/79) - 比赛时间:2021/04/12 - 2021/05/31 -![eliza](/assets/2021/04-wechaty-with-paddlepaddle/eliza.png) +![eliza](/assets/2021/04-wechaty-with-paddlepaddle/eliza.webp) 1950年,艾伦·麦席森·图灵以一篇划时代的文章扣开了人工智能的大门。与此同时,机器能否让大批人类失误?怎样的智能才能匹配时代发展的脚步?未来的世界又该如何突破图灵测试的桎梏?接踵而至的问题让人们对AI充满了期待。 @@ -53,13 +53,13 @@ Wechaty的优势在于对代码质量地管理,开发者可以使用了Github 目前,在Github上已有千余个开源项目基于Wechaty构建了聊天机器人。另外,Wechaty统一了即时通讯软件平台的对话接口,仅需要一套代码即可运行在多个平台之上,目前已成熟高效地推动了包括社群管理、数据运维、办公、资讯、广告、营销等多个领域不同实用场景的落地。比如OSS.Chat能够打通Github开发者社区,让开源社区获得即时动态;YanBot辅助管理相关的多个微信讨论群The R-fMRI Journal Club,并对用户对领域内文献的讨论和相关脑影像技术问题进行桥接;以及python-Wechaty斗图机器人能够与联系人趣聊斗图。 -![wechaty-structure](/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.png) +![wechaty-structure](/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.webp) ### 几行代码融合Wechaty和PaddleHub 通过Wechaty的官方教程在本地搭建并运行Pyhton版本的Wechaty,使用Paddlehub预训练的文本生成模型与Wechaty的自动回复消息进行结合,实现了通过微信输入文字返回情话的功能。 -![wechaty-paddlehub](/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.png) +![wechaty-paddlehub](/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.webp) > Python 3.8 / Pip 20.1.1 / PaddleHub 2.0.4 / PaddlePaddle 2.0.2 @@ -117,7 +117,7 @@ Wechaty的优势在于对代码质量地管理,开发者可以使用了Github (4)选手名及队伍名的设定不得违反中国法律法规或社会公序良俗,且参赛队伍命名中不可出现“百度官方”,“飞桨官方”,“paddle官方”,“官方baseline”等字样。若命名违规的队伍在收到比赛主办方警告后仍未修改队伍名称,比赛主办方有权解散该队伍 ; (5) 赛事交流群:微信扫码添加飞桨小哥哥,回复“创意赛”即可入群。 -![qrcode](/assets/2021/04-wechaty-with-paddlepaddle/qrcode.png) +![qrcode](/assets/2021/04-wechaty-with-paddlepaddle/qrcode.webp) 参赛须知补充 diff --git a/jekyll/_posts/2021-04-24-ai-chatbot-paddlehub.md b/jekyll/_posts/2021-04-24-ai-chatbot-paddlehub.md index 348dd99a9a7..7989deb3355 100644 --- a/jekyll/_posts/2021-04-24-ai-chatbot-paddlehub.md +++ b/jekyll/_posts/2021-04-24-ai-chatbot-paddlehub.md @@ -7,7 +7,7 @@ tags: - ai - chatbot - paddle -image: /assets/2021/04-ai-chatbot-paddlehub/banner.png +image: /assets/2021/04-ai-chatbot-paddlehub/banner.webp --- 小白也能超快上手的AI ChatBot教程,这次教大家一个用基于Python Wechaty和 PaddlePaddle 框架运行的,用AI续写情话的对话机器人。 diff --git a/jekyll/_posts/2021-05-01-landing-page-value-proposition.md b/jekyll/_posts/2021-05-01-landing-page-value-proposition.md index 9a5a379c698..0ceb95856fa 100644 --- a/jekyll/_posts/2021-05-01-landing-page-value-proposition.md +++ b/jekyll/_posts/2021-05-01-landing-page-value-proposition.md @@ -23,7 +23,7 @@ image: /assets/2021/05-landing-page-value-proposition/value.webp than similar offerings from your competition. — [How to Crack the Google Season of Docs, Edidiong Asikpo, 2020](https://www.freecodecamp.org/news/cracking-google-season-of-docs-2020/) -![Value creating process](/assets/2021/05-landing-page-value-proposition/value-creation-process.png) +![Value creating process](/assets/2021/05-landing-page-value-proposition/value-creation-process.webp) The phrase(term) "value proposition" was first used in the paper [A Business is a Value Delivery System, Michael Lanning and Edward Michaels, 1988](http://www.dpvgroup.com/wp-content/uploads/2009/11/1988-A-Business-is-a-VDS-McK-Staff-Ppr.pdf) for the consulting firm McKinsey. diff --git a/jekyll/_posts/2021-05-02-wechaty-bible-chatbot.md b/jekyll/_posts/2021-05-02-wechaty-bible-chatbot.md index 09fde85ebbf..ccd433983fa 100644 --- a/jekyll/_posts/2021-05-02-wechaty-bible-chatbot.md +++ b/jekyll/_posts/2021-05-02-wechaty-bible-chatbot.md @@ -7,7 +7,7 @@ tags: - chatroom-tool - bible - other -image: /assets/2021/05-wechaty-bible-chatbot/logo.png +image: /assets/2021/05-wechaty-bible-chatbot/logo.webp --- 笔者将从 开发意图、产品功能特性、技术方案、心得体会 等方面回顾总结 微信群机器人-读经助手 的产品开发历程,希望对其他开发者有所帮助。 @@ -38,31 +38,31 @@ image: /assets/2021/05-wechaty-bible-chatbot/logo.png ### 功能简介 -![image](/assets/2021/05-wechaty-bible-chatbot/03-01.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-01.webp) ### 更多功能 -![image](/assets/2021/05-wechaty-bible-chatbot/03-02.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-02.webp) -[更多功能长图](/assets/2021/05-wechaty-bible-chatbot/03-03.jpg) +[更多功能长图](/assets/2021/05-wechaty-bible-chatbot/03-03.webp) ### 文章推送 -![image](/assets/2021/05-wechaty-bible-chatbot/03-04.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-04.webp) -![image](/assets/2021/05-wechaty-bible-chatbot/03-05.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-05.webp) ### 打卡统计 -![image](/assets/2021/05-wechaty-bible-chatbot/03-06.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-06.webp) -![image](/assets/2021/05-wechaty-bible-chatbot/03-07.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-07.webp) -![image](/assets/2021/05-wechaty-bible-chatbot/03-08.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-08.webp) ### 搜文章内容 -![image](/assets/2021/05-wechaty-bible-chatbot/03-09.jpg) +![image](/assets/2021/05-wechaty-bible-chatbot/03-09.webp) ## 四、技术实现 @@ -164,7 +164,7 @@ image: /assets/2021/05-wechaty-bible-chatbot/logo.png 开发阶段,有次把机器人号,从测试群中主动踢出,发现 Provider Service 抛出了一个 Error,为了复现这个异常,我重复多次把这个号从测试群中踢出。然后过了一段时间,就收到了 微信风控通知,提示该号被 多人投诉、有骚扰用户的行为。 所以大家尽量不要将 机器人踢出群,最好采用主动退出的方式,以免被微信风控。 换了新的微信号后,大概服务了 2 个月不到,发现被微信主动踢下线了,再次登录提示使用了 微信外挂、非官方客户端或模拟器。不清楚是, provider service 的方案,被大批检测出,还是仅仅是 笔者的微信号,被投诉导致。。 -(/assets/2021/05-wechaty-bible-chatbot/04-01.jpg) +(/assets/2021/05-wechaty-bible-chatbot/04-01.webp) 笔者开发机器人的初衷是希望解放人力,其实越多的微信群使用(免费使用),对我来说,开发机器人的价值越高。但由于存在微信封号风险,是目前笔者不敢主动推广,仅靠群成员的口口相传。 diff --git a/jekyll/_posts/2021-05-03-gsod-2021-applicant-jaya2320.md b/jekyll/_posts/2021-05-03-gsod-2021-applicant-jaya2320.md index d64b7f9dd00..364271c2d3c 100644 --- a/jekyll/_posts/2021-05-03-gsod-2021-applicant-jaya2320.md +++ b/jekyll/_posts/2021-05-03-gsod-2021-applicant-jaya2320.md @@ -10,7 +10,7 @@ tags: - introduction - project - proposal -image: /assets/2021/05-gsod-2021-applicant-jaya2320/profile.jpg +image: /assets/2021/05-gsod-2021-applicant-jaya2320/profile.webp --- My name is Jaya Gupta, I am a 3rd year Informational Technology Student currently persuing my B.Tech from HMRITM, Delhi. I have learned various programming languages such as C , C, PYTHON, DJANGO, Machine Learning, Deep Learning. diff --git a/jekyll/_posts/2021-05-03-gsod-project-proposal-shwetal-wechaty.md b/jekyll/_posts/2021-05-03-gsod-project-proposal-shwetal-wechaty.md index bc75a6a7cb0..562736c426d 100644 --- a/jekyll/_posts/2021-05-03-gsod-project-proposal-shwetal-wechaty.md +++ b/jekyll/_posts/2021-05-03-gsod-project-proposal-shwetal-wechaty.md @@ -8,7 +8,7 @@ tags: - introduction - project - proposal -image: /assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.jpeg +image: /assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.webp --- ## GSOD21 Proposal for Wechaty diff --git a/jekyll/_posts/2021-05-03-interactive-tutorials-for-newcomers.md b/jekyll/_posts/2021-05-03-interactive-tutorials-for-newcomers.md index 16ecbb35d63..16a2b1e84f6 100644 --- a/jekyll/_posts/2021-05-03-interactive-tutorials-for-newcomers.md +++ b/jekyll/_posts/2021-05-03-interactive-tutorials-for-newcomers.md @@ -11,7 +11,7 @@ tags: - introduction - project - proposal -image: /assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.png +image: /assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.webp --- ## GSoD 2021 Project Proposal diff --git a/jekyll/_posts/2021-05-03-joseph-mawa-google-season-of-docs-project-technical-proposal.md b/jekyll/_posts/2021-05-03-joseph-mawa-google-season-of-docs-project-technical-proposal.md index b2bedbb27db..d3e5231f369 100644 --- a/jekyll/_posts/2021-05-03-joseph-mawa-google-season-of-docs-project-technical-proposal.md +++ b/jekyll/_posts/2021-05-03-joseph-mawa-google-season-of-docs-project-technical-proposal.md @@ -9,7 +9,7 @@ tags: - gsod'21 - project - proposal -image: /assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.jpeg +image: /assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.webp --- My name is Joseph Mawa. I am a technical writer and web developer. Below is my proposal for the project *Create easy to learn tutorials for beginner users of Wechaty* under Google Season of Docs 2021. diff --git a/jekyll/_posts/2021-05-03-sajen-sarvajith-blog-post.md b/jekyll/_posts/2021-05-03-sajen-sarvajith-blog-post.md index e38b82eb0b5..60e4944ef2b 100644 --- a/jekyll/_posts/2021-05-03-sajen-sarvajith-blog-post.md +++ b/jekyll/_posts/2021-05-03-sajen-sarvajith-blog-post.md @@ -10,7 +10,7 @@ tags: - docs - project - proposal -image: /assets/2021/05-sajen-sarvajith-blog-post/profile-pic.jpeg +image: /assets/2021/05-sajen-sarvajith-blog-post/profile-pic.webp --- ## Biographical Information diff --git a/jekyll/_posts/2021-05-04-gsod-2021-applicant-sbis04.md b/jekyll/_posts/2021-05-04-gsod-2021-applicant-sbis04.md index 9e75a1a7f50..cd4b09ad962 100644 --- a/jekyll/_posts/2021-05-04-gsod-2021-applicant-sbis04.md +++ b/jekyll/_posts/2021-05-04-gsod-2021-applicant-sbis04.md @@ -10,7 +10,7 @@ tags: - introduction - project - proposal -image: /assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.png +image: /assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.webp --- I am [Souvik Biswas](https://www.souvikbiswas.com/), currently pursuing a Bachelor of Technology degree (2018 - 2022) in Computer Science & Engineering from the Indian Institute of Information Technology Kalyani. Also, a freelance technical writer of Codemagic and LogRocket Blog, and a passionate mobile app developer. diff --git a/jekyll/_posts/2021-05-04-gsod21-simin-proposal.md b/jekyll/_posts/2021-05-04-gsod21-simin-proposal.md index 54ffce46431..c9da2c9fab0 100644 --- a/jekyll/_posts/2021-05-04-gsod21-simin-proposal.md +++ b/jekyll/_posts/2021-05-04-gsod21-simin-proposal.md @@ -4,7 +4,7 @@ author: proudofsimin categories: gsod tags: - proposal -image: /assets/2021/05-gsod21-simin-proposal/profile.jpg +image: /assets/2021/05-gsod21-simin-proposal/profile.webp --- ## Google Season of Docs 2021 Volunteering Proposal diff --git a/jekyll/_posts/2021-05-04-rohitesh-applicant-for-volunteering-gsod.md b/jekyll/_posts/2021-05-04-rohitesh-applicant-for-volunteering-gsod.md index 855cfdce1ce..0c09358c71a 100644 --- a/jekyll/_posts/2021-05-04-rohitesh-applicant-for-volunteering-gsod.md +++ b/jekyll/_posts/2021-05-04-rohitesh-applicant-for-volunteering-gsod.md @@ -6,7 +6,7 @@ tags: - introduction - volunteering - gsod -image: /assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.jpeg +image: /assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.webp --- ## GSoD’21 Project Proposal for Volunteering diff --git a/jekyll/_posts/2021-05-05-shraddhavp-interactive-wechaty-tutorial.md b/jekyll/_posts/2021-05-05-shraddhavp-interactive-wechaty-tutorial.md index 1e2c3ed37a5..5a1bac9d28d 100644 --- a/jekyll/_posts/2021-05-05-shraddhavp-interactive-wechaty-tutorial.md +++ b/jekyll/_posts/2021-05-05-shraddhavp-interactive-wechaty-tutorial.md @@ -8,7 +8,7 @@ tags: - 2021 - project - proposal -image: /assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.jpg +image: /assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.webp --- I am Shraddha Vasant Prasad, 2020 graduate and currntly working as a Software Engineer At American Express, I describe myself as "Developer in the making and a Blogger by passion" diff --git a/jekyll/_posts/2021-05-06-vasvi-applicant-for-technical-writer-gsod.md b/jekyll/_posts/2021-05-06-vasvi-applicant-for-technical-writer-gsod.md index ffa3271d5fd..72917b8638f 100644 --- a/jekyll/_posts/2021-05-06-vasvi-applicant-for-technical-writer-gsod.md +++ b/jekyll/_posts/2021-05-06-vasvi-applicant-for-technical-writer-gsod.md @@ -8,7 +8,7 @@ tags: - 2021 - project - proposal -image: /assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.png +image: /assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.webp --- Sophomore,NIT Hamirpur diff --git a/jekyll/_posts/2021-05-08-gsod-2021-selected-technical-writers.md b/jekyll/_posts/2021-05-08-gsod-2021-selected-technical-writers.md index ccc2ce6adb1..493915c539c 100644 --- a/jekyll/_posts/2021-05-08-gsod-2021-selected-technical-writers.md +++ b/jekyll/_posts/2021-05-08-gsod-2021-selected-technical-writers.md @@ -25,7 +25,7 @@ the GSoD program helps Wechaty organization to start collaborating with many great technical writers all over the world for improving the documentation of Wechaty project. -![Google Season of Docs 2021](/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.png) +![Google Season of Docs 2021](/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.webp) If you have read our blog post [Google Season of Docs ❤️ Wechaty, @huan, Apr 30, 2021](https://wechaty.js.org/2021/04/30/google-season-of-docs/), @@ -151,7 +151,7 @@ We should always follow the documentation system by strictly aligning our docs t ![Documentation System: Tutorials, How-to Guides, Reference, Explanation][documentation_system_chart] -[documentation_system_chart]: /assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.png +[documentation_system_chart]: /assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.webp Learn more from: @@ -166,7 +166,7 @@ The project 1-4 is strictly defined by the documentation system, and they must f > Credit: [Documentation system: Introduction](https://documentation.divio.com/introduction/) -[do-not-go-out-of-scope]: /assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.png +[do-not-go-out-of-scope]: /assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.webp #### Project 1: Tutorials diff --git a/jekyll/_posts/2021-05-11-gsod-2021-team-proposal-tutorials.md b/jekyll/_posts/2021-05-11-gsod-2021-team-proposal-tutorials.md index 85a807e9777..efba151be00 100644 --- a/jekyll/_posts/2021-05-11-gsod-2021-team-proposal-tutorials.md +++ b/jekyll/_posts/2021-05-11-gsod-2021-team-proposal-tutorials.md @@ -11,7 +11,7 @@ tags: - project - proposal - team-proposal -image: /assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.png +image: /assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.webp --- This is the project proposal for creating and improving the **Wechaty Tutorials** documentation on which we will be working as a part of Google Season of Docs 2021. We are looking forward to completing this work during a span of **12 weeks** (or, 3 months). diff --git a/jekyll/_posts/2021-05-11-shraddhavp-soumi-combined-reference-proposal.md b/jekyll/_posts/2021-05-11-shraddhavp-soumi-combined-reference-proposal.md index 71b6f5aaafc..842c55ba168 100644 --- a/jekyll/_posts/2021-05-11-shraddhavp-soumi-combined-reference-proposal.md +++ b/jekyll/_posts/2021-05-11-shraddhavp-soumi-combined-reference-proposal.md @@ -9,7 +9,7 @@ tags: - project - proposal - team-proposal -image: /assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.png +image: /assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.webp --- ## PROPOSAL STATEMENT diff --git a/jekyll/_posts/2021-05-12-gsod-2021-how-to-guide-team-proposal.md b/jekyll/_posts/2021-05-12-gsod-2021-how-to-guide-team-proposal.md index f1fd96609d1..2b90f09f15b 100644 --- a/jekyll/_posts/2021-05-12-gsod-2021-how-to-guide-team-proposal.md +++ b/jekyll/_posts/2021-05-12-gsod-2021-how-to-guide-team-proposal.md @@ -11,7 +11,7 @@ tags: - gsod - 2021 - docs -image: /assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.png +image: /assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.webp --- This is the project proposal for **Wechaty How-to-guide** documentation on which we will be working as a part of Google Season of Docs 2021. We have proposed our timeline so as to complete this work during a span of **09 weeks**. diff --git a/jekyll/_posts/2021-05-12-gsod-2021-reconstruct-landing-page-team-proposal.md b/jekyll/_posts/2021-05-12-gsod-2021-reconstruct-landing-page-team-proposal.md index 05acfd8ad1a..054acf3595a 100644 --- a/jekyll/_posts/2021-05-12-gsod-2021-reconstruct-landing-page-team-proposal.md +++ b/jekyll/_posts/2021-05-12-gsod-2021-reconstruct-landing-page-team-proposal.md @@ -13,7 +13,7 @@ tags: - propositions - proposal - team-proposal -image: /assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.png +image: /assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.webp --- ## Team Members @@ -75,7 +75,7 @@ This project aims to improve/reconstruct the wechaty homepage completely with va This is an example design for Wechaty Landing Page (as per available insights and can be changed based on mentor and community suggestions) -![Example Design](/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.png) +![Example Design](/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.webp) **Complete Design can be viewed** [**here**](https://www.figma.com/file/4mW0KnuJoBOdf5sFZ15kha/Wechaty?node-id=1%3A2) diff --git a/jekyll/_posts/2021-05-13-gsod-2021-improve-introduction-and-explanation-project-joint-proposal.md b/jekyll/_posts/2021-05-13-gsod-2021-improve-introduction-and-explanation-project-joint-proposal.md index 709065aa462..64f22e6ad40 100644 --- a/jekyll/_posts/2021-05-13-gsod-2021-improve-introduction-and-explanation-project-joint-proposal.md +++ b/jekyll/_posts/2021-05-13-gsod-2021-improve-introduction-and-explanation-project-joint-proposal.md @@ -11,7 +11,7 @@ tags: - project - proposal - team-proposal -image: /assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.png +image: /assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.webp --- This is the joint project proposal for **Improve the Introduction and Explanations** secondary project under Google Season of Docs 2021. It is estimated that this project will take approximately **06 weeks**. diff --git a/jekyll/_posts/2021-05-18-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem.md b/jekyll/_posts/2021-05-18-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem.md index b94192e8c9c..d051705db6f 100644 --- a/jekyll/_posts/2021-05-18-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem.md +++ b/jekyll/_posts/2021-05-18-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem.md @@ -8,7 +8,7 @@ tags: - gsod - openapi - proposal -image: /assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.png +image: /assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.webp --- ## About me diff --git a/jekyll/_posts/2021-05-18-win10-use-docker-build-web-protocol-server-develop-bot.md b/jekyll/_posts/2021-05-18-win10-use-docker-build-web-protocol-server-develop-bot.md index f290c10fd5b..ef36a0f7ede 100644 --- a/jekyll/_posts/2021-05-18-win10-use-docker-build-web-protocol-server-develop-bot.md +++ b/jekyll/_posts/2021-05-18-win10-use-docker-build-web-protocol-server-develop-bot.md @@ -7,7 +7,7 @@ tags: - study - web-protocol - python -image: /assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg +image: /assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.webp --- ## 介绍 @@ -49,11 +49,11 @@ print(uuid.uuid4()) 这样我们就成功的启动了一个端口在30001的docker容器。启动后cmd立马可以看到如下: -![docker-build-web](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.jpg) +![docker-build-web](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.webp) 打开docker也可以看到容器已经顺利启动。 -![docker-status](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.jpg) +![docker-status](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.webp) ### 启动python脚本链接docker容器 @@ -102,15 +102,15 @@ asyncio.run(MyBot().start()) 代码写好后,执行代码,会出现一个二维码,要求我们扫码登录。 -![run-python](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.jpg) +![run-python](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.webp) 目前会有一个问题就是二维码太大了,无法扫描。不过官方很贴心的给了一个链接,点击链接就会跳转到一个可以扫描的二维码页面出了,扫码登录即可。 -![scan-qrcode](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.jpg) +![scan-qrcode](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.webp) 扫码登陆微信后就可以验证,发送ding,机器人会自动回复dong。 -![ding-dong](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg) +![ding-dong](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.webp) ## 补充内容 @@ -154,7 +154,7 @@ del e:\wsl2\docker\docker-desktop-data.tar 然后启动docker容器,再启动python脚本,扫码登录后,测试结果如下: -![multi-bot](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.jpg) +![multi-bot](/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.webp) #### 关闭睡眠状态,保持程序的持续运行 diff --git a/jekyll/_posts/2021-05-24-how-to-build-a-panda-face-generator-with-paddlepaddle.md b/jekyll/_posts/2021-05-24-how-to-build-a-panda-face-generator-with-paddlepaddle.md index c0632da8bf2..8924c39cf40 100644 --- a/jekyll/_posts/2021-05-24-how-to-build-a-panda-face-generator-with-paddlepaddle.md +++ b/jekyll/_posts/2021-05-24-how-to-build-a-panda-face-generator-with-paddlepaddle.md @@ -6,7 +6,7 @@ tags: - blog - study - introduction -image: /assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.jpg +image: /assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.webp --- 很高兴能分享前段时间折腾的小项目,一只熊猫头表情生成机器人。因为本熊是个很热爱meme文化的人,而在聊天过程中,我总是需要表情包来支撑起我匮乏的语言表达能力以及抒发我无法通过文字表达的感情。这次使用wechaty和paddlepaddle制作了一个根据人像生成对应熊猫头的表情包制作机器人。经本人不正经的测试,本表情包制作机器人可以给你的对话增加更多的乐趣,聊天室内外充满了快活的空气~ @@ -33,7 +33,7 @@ Django端,PDjango目录下: python manage.py runserver 0.0.0.0:8080 **框架图** -![框架图:分成wehcaty和django两部分](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.png) +![框架图:分成wehcaty和django两部分](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.webp) ## wechaty部分 @@ -56,11 +56,11 @@ pandaFace脚本则是处理图像的主文件,提供了处理图片和视频的 同样使用上述的两个模型处理用户发来的肖像照,然后进入我花费时间最长的步骤——调整颜色。 因为光照等原因,把图像转为灰度图的任务始终无法达到理想的效果。这里尝试了亮度、对比度、直方图等统一的方式做了一些处理,大家也可以进行测试。另外我觉得最可行的方法是直方图匹配,这方面值得继续改进。 ***亮度调节对比*** -![亮度对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.png) +![亮度对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.webp) ***对比度调节对比*** -![对比度对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.png) +![对比度对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.webp) ***gamma方式调节histogram调节对比*** -![gamma对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.png) +![gamma对比图](/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.webp) 这部分试了很多个参数,但是对于不同的图片不太好做到统一,所以想到了直方图匹配(histogram match),但是这部分实验的图找不到了,之后补上,直方图匹配的代码也在脚本中提供了,但是默认并没有开启。 ***直方图匹配***的方法可以把人脸映射到和原版的表情包大概同一个色调,但是缺点是,直方图匹配的方式会损失细节,这样会出现跃迁式的像素变化,很丑,所以可能采用直方图匹配之后要做更多的处理。 diff --git a/jekyll/_posts/2021-05-30-simin-documentation-structure.md b/jekyll/_posts/2021-05-30-simin-documentation-structure.md index 27175ca3800..bb26208a505 100644 --- a/jekyll/_posts/2021-05-30-simin-documentation-structure.md +++ b/jekyll/_posts/2021-05-30-simin-documentation-structure.md @@ -5,7 +5,7 @@ tags: - introduction - gsod - image: /assets/2021/05-simin-documentation-structure/cover_photo.png + image: /assets/2021/05-simin-documentation-structure/cover_photo.webp --- ## Documentation Structure @@ -30,7 +30,7 @@ According to the table, the first two sections (tutorials and how-to guide) focu Tutorials teach users how to implement the software step by step. The target audience are those with no experience to the software. The users are passive, and they are waiting for you to feed them the knowledge they need to know when they are trying to use the software. -![tutorials](/assets/2021/05-simin-documentation-structure/tutorials.png) +![tutorials](/assets/2021/05-simin-documentation-structure/tutorials.webp) From the picture above, the left side with bulleted points is detailed guidance for documenting tutorials. By following the notice, you can avoid writing out of scope. The right side is the drafted structure proposed by team tutorials (Souvik Biswas and Shwetal Soni) in week 1. The topics that need to further discussed are highlighted in red. @@ -42,7 +42,7 @@ For the five highlighted topics under *Advanced Usage*, they more or less contra The how-to guides is like a general Q&A. It acts as a supporting role, so each topic in this section is independent. The target audience are not expected to follow the sequence and should have enough knowledge to look for the guides they need. -![how-to_guides](/assets/2021/05-simin-documentation-structure/how-to_guides.png) +![how-to_guides](/assets/2021/05-simin-documentation-structure/how-to_guides.webp) You can see the picture above. The left side with bulleted points provides information on how to write better how-to guides. With special emphasis on addressing a specific question or problem, topics in how-to guides can avoid overlapping with other sections, especially tutorials and reference. The right side is the drafted structure proposed by team how-to guides (Vasvi Sood and Abhishek Jaiswal) in week 1. The topics that need further discussion are highlighted in red. @@ -54,7 +54,7 @@ The rest of the topics highlighted in red are similar to the first two topics: t You can view the reference guides as an encyclopaedia, or wiki. The users will not follow everything in the contents, and will only look for what they need. Therefore, the organization and accuracy of reference guides become very important. You need to make sure that users can easily find the information themselves quickly, and will not get bored and give up during searching. -![reference_guides](/assets/2021/05-simin-documentation-structure/reference_guides.png) +![reference_guides](/assets/2021/05-simin-documentation-structure/reference_guides.webp) You can see the picture above. Same as the previous two sections, the left part with bulleted points tells you how to better construct reference guides, and avoid duplicated information with other sections. The right side is the drafted structure proposed by team reference guides (Shraddha Vasant Prasad and Soumi Bardhan) in week 1. The topics that need to pay more attentions are highlighted in red. @@ -64,7 +64,7 @@ The highlighted topics under *API reference* should be careful when you are docu Explanation provides the background information of the software. The topics in here are not directly related with Wechaty, but are very helpful if you want to really master this software. -![explanation](/assets/2021/05-simin-documentation-structure/explanation.png) +![explanation](/assets/2021/05-simin-documentation-structure/explanation.webp) Just like the previous three sections, the guidelines of documenting explanation are listed in bulleted points on the left part. Focusing on providing the context, explanation section helps users to better understand what Wechaty is and the concepts of it. With the help of this section, users can not only know what they are doing, and also why they are doing. diff --git a/jekyll/_posts/2021-05-30-wechaty-local-forums-and-past-events.md b/jekyll/_posts/2021-05-30-wechaty-local-forums-and-past-events.md index 1cbd1d7f38c..dcd5094e49a 100644 --- a/jekyll/_posts/2021-05-30-wechaty-local-forums-and-past-events.md +++ b/jekyll/_posts/2021-05-30-wechaty-local-forums-and-past-events.md @@ -10,7 +10,7 @@ tags: - meetup - interview - news -image: /assets/2021/05-wechaty-local-forums-and-past-events/community-events.jpeg +image: /assets/2021/05-wechaty-local-forums-and-past-events/community-events.webp --- ## Timeline diff --git a/jekyll/_posts/2021-06-08-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun.md b/jekyll/_posts/2021-06-08-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun.md index 775c9663cd2..37427d66a06 100644 --- a/jekyll/_posts/2021-06-08-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun.md +++ b/jekyll/_posts/2021-06-08-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun.md @@ -7,14 +7,14 @@ tags: - study - python - paddlehub -image: /assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.jpg +image: /assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.webp --- 这绝对是全网最细教程,没有之一 ## 项目展示 -![0](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.jpg) +![0](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.webp) ## 1. 搞定云服务器部分 @@ -24,75 +24,75 @@ image: /assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddl 阿里云官网: [https://account.aliyun.com/](https://account.aliyun.com/) -![1-1-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.jpg) +![1-1-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.webp) -![1-1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.jpg) +![1-1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.webp) ### 1.2 点击底部的"免费试用" -![1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.jpg) +![1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.webp) ### 1.3 点击右下角"了解试用" -![1-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.jpg) +![1-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.webp) ### 1.4 选择一款产品 -![1-4](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.jpg) +![1-4](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.webp) ### 1.5 选择操作系统为Ubuntu, 点击"立即购买" -![1-5](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.jpg) +![1-5](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.webp) ### 1.6 接下来打开控制台 -![1-6](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.jpg) +![1-6](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.webp) ### 1.7 找到左边的云服务器ECS打开 -![1-7](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.jpg) +![1-7](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.webp) ### 1.8 进入我们刚才创建的实例 -![1-8](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.jpg) +![1-8](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.webp) ### 1.9 点击"安全组" -![1-9](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.png) +![1-9](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.webp) ### 1.10 点击"配置规则" -![1-10](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.png) +![1-10](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.webp) ### 1.11 点击"手动添加", "目的"栏填入8080/8080, "源"栏填入0.0.0.0/0, 点击"保存" -![1-11](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.png) +![1-11](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.webp) ### 1.12 回到刚才的页面, 点击"远程连接" -![1-12](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.png) +![1-12](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.webp) ### 1.13 点击"立即登录" -![1-13](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.png) +![1-13](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.webp) ### 1.14 要输入密码, 我们之前没有设置密码, 所以我们返回刚才的页面去设置密码 -![1-14](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.png) +![1-14](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.webp) ### 1.15 点击"重置实例密码" -![1-15](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.png) +![1-15](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.webp) ### 1.16 设置新密码完成后, 再次进入远程连接 -![1-16-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.png) +![1-16-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.webp) -![1-16-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.png) +![1-16-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.webp) ### 1.17 我们就进入到终端里面了 -![1-17](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.png) +![1-17](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.webp) ### 1.18 在终端里输入以下指令 @@ -120,31 +120,31 @@ image: /assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddl >>> docker run -ti --name wechaty_puppet_service_token_gateway --rm -e WECHATY_LOG -e WECHATY_PUPPET -e WECHATY_TOKEN -e WECHATY_PUPPET_SERVER_PORT -p "$WECHATY_PUPPET_SERVER_PORT:$WECHATY_PUPPET_SERVER_PORT" wechaty/wechaty:latest ``` -![1-18](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.png) +![1-18](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.webp) ### 1.19 检查是否运行成功 - 输入网址: ,例如我输入的地址就是这个: - 如果返回了服务器的ip地址以及端口号,比如{"host":"121.43.228.90","port":8080},就说明运行成功了,如果返回的是{"host":"0.0.0.0","port":0},就说明没有运行成功 -![1-19](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.png) +![1-19](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.webp) ### 1.20 运行后会输出一大堆东西,这时候我们找到一个Online QR Code的地址点击进去 -![1-20](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.png) +![1-20](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.webp) ### 1.21 就会出现下面这个二维码,用微信扫码即可(温馨提示: 用哪个微信号扫二维码哪个微信号就是机器人) -![1-21](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.png) +![1-21](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.webp) ### 1.22 点击"登录","继续登录" -![1-22-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.jpg) +![1-22-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.webp) -![1-22-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.jpg) +![1-22-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.webp) ### 1.23 会看到最上面有一个"桌面微信已登录"就说明成功啦 -![1-23](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.jpg) +![1-23](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.webp) ## 2. 在AI Studio上跑一个简单的ding-dong机器人 @@ -152,19 +152,19 @@ AI Studio官网地址: [https://aistudio.baidu.com/aistudio/index](https://aistu ### 2.1 创建一个脚本项目(温馨提示: 在notebook的终端里跑不起来) -![2-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.png) +![2-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.webp) #### 2.1.1 点击"下一步" -![2-1-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.png) +![2-1-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.webp) #### 2.1.2 填好项目名称,项目标签,项目描述,点击"创建" -![2-1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.png) +![2-1-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.webp) #### 2.1.3 进入项目 -![2-1-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.png) +![2-1-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.webp) ### 2.2 在`run.sh`文件中写入以下内容 @@ -263,35 +263,35 @@ asyncio.run(main()) #### 2.4.1 启动命令填`sh run.sh`, 点击"提交" -![2-4-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.png) +![2-4-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.webp) #### 2.4.2 选择任务运行环境(双机四卡它不香吗) -![2-4-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.png) +![2-4-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.webp) #### 2.4.3 任务要排队,等一小会儿看到在执行中了就可以点击"查看日志"了 -![2-4-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.png) +![2-4-3](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.webp) #### 2.4.4 如果看到下面的这种情况就说明机器人已经跑起来啦,赶紧去给你的机器人发信息试一试吧 -![2-4-4](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.png) +![2-4-4](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.webp) ## 3. 接入paddlehub模型使机器人更智能 paddlehub官网地址: [https://www.paddlepaddle.org.cn/hub](https://www.paddlepaddle.org.cn/hub) -![3-0-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.png) +![3-0-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.webp) 模型库地址: [https://www.paddlepaddle.org.cn/hublist](https://www.paddlepaddle.org.cn/hublist) -![3-0-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.png) +![3-0-2](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.webp) ### 3.1 在paddlehub找一个你需要的模型,这里我以图像生成模型作为演示 模型地址: [https://www.paddlepaddle.org.cn/hubdetail?name=animegan_v2_shinkai_33&en_category=GANs](https://www.paddlepaddle.org.cn/hubdetail?name=animegan_v2_shinkai_33&en_category=GANs) -![3-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.png) +![3-1](/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.webp) ### 3.2 修改`run.sh`文件 diff --git a/jekyll/_posts/2021-06-11-ospp-startup-discussion.md b/jekyll/_posts/2021-06-11-ospp-startup-discussion.md index 71dd108996a..0c669dd0a5c 100644 --- a/jekyll/_posts/2021-06-11-ospp-startup-discussion.md +++ b/jekyll/_posts/2021-06-11-ospp-startup-discussion.md @@ -1,7 +1,7 @@ --- title: "OSPP 2021 Project Status" author: wj-mcat -image: /assets/2021/06-ospp-startup-discussion/ospp-meeting-image.png +image: /assets/2021/06-ospp-startup-discussion/ospp-meeting-image.webp categories: event tags: - ospp diff --git a/jekyll/_posts/2021-06-17-wxrobot-backend-management.md b/jekyll/_posts/2021-06-17-wxrobot-backend-management.md index 8fc7056a588..cc1e8169411 100644 --- a/jekyll/_posts/2021-06-17-wxrobot-backend-management.md +++ b/jekyll/_posts/2021-06-17-wxrobot-backend-management.md @@ -10,7 +10,7 @@ tags: - nuxt - feature - utility -image: /assets/2021/06-wxrobot-backend-management/admin.png +image: /assets/2021/06-wxrobot-backend-management/admin.webp --- 微信机器人开源库调研,[GitHub](https://github.com/) 找到以下 3 个开源作品: @@ -111,7 +111,7 @@ Wechaty.instance() - 低智商对话 - 成语接龙,查天气,查酒店,歇后语... -![admin](/assets/2021/06-wxrobot-backend-management/admin.png) +![admin](/assets/2021/06-wxrobot-backend-management/admin.webp) ### 技术构成 diff --git a/jekyll/_posts/2021-06-23-the-wechaty-way.md b/jekyll/_posts/2021-06-23-the-wechaty-way.md index 1ae9f85d909..18f07efc2bc 100644 --- a/jekyll/_posts/2021-06-23-the-wechaty-way.md +++ b/jekyll/_posts/2021-06-23-the-wechaty-way.md @@ -69,7 +69,7 @@ Meeting Notes 有以下几个价值: 这是 Meeting Notes 的模板内容(可以在 Meeting Notes 最底部拿到文字版,我这里放了图片方便看格式): -![meeting-notes](/assets/2021/06-the-wechaty-way/meeting-notes.png) +![meeting-notes](/assets/2021/06-the-wechaty-way/meeting-notes.webp) 具体使用流程指南: @@ -104,7 +104,7 @@ Meeting Notes 有以下几个价值: [Wechaty ❤️ Google Season of Docs: Kick-off meeting with 20 Technical Writers!](https://www.youtube.com/watch?v=hTkM_XPpFfU&list=PL8hd9KDTdarDXf_Rxtr8meKhxtgcXMInh&index=43) 就是一个很好的示例。因为一次会议的时间很长,其他人看视频的时候就可以很容易根据下图介绍知道 **视频中 0:01:41 的时候讲的内容是 Introducing the Meeting Agenda**, 同时点击 **0:01:41** 可以快速跳转到视频播放的地方。 -![youtube-example](/assets/2021/06-the-wechaty-way/youtube-example.jpg) +![youtube-example](/assets/2021/06-the-wechaty-way/youtube-example.webp) 上传视频以后,主持人要去社区发布一个会议的博客,并嵌入视频内容,这样就能保证这次会议进行了存档并可以共享个社区的任何开发者。 @@ -198,7 +198,7 @@ Wechaty 的 Contributor [xpt](https://stackoverflow.com/users/2125837/xpt) 在 S - 完成 CLA 的签署 - 关联相关的 Issue 链接 -![pr](/assets/2021/06-the-wechaty-way/pr.png) +![pr](/assets/2021/06-the-wechaty-way/pr.webp) ## Wechaty RFC @@ -206,7 +206,7 @@ Wechaty 的 Contributor [xpt](https://stackoverflow.com/users/2125837/xpt) 在 S 如这是 Wechaty Commiter [高原](https://wechaty.js.org/contributors/windmemory/) 发布的[提案](https://github.com/wechaty/wechaty/issues/1776): -![rfc](/assets/2021/06-the-wechaty-way/rfc.png) +![rfc](/assets/2021/06-the-wechaty-way/rfc.webp) ## 进阶,了解 Apache Way,知道如何更好的参与开源项目 diff --git a/jekyll/_posts/2021-06-24-summer-wechaty-guide.md b/jekyll/_posts/2021-06-24-summer-wechaty-guide.md index b1022f50419..2542b296e81 100644 --- a/jekyll/_posts/2021-06-24-summer-wechaty-guide.md +++ b/jekyll/_posts/2021-06-24-summer-wechaty-guide.md @@ -13,7 +13,7 @@ tags: - ospp - ospp-2021 - news -image: /assets/2021/06-summer-wechaty-guide/teaser.png +image: /assets/2021/06-summer-wechaty-guide/teaser.webp --- 开源软件供应链点亮计划-暑期 2021 的见面会在 [ninetailskim](https://wechaty.js.org/contributors/ninetailskim/)的主持下圆满完成,关于开源软件供应链点亮计划的详细内容,详见 [Wechaty Summer of Code 2021 Kickoff Meeting](https://wechaty.js.org/2021/06/24/wechaty-soc-kick-off-meeting/) diff --git a/jekyll/_posts/2021-07-05-code-like-poetry-bot-like-song.md b/jekyll/_posts/2021-07-05-code-like-poetry-bot-like-song.md index 0b709e97b8a..b10d225eaf7 100644 --- a/jekyll/_posts/2021-07-05-code-like-poetry-bot-like-song.md +++ b/jekyll/_posts/2021-07-05-code-like-poetry-bot-like-song.md @@ -4,7 +4,7 @@ author: cixingguangming55555 categories: article tags: - bot -image: /assets/2021/07-code-like-poetry-bot-like-song/cover.jpg +image: /assets/2021/07-code-like-poetry-bot-like-song/cover.webp --- ## 非关 diff --git a/jekyll/_posts/2021-07-05-puppet-laozhang-wechat-bot.md b/jekyll/_posts/2021-07-05-puppet-laozhang-wechat-bot.md index e56f40e95d3..878c349ef0b 100644 --- a/jekyll/_posts/2021-07-05-puppet-laozhang-wechat-bot.md +++ b/jekyll/_posts/2021-07-05-puppet-laozhang-wechat-bot.md @@ -6,7 +6,7 @@ tags: - blog - study - introduction -image: /assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.png +image: /assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.webp --- 继”wechaty免费版web协议重放荣光“之后,很高兴向大家预告Wechaty免费版Windows协议即将与大家见面,如果之前苦于web协议不能获取准确的wxid、roomid等问题,那么这个更新将会解决你的困扰。 diff --git a/jekyll/_posts/2021-07-07-wechaty-with-paddlepaddle.md b/jekyll/_posts/2021-07-07-wechaty-with-paddlepaddle.md index e210c76ec40..e6c3bfb29c9 100644 --- a/jekyll/_posts/2021-07-07-wechaty-with-paddlepaddle.md +++ b/jekyll/_posts/2021-07-07-wechaty-with-paddlepaddle.md @@ -9,7 +9,7 @@ tags: - featured - chatbot - competition -image: /assets/2021/07-wechaty-with-paddlepaddle/header.png +image: /assets/2021/07-wechaty-with-paddlepaddle/header.webp --- 硬核ML Chatbot 大赛重磅来袭! @@ -21,7 +21,7 @@ Metaverse元宇宙的奥秘,等你来揭晓! ## 🌟 惊喜奖品大揭秘!🌟 -![prize](/assets/2021/07-wechaty-with-paddlepaddle/prize.png) +![prize](/assets/2021/07-wechaty-with-paddlepaddle/prize.webp) ## ✨ 更多比赛福利!✨ @@ -30,7 +30,7 @@ Metaverse元宇宙的奥秘,等你来揭晓! - Paddle & Wechaty工程师1对1指导 - PPDE(飞桨开发者技术专家)绿色通道 -![qr](/assets/2021/07-wechaty-with-paddlepaddle/qr.png) +![qr](/assets/2021/07-wechaty-with-paddlepaddle/qr.webp) 扫码报名,马上获取比赛福利! @@ -39,16 +39,16 @@ Metaverse元宇宙的奥秘,等你来揭晓! > AI创造营是百度大脑AI Studio平台举办的系列创意赛,目前已成功举办两期,涌现出许多好玩有趣的AI创意项目,精彩内容请往下看! 《新一代超能力:隔空取物》当前累计star数 248+。有了Paddle Paddle技术的加持,偶像爱豆的照片统统可以“贴”在电脑桌面上,陪你看剧听歌工作。 -![pic_mask](/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif) +![pic_mask](/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.webp) 《未来流浪者》已累计近200 star,是一个基于PaddleHub、Wechaty与彩云小梦的科幻机器人,可以实现未来旅行者跟人类的互动,即时发送位置、照片和游记等。 -![wanderer](/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif) +![wanderer](/assets/2021/07-wechaty-with-paddlepaddle/wanderer.webp) 《BotBay专属机器人小助手》是以生物多样性为命题的机器人赋能平台,采用一入口(微信),一平台(botPlatform),多支撑(PaddleWorkers)的模式进行设计与开发,借比赛实现自己的科幻梦想。 -![botbay](/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif) +![botbay](/assets/2021/07-wechaty-with-paddlepaddle/botbay.webp) 《熊猫头表情生成器》是一个可以生成个人专属熊猫头表情包的聊天机器人,个性化聊天内容由你来掌控。! -![panda_emoji](/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif) +![panda_emoji](/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.webp) ### 创意赛直播讲解 @@ -60,4 +60,4 @@ Metaverse元宇宙的奥秘,等你来揭晓! - 7月25日:北京场线下脑暴会 现场名额有限,赶快入群获取报名链接吧! -![qrcode](/assets/2021/07-wechaty-with-paddlepaddle/qrcode.png) +![qrcode](/assets/2021/07-wechaty-with-paddlepaddle/qrcode.webp) diff --git a/jekyll/assets/2016/ghostcloud-banner.jpg b/jekyll/assets/2016/ghostcloud-banner.jpg deleted file mode 100644 index cb0338d9196..00000000000 Binary files a/jekyll/assets/2016/ghostcloud-banner.jpg and /dev/null differ diff --git a/jekyll/assets/2016/ghostcloud-banner.webp b/jekyll/assets/2016/ghostcloud-banner.webp new file mode 100644 index 00000000000..ad082d9b693 Binary files /dev/null and b/jekyll/assets/2016/ghostcloud-banner.webp differ diff --git a/jekyll/assets/2016/ghostcloud-log.jpg b/jekyll/assets/2016/ghostcloud-log.jpg deleted file mode 100755 index 7161409f6a0..00000000000 Binary files a/jekyll/assets/2016/ghostcloud-log.jpg and /dev/null differ diff --git a/jekyll/assets/2016/ghostcloud-log.webp b/jekyll/assets/2016/ghostcloud-log.webp new file mode 100644 index 00000000000..b0406b19fc2 Binary files /dev/null and b/jekyll/assets/2016/ghostcloud-log.webp differ diff --git a/jekyll/assets/2016/ghostcloud-message.jpg b/jekyll/assets/2016/ghostcloud-message.jpg deleted file mode 100644 index f0eedc4ee58..00000000000 Binary files a/jekyll/assets/2016/ghostcloud-message.jpg and /dev/null differ diff --git a/jekyll/assets/2016/ghostcloud-message.webp b/jekyll/assets/2016/ghostcloud-message.webp new file mode 100644 index 00000000000..e6d6bb9018c Binary files /dev/null and b/jekyll/assets/2016/ghostcloud-message.webp differ diff --git a/jekyll/assets/2016/ghostcloud-qrcode.jpg b/jekyll/assets/2016/ghostcloud-qrcode.jpg deleted file mode 100644 index 4d98d41fc5f..00000000000 Binary files a/jekyll/assets/2016/ghostcloud-qrcode.jpg and /dev/null differ diff --git a/jekyll/assets/2016/ghostcloud-qrcode.webp b/jekyll/assets/2016/ghostcloud-qrcode.webp new file mode 100644 index 00000000000..918666c9e26 Binary files /dev/null and b/jekyll/assets/2016/ghostcloud-qrcode.webp differ diff --git a/jekyll/assets/2016/gitchat-lijiarui-interview.jpg b/jekyll/assets/2016/gitchat-lijiarui-interview.jpg deleted file mode 100644 index 20eb6679eec..00000000000 Binary files a/jekyll/assets/2016/gitchat-lijiarui-interview.jpg and /dev/null differ diff --git a/jekyll/assets/2016/gitchat-lijiarui-interview.webp b/jekyll/assets/2016/gitchat-lijiarui-interview.webp new file mode 100644 index 00000000000..a66e2e97bdc Binary files /dev/null and b/jekyll/assets/2016/gitchat-lijiarui-interview.webp differ diff --git a/jekyll/assets/2016/jaslin-case-study.jpg b/jekyll/assets/2016/jaslin-case-study.jpg deleted file mode 100644 index 29a5aeaa009..00000000000 Binary files a/jekyll/assets/2016/jaslin-case-study.jpg and /dev/null differ diff --git a/jekyll/assets/2016/jaslin-case-study.webp b/jekyll/assets/2016/jaslin-case-study.webp new file mode 100644 index 00000000000..4a22d601084 Binary files /dev/null and b/jekyll/assets/2016/jaslin-case-study.webp differ diff --git a/jekyll/assets/2016/jaslin-use-case-record.jpg b/jekyll/assets/2016/jaslin-use-case-record.jpg deleted file mode 100644 index 8453438b38f..00000000000 Binary files a/jekyll/assets/2016/jaslin-use-case-record.jpg and /dev/null differ diff --git a/jekyll/assets/2016/jaslin-use-case-record.webp b/jekyll/assets/2016/jaslin-use-case-record.webp new file mode 100644 index 00000000000..6f1f7565423 Binary files /dev/null and b/jekyll/assets/2016/jaslin-use-case-record.webp differ diff --git a/jekyll/assets/2016/jaslin-use-case-send.jpg b/jekyll/assets/2016/jaslin-use-case-send.jpg deleted file mode 100644 index 08b24f7e16b..00000000000 Binary files a/jekyll/assets/2016/jaslin-use-case-send.jpg and /dev/null differ diff --git a/jekyll/assets/2016/jaslin-use-case-send.webp b/jekyll/assets/2016/jaslin-use-case-send.webp new file mode 100644 index 00000000000..ffb13752b57 Binary files /dev/null and b/jekyll/assets/2016/jaslin-use-case-send.webp differ diff --git a/jekyll/assets/2016/jaslin-use-case-statistics.jpg b/jekyll/assets/2016/jaslin-use-case-statistics.jpg deleted file mode 100644 index f9f649d319b..00000000000 Binary files a/jekyll/assets/2016/jaslin-use-case-statistics.jpg and /dev/null differ diff --git a/jekyll/assets/2016/jaslin-use-case-statistics.webp b/jekyll/assets/2016/jaslin-use-case-statistics.webp new file mode 100644 index 00000000000..68f44088304 Binary files /dev/null and b/jekyll/assets/2016/jaslin-use-case-statistics.webp differ diff --git a/jekyll/assets/2016/nodeparty-banner.jpg b/jekyll/assets/2016/nodeparty-banner.jpg deleted file mode 100644 index fa6a59bbdb1..00000000000 Binary files a/jekyll/assets/2016/nodeparty-banner.jpg and /dev/null differ diff --git a/jekyll/assets/2016/nodeparty-banner.webp b/jekyll/assets/2016/nodeparty-banner.webp new file mode 100644 index 00000000000..e0a11bc1f96 Binary files /dev/null and b/jekyll/assets/2016/nodeparty-banner.webp differ diff --git a/jekyll/assets/2016/nodeparty-speaker.jpg b/jekyll/assets/2016/nodeparty-speaker.jpg deleted file mode 100644 index 1bba38e4528..00000000000 Binary files a/jekyll/assets/2016/nodeparty-speaker.jpg and /dev/null differ diff --git a/jekyll/assets/2016/nodeparty-speaker.webp b/jekyll/assets/2016/nodeparty-speaker.webp new file mode 100644 index 00000000000..57a86589bcc Binary files /dev/null and b/jekyll/assets/2016/nodeparty-speaker.webp differ diff --git a/jekyll/assets/2016/nodeparty-speaker2.jpg b/jekyll/assets/2016/nodeparty-speaker2.jpg deleted file mode 100644 index f4de9b667be..00000000000 Binary files a/jekyll/assets/2016/nodeparty-speaker2.jpg and /dev/null differ diff --git a/jekyll/assets/2016/nodeparty-speaker2.webp b/jekyll/assets/2016/nodeparty-speaker2.webp new file mode 100644 index 00000000000..84edc49e2a2 Binary files /dev/null and b/jekyll/assets/2016/nodeparty-speaker2.webp differ diff --git a/jekyll/assets/2016/ruirui-dance.jpg b/jekyll/assets/2016/ruirui-dance.jpg deleted file mode 100644 index 42ceb2e2218..00000000000 Binary files a/jekyll/assets/2016/ruirui-dance.jpg and /dev/null differ diff --git a/jekyll/assets/2016/ruirui-dance.webp b/jekyll/assets/2016/ruirui-dance.webp new file mode 100644 index 00000000000..cd1952c3b28 Binary files /dev/null and b/jekyll/assets/2016/ruirui-dance.webp differ diff --git a/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg b/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg deleted file mode 100644 index 002b186d1b2..00000000000 Binary files a/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg and /dev/null differ diff --git a/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.webp b/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.webp new file mode 100644 index 00000000000..327cb927b57 Binary files /dev/null and b/jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.webp differ diff --git a/jekyll/assets/2017/antonia0912-issue-4-seminar.jpg b/jekyll/assets/2017/antonia0912-issue-4-seminar.jpg deleted file mode 100644 index a288af27f73..00000000000 Binary files a/jekyll/assets/2017/antonia0912-issue-4-seminar.jpg and /dev/null differ diff --git a/jekyll/assets/2017/antonia0912-issue-4-seminar.webp b/jekyll/assets/2017/antonia0912-issue-4-seminar.webp new file mode 100644 index 00000000000..aafb941cee8 Binary files /dev/null and b/jekyll/assets/2017/antonia0912-issue-4-seminar.webp differ diff --git a/jekyll/assets/2017/binsee-wechaty-structure.png b/jekyll/assets/2017/binsee-wechaty-structure.png deleted file mode 100644 index 571bcf3d200..00000000000 Binary files a/jekyll/assets/2017/binsee-wechaty-structure.png and /dev/null differ diff --git a/jekyll/assets/2017/binsee-wechaty-structure.webp b/jekyll/assets/2017/binsee-wechaty-structure.webp new file mode 100644 index 00000000000..341e6cd7d91 Binary files /dev/null and b/jekyll/assets/2017/binsee-wechaty-structure.webp differ diff --git a/jekyll/assets/2017/dcsan-dashbot.jpg b/jekyll/assets/2017/dcsan-dashbot.jpg deleted file mode 100755 index d7c0ebc9d2e..00000000000 Binary files a/jekyll/assets/2017/dcsan-dashbot.jpg and /dev/null differ diff --git a/jekyll/assets/2017/dcsan-dashbot.webp b/jekyll/assets/2017/dcsan-dashbot.webp new file mode 100644 index 00000000000..806e07cdabc Binary files /dev/null and b/jekyll/assets/2017/dcsan-dashbot.webp differ diff --git a/jekyll/assets/2017/dcsan-shanghai-meetup.jpg b/jekyll/assets/2017/dcsan-shanghai-meetup.jpg deleted file mode 100755 index 46ca658daec..00000000000 Binary files a/jekyll/assets/2017/dcsan-shanghai-meetup.jpg and /dev/null differ diff --git a/jekyll/assets/2017/dcsan-shanghai-meetup.webp b/jekyll/assets/2017/dcsan-shanghai-meetup.webp new file mode 100644 index 00000000000..aca788b34e1 Binary files /dev/null and b/jekyll/assets/2017/dcsan-shanghai-meetup.webp differ diff --git a/jekyll/assets/2017/gcaufy-hot-reload-screencast.gif b/jekyll/assets/2017/gcaufy-hot-reload-screencast.gif deleted file mode 100644 index 85a3395deb7..00000000000 Binary files a/jekyll/assets/2017/gcaufy-hot-reload-screencast.gif and /dev/null differ diff --git a/jekyll/assets/2017/gcaufy-hot-reload-screencast.webp b/jekyll/assets/2017/gcaufy-hot-reload-screencast.webp new file mode 100644 index 00000000000..cb2d0c6fc07 Binary files /dev/null and b/jekyll/assets/2017/gcaufy-hot-reload-screencast.webp differ diff --git a/jekyll/assets/2017/h4dex-inject.png b/jekyll/assets/2017/h4dex-inject.png deleted file mode 100644 index 74c3375d3ce..00000000000 Binary files a/jekyll/assets/2017/h4dex-inject.png and /dev/null differ diff --git a/jekyll/assets/2017/h4dex-inject.webp b/jekyll/assets/2017/h4dex-inject.webp new file mode 100644 index 00000000000..d819acfa898 Binary files /dev/null and b/jekyll/assets/2017/h4dex-inject.webp differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png deleted file mode 100644 index f7188461faa..00000000000 Binary files a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png and /dev/null differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.webp b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.webp new file mode 100644 index 00000000000..8a6af9bbabc Binary files /dev/null and b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.webp differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.jpg b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.jpg deleted file mode 100644 index 9af44a4c481..00000000000 Binary files a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.jpg and /dev/null differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.webp b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.webp new file mode 100644 index 00000000000..98004e98e70 Binary files /dev/null and b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.webp differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.png b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.png deleted file mode 100644 index c27fe9a04fb..00000000000 Binary files a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.png and /dev/null differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.webp b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.webp new file mode 100644 index 00000000000..afd01648061 Binary files /dev/null and b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.webp differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.png b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.png deleted file mode 100644 index 13967ba4563..00000000000 Binary files a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.png and /dev/null differ diff --git a/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.webp b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.webp new file mode 100644 index 00000000000..b6431f33248 Binary files /dev/null and b/jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.webp differ diff --git a/jekyll/assets/2017/helen-screenshot-doc.png b/jekyll/assets/2017/helen-screenshot-doc.png deleted file mode 100644 index 031d266940f..00000000000 Binary files a/jekyll/assets/2017/helen-screenshot-doc.png and /dev/null differ diff --git a/jekyll/assets/2017/helen-screenshot-doc.webp b/jekyll/assets/2017/helen-screenshot-doc.webp new file mode 100644 index 00000000000..97a0ccb21a9 Binary files /dev/null and b/jekyll/assets/2017/helen-screenshot-doc.webp differ diff --git a/jekyll/assets/2017/helen-screenshot-testing.jpg b/jekyll/assets/2017/helen-screenshot-testing.jpg deleted file mode 100644 index e240b485be1..00000000000 Binary files a/jekyll/assets/2017/helen-screenshot-testing.jpg and /dev/null differ diff --git a/jekyll/assets/2017/helen-screenshot-testing.webp b/jekyll/assets/2017/helen-screenshot-testing.webp new file mode 100644 index 00000000000..ea9587e6a0b Binary files /dev/null and b/jekyll/assets/2017/helen-screenshot-testing.webp differ diff --git a/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.png b/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.png deleted file mode 100644 index 4df5873bef6..00000000000 Binary files a/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.png and /dev/null differ diff --git a/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.webp b/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.webp new file mode 100644 index 00000000000..e1f4f4b7010 Binary files /dev/null and b/jekyll/assets/2017/huan-wechaty-new-version-0.9.0.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.jpg deleted file mode 100644 index 93716279665..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.webp new file mode 100644 index 00000000000..53e5afd2874 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.jpg deleted file mode 100644 index 9b639329297..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.webp new file mode 100644 index 00000000000..a06b1ca9962 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.jpg deleted file mode 100644 index a859377a2c2..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.webp new file mode 100644 index 00000000000..5f306fab379 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.jpg deleted file mode 100644 index 86dbd530631..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.webp new file mode 100644 index 00000000000..b82c914b579 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.jpg deleted file mode 100644 index 0b2f76dfc27..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.webp new file mode 100644 index 00000000000..f7b4434587d Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.jpg deleted file mode 100644 index 732e76a2146..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.webp new file mode 100644 index 00000000000..f9d14f23044 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg deleted file mode 100644 index 32d25dabab5..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.webp new file mode 100644 index 00000000000..42701caa68f Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.webp differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.jpg b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.jpg deleted file mode 100644 index e9aa2643573..00000000000 Binary files a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.jpg and /dev/null differ diff --git a/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.webp b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.webp new file mode 100644 index 00000000000..4418e814f93 Binary files /dev/null and b/jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.webp differ diff --git a/jekyll/assets/2017/iyjian-1.png b/jekyll/assets/2017/iyjian-1.png deleted file mode 100644 index e7cbf417ce7..00000000000 Binary files a/jekyll/assets/2017/iyjian-1.png and /dev/null differ diff --git a/jekyll/assets/2017/iyjian-1.webp b/jekyll/assets/2017/iyjian-1.webp new file mode 100644 index 00000000000..38162a31065 Binary files /dev/null and b/jekyll/assets/2017/iyjian-1.webp differ diff --git a/jekyll/assets/2017/iyjian-2.png b/jekyll/assets/2017/iyjian-2.png deleted file mode 100644 index b8071c3cbcc..00000000000 Binary files a/jekyll/assets/2017/iyjian-2.png and /dev/null differ diff --git a/jekyll/assets/2017/iyjian-2.webp b/jekyll/assets/2017/iyjian-2.webp new file mode 100644 index 00000000000..21476fcac13 Binary files /dev/null and b/jekyll/assets/2017/iyjian-2.webp differ diff --git a/jekyll/assets/2017/iyjian-3.jpg b/jekyll/assets/2017/iyjian-3.jpg deleted file mode 100644 index e676271735c..00000000000 Binary files a/jekyll/assets/2017/iyjian-3.jpg and /dev/null differ diff --git a/jekyll/assets/2017/iyjian-3.webp b/jekyll/assets/2017/iyjian-3.webp new file mode 100644 index 00000000000..bdb4791606f Binary files /dev/null and b/jekyll/assets/2017/iyjian-3.webp differ diff --git a/jekyll/assets/2017/leinue-bot.jpg b/jekyll/assets/2017/leinue-bot.jpg deleted file mode 100644 index 6472bff1516..00000000000 Binary files a/jekyll/assets/2017/leinue-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2017/leinue-bot.webp b/jekyll/assets/2017/leinue-bot.webp new file mode 100644 index 00000000000..3676b5f5b43 Binary files /dev/null and b/jekyll/assets/2017/leinue-bot.webp differ diff --git a/jekyll/assets/2017/leinue-screenshot.png b/jekyll/assets/2017/leinue-screenshot.png deleted file mode 100644 index 8e0e75bc6d6..00000000000 Binary files a/jekyll/assets/2017/leinue-screenshot.png and /dev/null differ diff --git a/jekyll/assets/2017/leinue-screenshot.webp b/jekyll/assets/2017/leinue-screenshot.webp new file mode 100644 index 00000000000..6d43a4b98df Binary files /dev/null and b/jekyll/assets/2017/leinue-screenshot.webp differ diff --git a/jekyll/assets/2017/lijiarui-speech-nodejs.jpg b/jekyll/assets/2017/lijiarui-speech-nodejs.jpg deleted file mode 100644 index 28b798596d9..00000000000 Binary files a/jekyll/assets/2017/lijiarui-speech-nodejs.jpg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-speech-nodejs.webp b/jekyll/assets/2017/lijiarui-speech-nodejs.webp new file mode 100644 index 00000000000..06af67f269c Binary files /dev/null and b/jekyll/assets/2017/lijiarui-speech-nodejs.webp differ diff --git a/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.jpg b/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.jpg deleted file mode 100644 index f2342d01207..00000000000 Binary files a/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.jpg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.webp b/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.webp new file mode 100644 index 00000000000..43b76902a60 Binary files /dev/null and b/jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.webp differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-docker-pull.jpeg b/jekyll/assets/2017/lijiarui-write-bot-docker-pull.jpeg deleted file mode 100644 index c6753eb1753..00000000000 Binary files a/jekyll/assets/2017/lijiarui-write-bot-docker-pull.jpeg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-docker-pull.webp b/jekyll/assets/2017/lijiarui-write-bot-docker-pull.webp new file mode 100644 index 00000000000..8faaf2aed04 Binary files /dev/null and b/jekyll/assets/2017/lijiarui-write-bot-docker-pull.webp differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-qr-code.jpeg b/jekyll/assets/2017/lijiarui-write-bot-qr-code.jpeg deleted file mode 100644 index ed6e9b50e4e..00000000000 Binary files a/jekyll/assets/2017/lijiarui-write-bot-qr-code.jpeg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-qr-code.webp b/jekyll/assets/2017/lijiarui-write-bot-qr-code.webp new file mode 100644 index 00000000000..1588ddbc073 Binary files /dev/null and b/jekyll/assets/2017/lijiarui-write-bot-qr-code.webp differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-run-ding.jpeg b/jekyll/assets/2017/lijiarui-write-bot-run-ding.jpeg deleted file mode 100644 index dbc51ac88c7..00000000000 Binary files a/jekyll/assets/2017/lijiarui-write-bot-run-ding.jpeg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-run-ding.webp b/jekyll/assets/2017/lijiarui-write-bot-run-ding.webp new file mode 100644 index 00000000000..9baa3753a3f Binary files /dev/null and b/jekyll/assets/2017/lijiarui-write-bot-run-ding.webp differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.jpeg b/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.jpeg deleted file mode 100644 index 4fd1e127ea5..00000000000 Binary files a/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.jpeg and /dev/null differ diff --git a/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.webp b/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.webp new file mode 100644 index 00000000000..1f475d0528c Binary files /dev/null and b/jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.webp differ diff --git a/jekyll/assets/2017/mukaiu-ding-code.jpg b/jekyll/assets/2017/mukaiu-ding-code.jpg deleted file mode 100644 index 485fc123262..00000000000 Binary files a/jekyll/assets/2017/mukaiu-ding-code.jpg and /dev/null differ diff --git a/jekyll/assets/2017/mukaiu-ding-code.webp b/jekyll/assets/2017/mukaiu-ding-code.webp new file mode 100644 index 00000000000..26d46294f9c Binary files /dev/null and b/jekyll/assets/2017/mukaiu-ding-code.webp differ diff --git a/jekyll/assets/2017/samrais-ss-1.png b/jekyll/assets/2017/samrais-ss-1.png deleted file mode 100644 index 0ce2ed0b442..00000000000 Binary files a/jekyll/assets/2017/samrais-ss-1.png and /dev/null differ diff --git a/jekyll/assets/2017/samrais-ss-1.webp b/jekyll/assets/2017/samrais-ss-1.webp new file mode 100644 index 00000000000..661b170d0f5 Binary files /dev/null and b/jekyll/assets/2017/samrais-ss-1.webp differ diff --git a/jekyll/assets/2017/samurais-the-matrix.jpg b/jekyll/assets/2017/samurais-the-matrix.jpg deleted file mode 100644 index 40f0e6d31b5..00000000000 Binary files a/jekyll/assets/2017/samurais-the-matrix.jpg and /dev/null differ diff --git a/jekyll/assets/2017/samurais-the-matrix.webp b/jekyll/assets/2017/samurais-the-matrix.webp new file mode 100644 index 00000000000..3e96495433b Binary files /dev/null and b/jekyll/assets/2017/samurais-the-matrix.webp differ diff --git a/jekyll/assets/2017/samurias-hifive.jpg b/jekyll/assets/2017/samurias-hifive.jpg deleted file mode 100644 index 389c2fb7c5c..00000000000 Binary files a/jekyll/assets/2017/samurias-hifive.jpg and /dev/null differ diff --git a/jekyll/assets/2017/samurias-hifive.webp b/jekyll/assets/2017/samurias-hifive.webp new file mode 100644 index 00000000000..e607b6474bb Binary files /dev/null and b/jekyll/assets/2017/samurias-hifive.webp differ diff --git a/jekyll/assets/2017/wechat-meeting.jpg b/jekyll/assets/2017/wechat-meeting.jpg deleted file mode 100644 index 2ed4f81529d..00000000000 Binary files a/jekyll/assets/2017/wechat-meeting.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechat-meeting.webp b/jekyll/assets/2017/wechat-meeting.webp new file mode 100644 index 00000000000..40c09122c66 Binary files /dev/null and b/jekyll/assets/2017/wechat-meeting.webp differ diff --git a/jekyll/assets/2017/wechaty-connect-chatbots.jpg b/jekyll/assets/2017/wechaty-connect-chatbots.jpg deleted file mode 100644 index 8859650ccba..00000000000 Binary files a/jekyll/assets/2017/wechaty-connect-chatbots.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-connect-chatbots.webp b/jekyll/assets/2017/wechaty-connect-chatbots.webp new file mode 100644 index 00000000000..8ba0bdf8f7c Binary files /dev/null and b/jekyll/assets/2017/wechaty-connect-chatbots.webp differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg deleted file mode 100644 index 29f0507b73f..00000000000 Binary files a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.webp b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.webp new file mode 100644 index 00000000000..1d182bd1a69 Binary files /dev/null and b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.webp differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.jpg b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.jpg deleted file mode 100644 index de26cd18d25..00000000000 Binary files a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.webp b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.webp new file mode 100644 index 00000000000..80a0aad6d38 Binary files /dev/null and b/jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.webp differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.jpg b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.jpg deleted file mode 100644 index 969b14cfca1..00000000000 Binary files a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.webp b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.webp new file mode 100644 index 00000000000..a158ea07336 Binary files /dev/null and b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.webp differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.jpg b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.jpg deleted file mode 100644 index 07940155076..00000000000 Binary files a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.webp b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.webp new file mode 100644 index 00000000000..09f738fe1e9 Binary files /dev/null and b/jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.webp differ diff --git a/jekyll/assets/2017/wechaty-email-demo.jpeg b/jekyll/assets/2017/wechaty-email-demo.jpeg deleted file mode 100644 index 0ba14907758..00000000000 Binary files a/jekyll/assets/2017/wechaty-email-demo.jpeg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-email-demo.webp b/jekyll/assets/2017/wechaty-email-demo.webp new file mode 100644 index 00000000000..bbcc13d6f7c Binary files /dev/null and b/jekyll/assets/2017/wechaty-email-demo.webp differ diff --git a/jekyll/assets/2017/wechaty-email.png b/jekyll/assets/2017/wechaty-email.png deleted file mode 100644 index 71337fca282..00000000000 Binary files a/jekyll/assets/2017/wechaty-email.png and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-email.webp b/jekyll/assets/2017/wechaty-email.webp new file mode 100644 index 00000000000..0a34e64f107 Binary files /dev/null and b/jekyll/assets/2017/wechaty-email.webp differ diff --git a/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.jpg b/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.jpg deleted file mode 100644 index 98dbbb4e03f..00000000000 Binary files a/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.webp b/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.webp new file mode 100644 index 00000000000..b1c3290ad4d Binary files /dev/null and b/jekyll/assets/2017/wechaty-selfie-demo-screenshoot.webp differ diff --git a/jekyll/assets/2017/wechaty-selfie-pear.jpg b/jekyll/assets/2017/wechaty-selfie-pear.jpg deleted file mode 100644 index b0078adddd4..00000000000 Binary files a/jekyll/assets/2017/wechaty-selfie-pear.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-selfie-pear.webp b/jekyll/assets/2017/wechaty-selfie-pear.webp new file mode 100644 index 00000000000..1e129bc2dff Binary files /dev/null and b/jekyll/assets/2017/wechaty-selfie-pear.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker-ipad.jpg b/jekyll/assets/2017/wechaty-sticker-ipad.jpg deleted file mode 100644 index 25c1dcb2c69..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker-ipad.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker-ipad.webp b/jekyll/assets/2017/wechaty-sticker-ipad.webp new file mode 100644 index 00000000000..603d84ec6e1 Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker-ipad.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker-mac-inside.jpg b/jekyll/assets/2017/wechaty-sticker-mac-inside.jpg deleted file mode 100644 index 292b4a04d85..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker-mac-inside.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker-mac-inside.webp b/jekyll/assets/2017/wechaty-sticker-mac-inside.webp new file mode 100644 index 00000000000..d64ff3bbb64 Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker-mac-inside.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker-mac.jpg b/jekyll/assets/2017/wechaty-sticker-mac.jpg deleted file mode 100644 index 9314ef99fac..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker-mac.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker-mac.webp b/jekyll/assets/2017/wechaty-sticker-mac.webp new file mode 100644 index 00000000000..3391a1a6968 Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker-mac.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker-size.jpg b/jekyll/assets/2017/wechaty-sticker-size.jpg deleted file mode 100644 index d59ffa40b21..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker-size.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker-size.webp b/jekyll/assets/2017/wechaty-sticker-size.webp new file mode 100644 index 00000000000..2cc1250b82b Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker-size.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker-windows.jpg b/jekyll/assets/2017/wechaty-sticker-windows.jpg deleted file mode 100644 index 901d83d33c2..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker-windows.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker-windows.webp b/jekyll/assets/2017/wechaty-sticker-windows.webp new file mode 100644 index 00000000000..51742fbeff1 Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker-windows.webp differ diff --git a/jekyll/assets/2017/wechaty-sticker.jpg b/jekyll/assets/2017/wechaty-sticker.jpg deleted file mode 100644 index 82ee42d4f1a..00000000000 Binary files a/jekyll/assets/2017/wechaty-sticker.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-sticker.webp b/jekyll/assets/2017/wechaty-sticker.webp new file mode 100644 index 00000000000..70fc85ff667 Binary files /dev/null and b/jekyll/assets/2017/wechaty-sticker.webp differ diff --git a/jekyll/assets/2017/wechaty-wwdc.jpg b/jekyll/assets/2017/wechaty-wwdc.jpg deleted file mode 100644 index 2f3f81e68cb..00000000000 Binary files a/jekyll/assets/2017/wechaty-wwdc.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wechaty-wwdc.webp b/jekyll/assets/2017/wechaty-wwdc.webp new file mode 100644 index 00000000000..78591f1bef7 Binary files /dev/null and b/jekyll/assets/2017/wechaty-wwdc.webp differ diff --git a/jekyll/assets/2017/wildcat-rails-admin-panel.png b/jekyll/assets/2017/wildcat-rails-admin-panel.png deleted file mode 100644 index 7733ced4bfa..00000000000 Binary files a/jekyll/assets/2017/wildcat-rails-admin-panel.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-rails-admin-panel.webp b/jekyll/assets/2017/wildcat-rails-admin-panel.webp new file mode 100644 index 00000000000..82234d72846 Binary files /dev/null and b/jekyll/assets/2017/wildcat-rails-admin-panel.webp differ diff --git a/jekyll/assets/2017/wildcat-rails-architecture-1.png b/jekyll/assets/2017/wildcat-rails-architecture-1.png deleted file mode 100644 index 18ef4cb21ea..00000000000 Binary files a/jekyll/assets/2017/wildcat-rails-architecture-1.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-rails-architecture-1.webp b/jekyll/assets/2017/wildcat-rails-architecture-1.webp new file mode 100644 index 00000000000..a6924aab674 Binary files /dev/null and b/jekyll/assets/2017/wildcat-rails-architecture-1.webp differ diff --git a/jekyll/assets/2017/wildcat-rails-architecture-2.png b/jekyll/assets/2017/wildcat-rails-architecture-2.png deleted file mode 100644 index 5c4ec4848c1..00000000000 Binary files a/jekyll/assets/2017/wildcat-rails-architecture-2.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-rails-architecture-2.webp b/jekyll/assets/2017/wildcat-rails-architecture-2.webp new file mode 100644 index 00000000000..98dac03a6f3 Binary files /dev/null and b/jekyll/assets/2017/wildcat-rails-architecture-2.webp differ diff --git a/jekyll/assets/2017/wildcat-rails-db-initial-structure.png b/jekyll/assets/2017/wildcat-rails-db-initial-structure.png deleted file mode 100644 index 2cf8c1f85d3..00000000000 Binary files a/jekyll/assets/2017/wildcat-rails-db-initial-structure.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-rails-db-initial-structure.webp b/jekyll/assets/2017/wildcat-rails-db-initial-structure.webp new file mode 100644 index 00000000000..91bc761738f Binary files /dev/null and b/jekyll/assets/2017/wildcat-rails-db-initial-structure.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.png b/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.png deleted file mode 100644 index 7ece2711c66..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.webp b/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.webp new file mode 100644 index 00000000000..bc6d67de918 Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.jpg b/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.jpg deleted file mode 100644 index 8514c15b08f..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.webp b/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.webp new file mode 100644 index 00000000000..e9b969bfb9b Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.jpg b/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.jpg deleted file mode 100644 index 0ff216c0d02..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.jpg and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.webp b/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.webp new file mode 100644 index 00000000000..e98ff371d63 Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-testing.png b/jekyll/assets/2017/wildcat-tf-screenshot-testing.png deleted file mode 100644 index 8ca575c2f69..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-screenshot-testing.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-testing.webp b/jekyll/assets/2017/wildcat-tf-screenshot-testing.webp new file mode 100644 index 00000000000..c595c37df00 Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-screenshot-testing.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-training.png b/jekyll/assets/2017/wildcat-tf-screenshot-training.png deleted file mode 100644 index be07fd8a765..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-screenshot-training.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-screenshot-training.webp b/jekyll/assets/2017/wildcat-tf-screenshot-training.webp new file mode 100644 index 00000000000..ee2b1f38105 Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-screenshot-training.webp differ diff --git a/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png b/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png deleted file mode 100644 index 04cd7042a59..00000000000 Binary files a/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png and /dev/null differ diff --git a/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.webp b/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.webp new file mode 100644 index 00000000000..6471c7f0a81 Binary files /dev/null and b/jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.webp differ diff --git a/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.png b/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.png deleted file mode 100644 index 938b77e005c..00000000000 Binary files a/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.webp b/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.webp new file mode 100644 index 00000000000..e9b21f80328 Binary files /dev/null and b/jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.webp differ diff --git a/jekyll/assets/2018/abstract-info.png b/jekyll/assets/2018/abstract-info.png deleted file mode 100644 index 750da01372c..00000000000 Binary files a/jekyll/assets/2018/abstract-info.png and /dev/null differ diff --git a/jekyll/assets/2018/abstract-info.webp b/jekyll/assets/2018/abstract-info.webp new file mode 100644 index 00000000000..d570cd71932 Binary files /dev/null and b/jekyll/assets/2018/abstract-info.webp differ diff --git a/jekyll/assets/2018/agent-smith-clone-anderson.jpg b/jekyll/assets/2018/agent-smith-clone-anderson.jpg deleted file mode 100644 index 826beb740b2..00000000000 Binary files a/jekyll/assets/2018/agent-smith-clone-anderson.jpg and /dev/null differ diff --git a/jekyll/assets/2018/agent-smith-clone-anderson.webp b/jekyll/assets/2018/agent-smith-clone-anderson.webp new file mode 100644 index 00000000000..c880c00a560 Binary files /dev/null and b/jekyll/assets/2018/agent-smith-clone-anderson.webp differ diff --git a/jekyll/assets/2018/birthday-cake-chickens.gif b/jekyll/assets/2018/birthday-cake-chickens.gif deleted file mode 100644 index b923a5b5f12..00000000000 Binary files a/jekyll/assets/2018/birthday-cake-chickens.gif and /dev/null differ diff --git a/jekyll/assets/2018/birthday-cake-chickens.webp b/jekyll/assets/2018/birthday-cake-chickens.webp new file mode 100644 index 00000000000..9863e8ceb03 Binary files /dev/null and b/jekyll/assets/2018/birthday-cake-chickens.webp differ diff --git a/jekyll/assets/2018/birthday-cake-cut.png b/jekyll/assets/2018/birthday-cake-cut.png deleted file mode 100644 index afcb82533fc..00000000000 Binary files a/jekyll/assets/2018/birthday-cake-cut.png and /dev/null differ diff --git a/jekyll/assets/2018/birthday-cake-cut.webp b/jekyll/assets/2018/birthday-cake-cut.webp new file mode 100644 index 00000000000..c7395a809e3 Binary files /dev/null and b/jekyll/assets/2018/birthday-cake-cut.webp differ diff --git a/jekyll/assets/2018/birthday-cake-parents.png b/jekyll/assets/2018/birthday-cake-parents.png deleted file mode 100644 index 142d606b113..00000000000 Binary files a/jekyll/assets/2018/birthday-cake-parents.png and /dev/null differ diff --git a/jekyll/assets/2018/birthday-cake-parents.webp b/jekyll/assets/2018/birthday-cake-parents.webp new file mode 100644 index 00000000000..5f29e5372f1 Binary files /dev/null and b/jekyll/assets/2018/birthday-cake-parents.webp differ diff --git a/jekyll/assets/2018/blessed-twins-bot.png b/jekyll/assets/2018/blessed-twins-bot.png deleted file mode 100644 index 14ae53fb8ec..00000000000 Binary files a/jekyll/assets/2018/blessed-twins-bot.png and /dev/null differ diff --git a/jekyll/assets/2018/blessed-twins-bot.webp b/jekyll/assets/2018/blessed-twins-bot.webp new file mode 100644 index 00000000000..5a7a9f8ffbf Binary files /dev/null and b/jekyll/assets/2018/blessed-twins-bot.webp differ diff --git a/jekyll/assets/2018/botframework.jpg b/jekyll/assets/2018/botframework.jpg deleted file mode 100644 index 70370845976..00000000000 Binary files a/jekyll/assets/2018/botframework.jpg and /dev/null differ diff --git a/jekyll/assets/2018/botframework.webp b/jekyll/assets/2018/botframework.webp new file mode 100644 index 00000000000..439e8af49e2 Binary files /dev/null and b/jekyll/assets/2018/botframework.webp differ diff --git a/jekyll/assets/2018/code-migration-en.png b/jekyll/assets/2018/code-migration-en.png deleted file mode 100644 index bb1cf379706..00000000000 Binary files a/jekyll/assets/2018/code-migration-en.png and /dev/null differ diff --git a/jekyll/assets/2018/code-migration-en.webp b/jekyll/assets/2018/code-migration-en.webp new file mode 100644 index 00000000000..4f07d28c6fb Binary files /dev/null and b/jekyll/assets/2018/code-migration-en.webp differ diff --git a/jekyll/assets/2018/code-migration-zh.png b/jekyll/assets/2018/code-migration-zh.png deleted file mode 100644 index e9cc324be3d..00000000000 Binary files a/jekyll/assets/2018/code-migration-zh.png and /dev/null differ diff --git a/jekyll/assets/2018/code-migration-zh.webp b/jekyll/assets/2018/code-migration-zh.webp new file mode 100644 index 00000000000..2cb56f1061e Binary files /dev/null and b/jekyll/assets/2018/code-migration-zh.webp differ diff --git a/jekyll/assets/2018/country-wide-developer-conference.jpg b/jekyll/assets/2018/country-wide-developer-conference.jpg deleted file mode 100644 index dc4090a7a7d..00000000000 Binary files a/jekyll/assets/2018/country-wide-developer-conference.jpg and /dev/null differ diff --git a/jekyll/assets/2018/country-wide-developer-conference.webp b/jekyll/assets/2018/country-wide-developer-conference.webp new file mode 100644 index 00000000000..627a3b0ba59 Binary files /dev/null and b/jekyll/assets/2018/country-wide-developer-conference.webp differ diff --git a/jekyll/assets/2018/h4dex-wechatprotocol.jpeg b/jekyll/assets/2018/h4dex-wechatprotocol.jpeg deleted file mode 100644 index 308aa290fb6..00000000000 Binary files a/jekyll/assets/2018/h4dex-wechatprotocol.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/h4dex-wechatprotocol.webp b/jekyll/assets/2018/h4dex-wechatprotocol.webp new file mode 100644 index 00000000000..738e162de45 Binary files /dev/null and b/jekyll/assets/2018/h4dex-wechatprotocol.webp differ diff --git a/jekyll/assets/2018/helen-docker-screenshot.png b/jekyll/assets/2018/helen-docker-screenshot.png deleted file mode 100644 index 65e991a0058..00000000000 Binary files a/jekyll/assets/2018/helen-docker-screenshot.png and /dev/null differ diff --git a/jekyll/assets/2018/helen-docker-screenshot.webp b/jekyll/assets/2018/helen-docker-screenshot.webp new file mode 100644 index 00000000000..9827e903a05 Binary files /dev/null and b/jekyll/assets/2018/helen-docker-screenshot.webp differ diff --git a/jekyll/assets/2018/helen-node-screenshot.png b/jekyll/assets/2018/helen-node-screenshot.png deleted file mode 100644 index af468fdb823..00000000000 Binary files a/jekyll/assets/2018/helen-node-screenshot.png and /dev/null differ diff --git a/jekyll/assets/2018/helen-node-screenshot.webp b/jekyll/assets/2018/helen-node-screenshot.webp new file mode 100644 index 00000000000..375479a863d Binary files /dev/null and b/jekyll/assets/2018/helen-node-screenshot.webp differ diff --git a/jekyll/assets/2018/helen-techie-festival.jpeg b/jekyll/assets/2018/helen-techie-festival.jpeg deleted file mode 100644 index 36aed21fb6a..00000000000 Binary files a/jekyll/assets/2018/helen-techie-festival.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/helen-techie-festival.webp b/jekyll/assets/2018/helen-techie-festival.webp new file mode 100644 index 00000000000..18f7954bbae Binary files /dev/null and b/jekyll/assets/2018/helen-techie-festival.webp differ diff --git a/jekyll/assets/2018/helen-weixin.jpg b/jekyll/assets/2018/helen-weixin.jpg deleted file mode 100644 index b723068f94f..00000000000 Binary files a/jekyll/assets/2018/helen-weixin.jpg and /dev/null differ diff --git a/jekyll/assets/2018/helen-weixin.webp b/jekyll/assets/2018/helen-weixin.webp new file mode 100644 index 00000000000..9b872f1f7f9 Binary files /dev/null and b/jekyll/assets/2018/helen-weixin.webp differ diff --git a/jekyll/assets/2018/hi-ai.jpg b/jekyll/assets/2018/hi-ai.jpg deleted file mode 100644 index f1f4380993f..00000000000 Binary files a/jekyll/assets/2018/hi-ai.jpg and /dev/null differ diff --git a/jekyll/assets/2018/hi-ai.webp b/jekyll/assets/2018/hi-ai.webp new file mode 100644 index 00000000000..f6b18d83476 Binary files /dev/null and b/jekyll/assets/2018/hi-ai.webp differ diff --git a/jekyll/assets/2018/huan-reduce-weight.jpg b/jekyll/assets/2018/huan-reduce-weight.jpg deleted file mode 100644 index 920678903d2..00000000000 Binary files a/jekyll/assets/2018/huan-reduce-weight.jpg and /dev/null differ diff --git a/jekyll/assets/2018/huan-reduce-weight.webp b/jekyll/assets/2018/huan-reduce-weight.webp new file mode 100644 index 00000000000..ec694d3c2d9 Binary files /dev/null and b/jekyll/assets/2018/huan-reduce-weight.webp differ diff --git a/jekyll/assets/2018/huan-wechaty-new-version-0.16.png b/jekyll/assets/2018/huan-wechaty-new-version-0.16.png deleted file mode 100644 index f161c9a3145..00000000000 Binary files a/jekyll/assets/2018/huan-wechaty-new-version-0.16.png and /dev/null differ diff --git a/jekyll/assets/2018/huan-wechaty-new-version-0.16.webp b/jekyll/assets/2018/huan-wechaty-new-version-0.16.webp new file mode 100644 index 00000000000..32ca6ba3647 Binary files /dev/null and b/jekyll/assets/2018/huan-wechaty-new-version-0.16.webp differ diff --git a/jekyll/assets/2018/kaiyuanshe.png b/jekyll/assets/2018/kaiyuanshe.png deleted file mode 100644 index 5ac7c2de4c0..00000000000 Binary files a/jekyll/assets/2018/kaiyuanshe.png and /dev/null differ diff --git a/jekyll/assets/2018/kaiyuanshe.webp b/jekyll/assets/2018/kaiyuanshe.webp new file mode 100644 index 00000000000..7a757c99dda Binary files /dev/null and b/jekyll/assets/2018/kaiyuanshe.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-chatbot.jpeg b/jekyll/assets/2018/microsoft-hol-chatbot.jpeg deleted file mode 100644 index b4845199eae..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-chatbot.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-chatbot.webp b/jekyll/assets/2018/microsoft-hol-chatbot.webp new file mode 100644 index 00000000000..5b00f0ba7bb Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-chatbot.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-demo.png b/jekyll/assets/2018/microsoft-hol-demo.png deleted file mode 100644 index d3d21313db2..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-demo.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-demo.webp b/jekyll/assets/2018/microsoft-hol-demo.webp new file mode 100644 index 00000000000..00ba84d9ef3 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-demo.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-1.png b/jekyll/assets/2018/microsoft-hol-integrate-1.png deleted file mode 100644 index 32aa89cf104..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-integrate-1.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-1.webp b/jekyll/assets/2018/microsoft-hol-integrate-1.webp new file mode 100644 index 00000000000..88be95c15e5 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-integrate-1.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-2.png b/jekyll/assets/2018/microsoft-hol-integrate-2.png deleted file mode 100644 index c6c82adafcd..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-integrate-2.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-2.webp b/jekyll/assets/2018/microsoft-hol-integrate-2.webp new file mode 100644 index 00000000000..ee9a1b45877 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-integrate-2.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-3.png b/jekyll/assets/2018/microsoft-hol-integrate-3.png deleted file mode 100644 index 15daf2e2bca..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-integrate-3.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-3.webp b/jekyll/assets/2018/microsoft-hol-integrate-3.webp new file mode 100644 index 00000000000..187790b2eea Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-integrate-3.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-4.png b/jekyll/assets/2018/microsoft-hol-integrate-4.png deleted file mode 100644 index a1532cf7d7e..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-integrate-4.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-integrate-4.webp b/jekyll/assets/2018/microsoft-hol-integrate-4.webp new file mode 100644 index 00000000000..96f5755aae1 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-integrate-4.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-1.png b/jekyll/assets/2018/microsoft-hol-luis-1.png deleted file mode 100644 index eb157c61f3f..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-1.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-1.webp b/jekyll/assets/2018/microsoft-hol-luis-1.webp new file mode 100644 index 00000000000..915a2af55a4 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-1.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-10.png b/jekyll/assets/2018/microsoft-hol-luis-10.png deleted file mode 100644 index 1220e781fef..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-10.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-10.webp b/jekyll/assets/2018/microsoft-hol-luis-10.webp new file mode 100644 index 00000000000..3461b823f3d Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-10.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-11.png b/jekyll/assets/2018/microsoft-hol-luis-11.png deleted file mode 100644 index 5f79c9801e1..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-11.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-11.webp b/jekyll/assets/2018/microsoft-hol-luis-11.webp new file mode 100644 index 00000000000..ee7f6f9f8e0 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-11.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-12.png b/jekyll/assets/2018/microsoft-hol-luis-12.png deleted file mode 100644 index a3ab3321fa0..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-12.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-12.webp b/jekyll/assets/2018/microsoft-hol-luis-12.webp new file mode 100644 index 00000000000..86d0061eaf4 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-12.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-13.png b/jekyll/assets/2018/microsoft-hol-luis-13.png deleted file mode 100644 index 263bdd1a9fb..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-13.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-13.webp b/jekyll/assets/2018/microsoft-hol-luis-13.webp new file mode 100644 index 00000000000..47f789a9103 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-13.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-14.png b/jekyll/assets/2018/microsoft-hol-luis-14.png deleted file mode 100644 index 42da65f0bfa..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-14.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-14.webp b/jekyll/assets/2018/microsoft-hol-luis-14.webp new file mode 100644 index 00000000000..824ee4bbc61 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-14.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-15.png b/jekyll/assets/2018/microsoft-hol-luis-15.png deleted file mode 100644 index be26aa00efb..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-15.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-15.webp b/jekyll/assets/2018/microsoft-hol-luis-15.webp new file mode 100644 index 00000000000..60e58310319 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-15.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-2.png b/jekyll/assets/2018/microsoft-hol-luis-2.png deleted file mode 100644 index b2b628aaa09..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-2.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-2.webp b/jekyll/assets/2018/microsoft-hol-luis-2.webp new file mode 100644 index 00000000000..f60b7a9e36b Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-2.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-3.png b/jekyll/assets/2018/microsoft-hol-luis-3.png deleted file mode 100644 index dd2253b783a..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-3.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-3.webp b/jekyll/assets/2018/microsoft-hol-luis-3.webp new file mode 100644 index 00000000000..fea78feb203 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-3.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-4.png b/jekyll/assets/2018/microsoft-hol-luis-4.png deleted file mode 100644 index be26aa00efb..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-4.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-4.webp b/jekyll/assets/2018/microsoft-hol-luis-4.webp new file mode 100644 index 00000000000..60e58310319 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-4.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-5.png b/jekyll/assets/2018/microsoft-hol-luis-5.png deleted file mode 100644 index 541f0f54328..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-5.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-5.webp b/jekyll/assets/2018/microsoft-hol-luis-5.webp new file mode 100644 index 00000000000..07227f5f4fe Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-5.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-6.png b/jekyll/assets/2018/microsoft-hol-luis-6.png deleted file mode 100644 index f4ee42ca821..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-6.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-6.webp b/jekyll/assets/2018/microsoft-hol-luis-6.webp new file mode 100644 index 00000000000..2842fa2afc9 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-6.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-7.png b/jekyll/assets/2018/microsoft-hol-luis-7.png deleted file mode 100644 index 4ff03565c59..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-7.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-7.webp b/jekyll/assets/2018/microsoft-hol-luis-7.webp new file mode 100644 index 00000000000..633d099ace0 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-7.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-8.png b/jekyll/assets/2018/microsoft-hol-luis-8.png deleted file mode 100644 index 7b3ad57cc45..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-8.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-8.webp b/jekyll/assets/2018/microsoft-hol-luis-8.webp new file mode 100644 index 00000000000..b10f6bd6461 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-8.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-9.png b/jekyll/assets/2018/microsoft-hol-luis-9.png deleted file mode 100644 index bf7fa43aad0..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis-9.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis-9.webp b/jekyll/assets/2018/microsoft-hol-luis-9.webp new file mode 100644 index 00000000000..1d8b7c14525 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis-9.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-luis.png b/jekyll/assets/2018/microsoft-hol-luis.png deleted file mode 100644 index 765e6b5f3b1..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-luis.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-luis.webp b/jekyll/assets/2018/microsoft-hol-luis.webp new file mode 100644 index 00000000000..3ad8b077fb2 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-luis.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-1.png b/jekyll/assets/2018/microsoft-hol-wechaty-1.png deleted file mode 100644 index 7bdd7abb6ca..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-1.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-1.webp b/jekyll/assets/2018/microsoft-hol-wechaty-1.webp new file mode 100644 index 00000000000..041d3830c04 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-1.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-2.png b/jekyll/assets/2018/microsoft-hol-wechaty-2.png deleted file mode 100644 index 4a9c093d386..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-2.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-2.webp b/jekyll/assets/2018/microsoft-hol-wechaty-2.webp new file mode 100644 index 00000000000..2af77269089 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-2.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-3.png b/jekyll/assets/2018/microsoft-hol-wechaty-3.png deleted file mode 100644 index 51993f05e7d..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-3.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-3.webp b/jekyll/assets/2018/microsoft-hol-wechaty-3.webp new file mode 100644 index 00000000000..693a0d1aa3f Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-3.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-4.png b/jekyll/assets/2018/microsoft-hol-wechaty-4.png deleted file mode 100644 index d53cb82f1c5..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-4.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-4.webp b/jekyll/assets/2018/microsoft-hol-wechaty-4.webp new file mode 100644 index 00000000000..b9b3d3f4264 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-4.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-5.png b/jekyll/assets/2018/microsoft-hol-wechaty-5.png deleted file mode 100644 index c7d87f4a1a6..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-5.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-5.webp b/jekyll/assets/2018/microsoft-hol-wechaty-5.webp new file mode 100644 index 00000000000..14bf6eef122 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-5.webp differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-6.png b/jekyll/assets/2018/microsoft-hol-wechaty-6.png deleted file mode 100644 index 1df5c449afb..00000000000 Binary files a/jekyll/assets/2018/microsoft-hol-wechaty-6.png and /dev/null differ diff --git a/jekyll/assets/2018/microsoft-hol-wechaty-6.webp b/jekyll/assets/2018/microsoft-hol-wechaty-6.webp new file mode 100644 index 00000000000..cfe9c5f38b4 Binary files /dev/null and b/jekyll/assets/2018/microsoft-hol-wechaty-6.webp differ diff --git a/jekyll/assets/2018/techiefestival-1.jpg b/jekyll/assets/2018/techiefestival-1.jpg deleted file mode 100644 index c888285aeee..00000000000 Binary files a/jekyll/assets/2018/techiefestival-1.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-1.webp b/jekyll/assets/2018/techiefestival-1.webp new file mode 100644 index 00000000000..8bb0eac11a3 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-1.webp differ diff --git a/jekyll/assets/2018/techiefestival-10.gif b/jekyll/assets/2018/techiefestival-10.gif deleted file mode 100644 index 107504f91e6..00000000000 Binary files a/jekyll/assets/2018/techiefestival-10.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-10.webp b/jekyll/assets/2018/techiefestival-10.webp new file mode 100644 index 00000000000..a55beb64d2f Binary files /dev/null and b/jekyll/assets/2018/techiefestival-10.webp differ diff --git a/jekyll/assets/2018/techiefestival-11.gif b/jekyll/assets/2018/techiefestival-11.gif deleted file mode 100644 index 8d384580606..00000000000 Binary files a/jekyll/assets/2018/techiefestival-11.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-11.webp b/jekyll/assets/2018/techiefestival-11.webp new file mode 100644 index 00000000000..ec3f5204dc6 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-11.webp differ diff --git a/jekyll/assets/2018/techiefestival-12.jpeg b/jekyll/assets/2018/techiefestival-12.jpeg deleted file mode 100644 index a81344d5009..00000000000 Binary files a/jekyll/assets/2018/techiefestival-12.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-12.webp b/jekyll/assets/2018/techiefestival-12.webp new file mode 100644 index 00000000000..8907dd3f8cd Binary files /dev/null and b/jekyll/assets/2018/techiefestival-12.webp differ diff --git a/jekyll/assets/2018/techiefestival-13.jpg b/jekyll/assets/2018/techiefestival-13.jpg deleted file mode 100644 index 2d05c9e737f..00000000000 Binary files a/jekyll/assets/2018/techiefestival-13.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-13.webp b/jekyll/assets/2018/techiefestival-13.webp new file mode 100644 index 00000000000..6db7b27a165 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-13.webp differ diff --git a/jekyll/assets/2018/techiefestival-14.jpg b/jekyll/assets/2018/techiefestival-14.jpg deleted file mode 100644 index 746d2bf3be8..00000000000 Binary files a/jekyll/assets/2018/techiefestival-14.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-14.webp b/jekyll/assets/2018/techiefestival-14.webp new file mode 100644 index 00000000000..7153aad10b6 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-14.webp differ diff --git a/jekyll/assets/2018/techiefestival-15.png b/jekyll/assets/2018/techiefestival-15.png deleted file mode 100644 index 60bf815fd2e..00000000000 Binary files a/jekyll/assets/2018/techiefestival-15.png and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-15.webp b/jekyll/assets/2018/techiefestival-15.webp new file mode 100644 index 00000000000..66e0048c73a Binary files /dev/null and b/jekyll/assets/2018/techiefestival-15.webp differ diff --git a/jekyll/assets/2018/techiefestival-16.png b/jekyll/assets/2018/techiefestival-16.png deleted file mode 100644 index 94b2584333c..00000000000 Binary files a/jekyll/assets/2018/techiefestival-16.png and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-16.webp b/jekyll/assets/2018/techiefestival-16.webp new file mode 100644 index 00000000000..2e758c836d2 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-16.webp differ diff --git a/jekyll/assets/2018/techiefestival-17.gif b/jekyll/assets/2018/techiefestival-17.gif deleted file mode 100644 index 6d83e03dfe9..00000000000 Binary files a/jekyll/assets/2018/techiefestival-17.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-17.webp b/jekyll/assets/2018/techiefestival-17.webp new file mode 100644 index 00000000000..c862d58fda0 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-17.webp differ diff --git a/jekyll/assets/2018/techiefestival-18.jpeg b/jekyll/assets/2018/techiefestival-18.jpeg deleted file mode 100644 index 9c4ac31e7d1..00000000000 Binary files a/jekyll/assets/2018/techiefestival-18.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-18.webp b/jekyll/assets/2018/techiefestival-18.webp new file mode 100644 index 00000000000..5345371342e Binary files /dev/null and b/jekyll/assets/2018/techiefestival-18.webp differ diff --git a/jekyll/assets/2018/techiefestival-19.jpg b/jekyll/assets/2018/techiefestival-19.jpg deleted file mode 100644 index cae73eb63de..00000000000 Binary files a/jekyll/assets/2018/techiefestival-19.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-19.webp b/jekyll/assets/2018/techiefestival-19.webp new file mode 100644 index 00000000000..a3ddd2eac41 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-19.webp differ diff --git a/jekyll/assets/2018/techiefestival-2.jpg b/jekyll/assets/2018/techiefestival-2.jpg deleted file mode 100644 index 94158b7500e..00000000000 Binary files a/jekyll/assets/2018/techiefestival-2.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-2.webp b/jekyll/assets/2018/techiefestival-2.webp new file mode 100644 index 00000000000..1bd4ca631a8 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-2.webp differ diff --git a/jekyll/assets/2018/techiefestival-20.jpeg b/jekyll/assets/2018/techiefestival-20.jpeg deleted file mode 100644 index 4c3632d224f..00000000000 Binary files a/jekyll/assets/2018/techiefestival-20.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-20.webp b/jekyll/assets/2018/techiefestival-20.webp new file mode 100644 index 00000000000..6de1a293b52 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-20.webp differ diff --git a/jekyll/assets/2018/techiefestival-21.gif b/jekyll/assets/2018/techiefestival-21.gif deleted file mode 100644 index 31cdca0c80c..00000000000 Binary files a/jekyll/assets/2018/techiefestival-21.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-21.webp b/jekyll/assets/2018/techiefestival-21.webp new file mode 100644 index 00000000000..c56f5fffd08 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-21.webp differ diff --git a/jekyll/assets/2018/techiefestival-22.jpeg b/jekyll/assets/2018/techiefestival-22.jpeg deleted file mode 100644 index 2f7a75d9e0f..00000000000 Binary files a/jekyll/assets/2018/techiefestival-22.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-22.webp b/jekyll/assets/2018/techiefestival-22.webp new file mode 100644 index 00000000000..0dd1976f770 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-22.webp differ diff --git a/jekyll/assets/2018/techiefestival-23.jpg b/jekyll/assets/2018/techiefestival-23.jpg deleted file mode 100644 index e404e28e39e..00000000000 Binary files a/jekyll/assets/2018/techiefestival-23.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-23.webp b/jekyll/assets/2018/techiefestival-23.webp new file mode 100644 index 00000000000..86292e15980 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-23.webp differ diff --git a/jekyll/assets/2018/techiefestival-24.gif b/jekyll/assets/2018/techiefestival-24.gif deleted file mode 100644 index b2bc2f3288f..00000000000 Binary files a/jekyll/assets/2018/techiefestival-24.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-24.webp b/jekyll/assets/2018/techiefestival-24.webp new file mode 100644 index 00000000000..103aa7552d7 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-24.webp differ diff --git a/jekyll/assets/2018/techiefestival-25.jpeg b/jekyll/assets/2018/techiefestival-25.jpeg deleted file mode 100644 index 456fb298af1..00000000000 Binary files a/jekyll/assets/2018/techiefestival-25.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-25.webp b/jekyll/assets/2018/techiefestival-25.webp new file mode 100644 index 00000000000..315298edf97 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-25.webp differ diff --git a/jekyll/assets/2018/techiefestival-3.jpg b/jekyll/assets/2018/techiefestival-3.jpg deleted file mode 100644 index c432d19fbd2..00000000000 Binary files a/jekyll/assets/2018/techiefestival-3.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-3.webp b/jekyll/assets/2018/techiefestival-3.webp new file mode 100644 index 00000000000..4dc0e55ae7f Binary files /dev/null and b/jekyll/assets/2018/techiefestival-3.webp differ diff --git a/jekyll/assets/2018/techiefestival-4.jpeg b/jekyll/assets/2018/techiefestival-4.jpeg deleted file mode 100644 index c5134647d8e..00000000000 Binary files a/jekyll/assets/2018/techiefestival-4.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-4.webp b/jekyll/assets/2018/techiefestival-4.webp new file mode 100644 index 00000000000..498dc67b4da Binary files /dev/null and b/jekyll/assets/2018/techiefestival-4.webp differ diff --git a/jekyll/assets/2018/techiefestival-5.jpeg b/jekyll/assets/2018/techiefestival-5.jpeg deleted file mode 100644 index 5230aac55bb..00000000000 Binary files a/jekyll/assets/2018/techiefestival-5.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-5.webp b/jekyll/assets/2018/techiefestival-5.webp new file mode 100644 index 00000000000..6fb95688d8f Binary files /dev/null and b/jekyll/assets/2018/techiefestival-5.webp differ diff --git a/jekyll/assets/2018/techiefestival-6.jpg b/jekyll/assets/2018/techiefestival-6.jpg deleted file mode 100644 index ba1f01e5a7e..00000000000 Binary files a/jekyll/assets/2018/techiefestival-6.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-6.webp b/jekyll/assets/2018/techiefestival-6.webp new file mode 100644 index 00000000000..d4e3e79d3d0 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-6.webp differ diff --git a/jekyll/assets/2018/techiefestival-7.jpg b/jekyll/assets/2018/techiefestival-7.jpg deleted file mode 100644 index fd7806acdd1..00000000000 Binary files a/jekyll/assets/2018/techiefestival-7.jpg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-7.webp b/jekyll/assets/2018/techiefestival-7.webp new file mode 100644 index 00000000000..0308de19e5a Binary files /dev/null and b/jekyll/assets/2018/techiefestival-7.webp differ diff --git a/jekyll/assets/2018/techiefestival-8.jpeg b/jekyll/assets/2018/techiefestival-8.jpeg deleted file mode 100644 index 5b483817be2..00000000000 Binary files a/jekyll/assets/2018/techiefestival-8.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-8.webp b/jekyll/assets/2018/techiefestival-8.webp new file mode 100644 index 00000000000..28aa3b8b498 Binary files /dev/null and b/jekyll/assets/2018/techiefestival-8.webp differ diff --git a/jekyll/assets/2018/techiefestival-9.gif b/jekyll/assets/2018/techiefestival-9.gif deleted file mode 100644 index b9583e8ed61..00000000000 Binary files a/jekyll/assets/2018/techiefestival-9.gif and /dev/null differ diff --git a/jekyll/assets/2018/techiefestival-9.webp b/jekyll/assets/2018/techiefestival-9.webp new file mode 100644 index 00000000000..217b2e2557c Binary files /dev/null and b/jekyll/assets/2018/techiefestival-9.webp differ diff --git a/jekyll/assets/2018/typescript-logo.png b/jekyll/assets/2018/typescript-logo.png deleted file mode 100644 index 632dea8a7e9..00000000000 Binary files a/jekyll/assets/2018/typescript-logo.png and /dev/null differ diff --git a/jekyll/assets/2018/typescript-logo.webp b/jekyll/assets/2018/typescript-logo.webp new file mode 100644 index 00000000000..7942e3af45c Binary files /dev/null and b/jekyll/assets/2018/typescript-logo.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-1.jpg b/jekyll/assets/2018/wechaty-blinder-1.jpg deleted file mode 100644 index 1ad02b857f8..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-1.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-1.webp b/jekyll/assets/2018/wechaty-blinder-1.webp new file mode 100644 index 00000000000..ad8e69a72b7 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-1.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-10.jpg b/jekyll/assets/2018/wechaty-blinder-10.jpg deleted file mode 100644 index e27cca6d6e1..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-10.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-10.webp b/jekyll/assets/2018/wechaty-blinder-10.webp new file mode 100644 index 00000000000..036170795ed Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-10.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-11.jpg b/jekyll/assets/2018/wechaty-blinder-11.jpg deleted file mode 100644 index f0238852a11..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-11.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-11.webp b/jekyll/assets/2018/wechaty-blinder-11.webp new file mode 100644 index 00000000000..adffd7d64fc Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-11.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-12.jpg b/jekyll/assets/2018/wechaty-blinder-12.jpg deleted file mode 100644 index bd28a1519b0..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-12.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-12.webp b/jekyll/assets/2018/wechaty-blinder-12.webp new file mode 100644 index 00000000000..b7f42b37f4f Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-12.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-13.jpg b/jekyll/assets/2018/wechaty-blinder-13.jpg deleted file mode 100644 index 3c3448f4d97..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-13.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-13.webp b/jekyll/assets/2018/wechaty-blinder-13.webp new file mode 100644 index 00000000000..11ea826baec Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-13.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-14.jpg b/jekyll/assets/2018/wechaty-blinder-14.jpg deleted file mode 100644 index fb9b863d379..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-14.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-14.webp b/jekyll/assets/2018/wechaty-blinder-14.webp new file mode 100644 index 00000000000..be02395e813 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-14.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-15.jpg b/jekyll/assets/2018/wechaty-blinder-15.jpg deleted file mode 100644 index 9dba5aa2ea3..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-15.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-15.webp b/jekyll/assets/2018/wechaty-blinder-15.webp new file mode 100644 index 00000000000..e8df019af36 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-15.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-16.jpg b/jekyll/assets/2018/wechaty-blinder-16.jpg deleted file mode 100644 index 508b0aa100a..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-16.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-16.webp b/jekyll/assets/2018/wechaty-blinder-16.webp new file mode 100644 index 00000000000..ef64f33317e Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-16.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-17.jpeg b/jekyll/assets/2018/wechaty-blinder-17.jpeg deleted file mode 100644 index 5252dc3ecfb..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-17.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-17.webp b/jekyll/assets/2018/wechaty-blinder-17.webp new file mode 100644 index 00000000000..d5d28c9cc74 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-17.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-2.jpg b/jekyll/assets/2018/wechaty-blinder-2.jpg deleted file mode 100644 index ba16230f095..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-2.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-2.webp b/jekyll/assets/2018/wechaty-blinder-2.webp new file mode 100644 index 00000000000..1dbccaca709 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-2.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-3.jpg b/jekyll/assets/2018/wechaty-blinder-3.jpg deleted file mode 100644 index 46a89b25679..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-3.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-3.webp b/jekyll/assets/2018/wechaty-blinder-3.webp new file mode 100644 index 00000000000..304bfdd9073 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-3.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-4.jpg b/jekyll/assets/2018/wechaty-blinder-4.jpg deleted file mode 100644 index 8b27caf7090..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-4.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-4.webp b/jekyll/assets/2018/wechaty-blinder-4.webp new file mode 100644 index 00000000000..1a664938577 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-4.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-5.jpg b/jekyll/assets/2018/wechaty-blinder-5.jpg deleted file mode 100644 index d7be18292d5..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-5.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-5.webp b/jekyll/assets/2018/wechaty-blinder-5.webp new file mode 100644 index 00000000000..93e7248e1cb Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-5.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-6.jpg b/jekyll/assets/2018/wechaty-blinder-6.jpg deleted file mode 100644 index c349af82464..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-6.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-6.webp b/jekyll/assets/2018/wechaty-blinder-6.webp new file mode 100644 index 00000000000..8d923d8ae70 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-6.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-7.jpg b/jekyll/assets/2018/wechaty-blinder-7.jpg deleted file mode 100644 index a0badaeb589..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-7.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-7.webp b/jekyll/assets/2018/wechaty-blinder-7.webp new file mode 100644 index 00000000000..8c8c70500bf Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-7.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-8.jpg b/jekyll/assets/2018/wechaty-blinder-8.jpg deleted file mode 100644 index 419e203b14e..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-8.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-8.webp b/jekyll/assets/2018/wechaty-blinder-8.webp new file mode 100644 index 00000000000..881fa966d69 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-8.webp differ diff --git a/jekyll/assets/2018/wechaty-blinder-9.jpg b/jekyll/assets/2018/wechaty-blinder-9.jpg deleted file mode 100644 index dbf88bab0d3..00000000000 Binary files a/jekyll/assets/2018/wechaty-blinder-9.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-blinder-9.webp b/jekyll/assets/2018/wechaty-blinder-9.webp new file mode 100644 index 00000000000..2248a408804 Binary files /dev/null and b/jekyll/assets/2018/wechaty-blinder-9.webp differ diff --git a/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.jpg b/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.jpg deleted file mode 100644 index 20cd2729a38..00000000000 Binary files a/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.webp b/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.webp new file mode 100644 index 00000000000..ce44974169b Binary files /dev/null and b/jekyll/assets/2018/wechaty-contributor-dinner-data-girl.webp differ diff --git a/jekyll/assets/2018/wechaty-installation-in-windows.png b/jekyll/assets/2018/wechaty-installation-in-windows.png deleted file mode 100644 index 22d6ae20e16..00000000000 Binary files a/jekyll/assets/2018/wechaty-installation-in-windows.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-installation-in-windows.webp b/jekyll/assets/2018/wechaty-installation-in-windows.webp new file mode 100644 index 00000000000..1198e6aff66 Binary files /dev/null and b/jekyll/assets/2018/wechaty-installation-in-windows.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-1.png b/jekyll/assets/2018/wechaty-lightbot-1.png deleted file mode 100644 index 48824869361..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-1.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-1.webp b/jekyll/assets/2018/wechaty-lightbot-1.webp new file mode 100644 index 00000000000..093e57f4755 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-1.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-2.png b/jekyll/assets/2018/wechaty-lightbot-2.png deleted file mode 100644 index 47ffae81776..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-2.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-2.webp b/jekyll/assets/2018/wechaty-lightbot-2.webp new file mode 100644 index 00000000000..68fcc7b5b30 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-2.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-3.png b/jekyll/assets/2018/wechaty-lightbot-3.png deleted file mode 100644 index 41f2f6dfa6f..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-3.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-3.webp b/jekyll/assets/2018/wechaty-lightbot-3.webp new file mode 100644 index 00000000000..838cfdcc96e Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-3.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-4.png b/jekyll/assets/2018/wechaty-lightbot-4.png deleted file mode 100644 index 58537b6610f..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-4.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-4.webp b/jekyll/assets/2018/wechaty-lightbot-4.webp new file mode 100644 index 00000000000..7b3e061f81c Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-4.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-5.png b/jekyll/assets/2018/wechaty-lightbot-5.png deleted file mode 100644 index 0be9ccbf2cf..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-5.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-5.webp b/jekyll/assets/2018/wechaty-lightbot-5.webp new file mode 100644 index 00000000000..ff50c47ecc6 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-5.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-6.png b/jekyll/assets/2018/wechaty-lightbot-6.png deleted file mode 100644 index 59259467f3a..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-6.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-6.webp b/jekyll/assets/2018/wechaty-lightbot-6.webp new file mode 100644 index 00000000000..f67925cd134 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-6.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-7.png b/jekyll/assets/2018/wechaty-lightbot-7.png deleted file mode 100644 index fd353470661..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-7.png and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-7.webp b/jekyll/assets/2018/wechaty-lightbot-7.webp new file mode 100644 index 00000000000..f23b15c3262 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-7.webp differ diff --git a/jekyll/assets/2018/wechaty-lightbot-logo.jpg b/jekyll/assets/2018/wechaty-lightbot-logo.jpg deleted file mode 100644 index a2aeb8194b3..00000000000 Binary files a/jekyll/assets/2018/wechaty-lightbot-logo.jpg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-lightbot-logo.webp b/jekyll/assets/2018/wechaty-lightbot-logo.webp new file mode 100644 index 00000000000..b9331c3dac3 Binary files /dev/null and b/jekyll/assets/2018/wechaty-lightbot-logo.webp differ diff --git a/jekyll/assets/2018/wechaty-xiaoli.jpeg b/jekyll/assets/2018/wechaty-xiaoli.jpeg deleted file mode 100644 index cf4ceea4ce4..00000000000 Binary files a/jekyll/assets/2018/wechaty-xiaoli.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/wechaty-xiaoli.webp b/jekyll/assets/2018/wechaty-xiaoli.webp new file mode 100644 index 00000000000..c5cf9dfa14c Binary files /dev/null and b/jekyll/assets/2018/wechaty-xiaoli.webp differ diff --git a/jekyll/assets/2018/xiaoli-1.jpeg b/jekyll/assets/2018/xiaoli-1.jpeg deleted file mode 100644 index 33dd197eca4..00000000000 Binary files a/jekyll/assets/2018/xiaoli-1.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/xiaoli-1.webp b/jekyll/assets/2018/xiaoli-1.webp new file mode 100644 index 00000000000..3d7d77c47a3 Binary files /dev/null and b/jekyll/assets/2018/xiaoli-1.webp differ diff --git a/jekyll/assets/2018/xiaoli-2.jpeg b/jekyll/assets/2018/xiaoli-2.jpeg deleted file mode 100644 index 2c16d2205e3..00000000000 Binary files a/jekyll/assets/2018/xiaoli-2.jpeg and /dev/null differ diff --git a/jekyll/assets/2018/xiaoli-2.webp b/jekyll/assets/2018/xiaoli-2.webp new file mode 100644 index 00000000000..67a002cf674 Binary files /dev/null and b/jekyll/assets/2018/xiaoli-2.webp differ diff --git a/jekyll/assets/2019/bot5-seminar-0/after-party.jpg b/jekyll/assets/2019/bot5-seminar-0/after-party.jpg deleted file mode 100644 index 4267f2c0ccd..00000000000 Binary files a/jekyll/assets/2019/bot5-seminar-0/after-party.jpg and /dev/null differ diff --git a/jekyll/assets/2019/bot5-seminar-0/after-party.webp b/jekyll/assets/2019/bot5-seminar-0/after-party.webp new file mode 100644 index 00000000000..d96f786a2a0 Binary files /dev/null and b/jekyll/assets/2019/bot5-seminar-0/after-party.webp differ diff --git a/jekyll/assets/2019/bot5-seminar-0/group-photo.jpg b/jekyll/assets/2019/bot5-seminar-0/group-photo.jpg deleted file mode 100644 index 7746b10ad36..00000000000 Binary files a/jekyll/assets/2019/bot5-seminar-0/group-photo.jpg and /dev/null differ diff --git a/jekyll/assets/2019/bot5-seminar-0/group-photo.webp b/jekyll/assets/2019/bot5-seminar-0/group-photo.webp new file mode 100644 index 00000000000..c68d8a6ae92 Binary files /dev/null and b/jekyll/assets/2019/bot5-seminar-0/group-photo.webp differ diff --git a/jekyll/assets/2019/bot5-seminar-2/after-party.png b/jekyll/assets/2019/bot5-seminar-2/after-party.png deleted file mode 100755 index 78f3f36ad73..00000000000 Binary files a/jekyll/assets/2019/bot5-seminar-2/after-party.png and /dev/null differ diff --git a/jekyll/assets/2019/bot5-seminar-2/after-party.webp b/jekyll/assets/2019/bot5-seminar-2/after-party.webp new file mode 100644 index 00000000000..c82b6d8a525 Binary files /dev/null and b/jekyll/assets/2019/bot5-seminar-2/after-party.webp differ diff --git a/jekyll/assets/2019/bot5-seminar-2/group-photo.png b/jekyll/assets/2019/bot5-seminar-2/group-photo.png deleted file mode 100755 index 792ec2d00f4..00000000000 Binary files a/jekyll/assets/2019/bot5-seminar-2/group-photo.png and /dev/null differ diff --git a/jekyll/assets/2019/bot5-seminar-2/group-photo.webp b/jekyll/assets/2019/bot5-seminar-2/group-photo.webp new file mode 100644 index 00000000000..488c9945039 Binary files /dev/null and b/jekyll/assets/2019/bot5-seminar-2/group-photo.webp differ diff --git a/jekyll/assets/2019/bot5-seminar-2/people.png b/jekyll/assets/2019/bot5-seminar-2/people.png deleted file mode 100755 index 96496dda374..00000000000 Binary files a/jekyll/assets/2019/bot5-seminar-2/people.png and /dev/null differ diff --git a/jekyll/assets/2019/bot5-seminar-2/people.webp b/jekyll/assets/2019/bot5-seminar-2/people.webp new file mode 100644 index 00000000000..33d46a9cde5 Binary files /dev/null and b/jekyll/assets/2019/bot5-seminar-2/people.webp differ diff --git a/jekyll/assets/2019/chatie-devops-toolset.gif b/jekyll/assets/2019/chatie-devops-toolset.gif deleted file mode 100644 index 7d9aacd07ed..00000000000 Binary files a/jekyll/assets/2019/chatie-devops-toolset.gif and /dev/null differ diff --git a/jekyll/assets/2019/chatie-devops-toolset.webp b/jekyll/assets/2019/chatie-devops-toolset.webp new file mode 100644 index 00000000000..1400e3679e0 Binary files /dev/null and b/jekyll/assets/2019/chatie-devops-toolset.webp differ diff --git a/jekyll/assets/2019/chatie-eslint-config.jpg b/jekyll/assets/2019/chatie-eslint-config.jpg deleted file mode 100644 index 774591ea0f8..00000000000 Binary files a/jekyll/assets/2019/chatie-eslint-config.jpg and /dev/null differ diff --git a/jekyll/assets/2019/chatie-eslint-config.webp b/jekyll/assets/2019/chatie-eslint-config.webp new file mode 100644 index 00000000000..ed3ade4ccb1 Binary files /dev/null and b/jekyll/assets/2019/chatie-eslint-config.webp differ diff --git a/jekyll/assets/2019/chatie-git-scripts.gif b/jekyll/assets/2019/chatie-git-scripts.gif deleted file mode 100644 index 7fedfa24756..00000000000 Binary files a/jekyll/assets/2019/chatie-git-scripts.gif and /dev/null differ diff --git a/jekyll/assets/2019/chatie-git-scripts.webp b/jekyll/assets/2019/chatie-git-scripts.webp new file mode 100644 index 00000000000..11a8396c4ca Binary files /dev/null and b/jekyll/assets/2019/chatie-git-scripts.webp differ diff --git a/jekyll/assets/2019/chatie-semver.png b/jekyll/assets/2019/chatie-semver.png deleted file mode 100644 index b0169d7c774..00000000000 Binary files a/jekyll/assets/2019/chatie-semver.png and /dev/null differ diff --git a/jekyll/assets/2019/chatie-semver.webp b/jekyll/assets/2019/chatie-semver.webp new file mode 100644 index 00000000000..74a9e65b7a6 Binary files /dev/null and b/jekyll/assets/2019/chatie-semver.webp differ diff --git a/jekyll/assets/2019/chatie-tsconfig.jpg b/jekyll/assets/2019/chatie-tsconfig.jpg deleted file mode 100644 index 03a6ae81265..00000000000 Binary files a/jekyll/assets/2019/chatie-tsconfig.jpg and /dev/null differ diff --git a/jekyll/assets/2019/chatie-tsconfig.webp b/jekyll/assets/2019/chatie-tsconfig.webp new file mode 100644 index 00000000000..a7c19b2b374 Binary files /dev/null and b/jekyll/assets/2019/chatie-tsconfig.webp differ diff --git a/jekyll/assets/2019/chatie-wwdc-in-sv-110718.jpg b/jekyll/assets/2019/chatie-wwdc-in-sv-110718.jpg deleted file mode 100644 index 84d685e036b..00000000000 Binary files a/jekyll/assets/2019/chatie-wwdc-in-sv-110718.jpg and /dev/null differ diff --git a/jekyll/assets/2019/chatie-wwdc-in-sv-110718.webp b/jekyll/assets/2019/chatie-wwdc-in-sv-110718.webp new file mode 100644 index 00000000000..c185d3d6a60 Binary files /dev/null and b/jekyll/assets/2019/chatie-wwdc-in-sv-110718.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.jpg b/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.jpg deleted file mode 100644 index 85b8a502554..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.webp b/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.webp new file mode 100644 index 00000000000..a25ed164ea2 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/brick-carrier.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.jpg b/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.jpg deleted file mode 100644 index 04c74bc0aad..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.webp b/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.webp new file mode 100644 index 00000000000..82df77a4d91 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/chat-history-large.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/chat-history.jpg b/jekyll/assets/2019/dotnetclub-chaty/chat-history.jpg deleted file mode 100644 index 16d28b319ef..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/chat-history.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/chat-history.webp b/jekyll/assets/2019/dotnetclub-chaty/chat-history.webp new file mode 100644 index 00000000000..2583778c962 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/chat-history.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.jpg b/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.jpg deleted file mode 100644 index 37ac0b8cf2c..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.webp b/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.webp new file mode 100644 index 00000000000..6efaa442e48 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.jpg b/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.jpg deleted file mode 100644 index 79b30599e5c..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.webp b/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.webp new file mode 100644 index 00000000000..0c65582fee9 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.jpg b/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.jpg deleted file mode 100644 index 8cf51e764fa..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.webp b/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.webp new file mode 100644 index 00000000000..1d36450726f Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/on-my-knees.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.jpg b/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.jpg deleted file mode 100644 index 28dc17fea4d..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.webp b/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.webp new file mode 100644 index 00000000000..9dc78201439 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/privacy-leak.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.png b/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.png deleted file mode 100644 index b6dfc9482bb..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.png and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.webp b/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.webp new file mode 100644 index 00000000000..c3bd1ef4666 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/quit-baidu.webp differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/wechaty.jpg b/jekyll/assets/2019/dotnetclub-chaty/wechaty.jpg deleted file mode 100644 index 07dbaac7ceb..00000000000 Binary files a/jekyll/assets/2019/dotnetclub-chaty/wechaty.jpg and /dev/null differ diff --git a/jekyll/assets/2019/dotnetclub-chaty/wechaty.webp b/jekyll/assets/2019/dotnetclub-chaty/wechaty.webp new file mode 100644 index 00000000000..1ceba800040 Binary files /dev/null and b/jekyll/assets/2019/dotnetclub-chaty/wechaty.webp differ diff --git a/jekyll/assets/2019/everyday-1.png b/jekyll/assets/2019/everyday-1.png deleted file mode 100644 index ce3eb6b3562..00000000000 Binary files a/jekyll/assets/2019/everyday-1.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-1.webp b/jekyll/assets/2019/everyday-1.webp new file mode 100644 index 00000000000..d3551511190 Binary files /dev/null and b/jekyll/assets/2019/everyday-1.webp differ diff --git a/jekyll/assets/2019/everyday-10.png b/jekyll/assets/2019/everyday-10.png deleted file mode 100644 index c6a98d06388..00000000000 Binary files a/jekyll/assets/2019/everyday-10.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-10.webp b/jekyll/assets/2019/everyday-10.webp new file mode 100644 index 00000000000..65587894480 Binary files /dev/null and b/jekyll/assets/2019/everyday-10.webp differ diff --git a/jekyll/assets/2019/everyday-11.png b/jekyll/assets/2019/everyday-11.png deleted file mode 100644 index eb6a5bb0332..00000000000 Binary files a/jekyll/assets/2019/everyday-11.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-11.webp b/jekyll/assets/2019/everyday-11.webp new file mode 100644 index 00000000000..d4d2523adfe Binary files /dev/null and b/jekyll/assets/2019/everyday-11.webp differ diff --git a/jekyll/assets/2019/everyday-12.png b/jekyll/assets/2019/everyday-12.png deleted file mode 100644 index b5c79c2d59f..00000000000 Binary files a/jekyll/assets/2019/everyday-12.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-12.webp b/jekyll/assets/2019/everyday-12.webp new file mode 100644 index 00000000000..5a725874847 Binary files /dev/null and b/jekyll/assets/2019/everyday-12.webp differ diff --git a/jekyll/assets/2019/everyday-13.png b/jekyll/assets/2019/everyday-13.png deleted file mode 100644 index f89c5431164..00000000000 Binary files a/jekyll/assets/2019/everyday-13.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-13.webp b/jekyll/assets/2019/everyday-13.webp new file mode 100644 index 00000000000..c0e7edf3e9f Binary files /dev/null and b/jekyll/assets/2019/everyday-13.webp differ diff --git a/jekyll/assets/2019/everyday-14.png b/jekyll/assets/2019/everyday-14.png deleted file mode 100644 index 96b199d24ae..00000000000 Binary files a/jekyll/assets/2019/everyday-14.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-14.webp b/jekyll/assets/2019/everyday-14.webp new file mode 100644 index 00000000000..aace34fefeb Binary files /dev/null and b/jekyll/assets/2019/everyday-14.webp differ diff --git a/jekyll/assets/2019/everyday-15.png b/jekyll/assets/2019/everyday-15.png deleted file mode 100644 index e4acd31ffbc..00000000000 Binary files a/jekyll/assets/2019/everyday-15.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-15.webp b/jekyll/assets/2019/everyday-15.webp new file mode 100644 index 00000000000..84c96527e02 Binary files /dev/null and b/jekyll/assets/2019/everyday-15.webp differ diff --git a/jekyll/assets/2019/everyday-16.png b/jekyll/assets/2019/everyday-16.png deleted file mode 100644 index d7554ad5e56..00000000000 Binary files a/jekyll/assets/2019/everyday-16.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-16.webp b/jekyll/assets/2019/everyday-16.webp new file mode 100644 index 00000000000..230fe28ff89 Binary files /dev/null and b/jekyll/assets/2019/everyday-16.webp differ diff --git a/jekyll/assets/2019/everyday-17.png b/jekyll/assets/2019/everyday-17.png deleted file mode 100644 index 3b9784e3391..00000000000 Binary files a/jekyll/assets/2019/everyday-17.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-17.webp b/jekyll/assets/2019/everyday-17.webp new file mode 100644 index 00000000000..d75ce993ad9 Binary files /dev/null and b/jekyll/assets/2019/everyday-17.webp differ diff --git a/jekyll/assets/2019/everyday-2.png b/jekyll/assets/2019/everyday-2.png deleted file mode 100644 index 7641409a158..00000000000 Binary files a/jekyll/assets/2019/everyday-2.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-2.webp b/jekyll/assets/2019/everyday-2.webp new file mode 100644 index 00000000000..6e1e8347cef Binary files /dev/null and b/jekyll/assets/2019/everyday-2.webp differ diff --git a/jekyll/assets/2019/everyday-3.png b/jekyll/assets/2019/everyday-3.png deleted file mode 100644 index 620967c6c8d..00000000000 Binary files a/jekyll/assets/2019/everyday-3.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-3.webp b/jekyll/assets/2019/everyday-3.webp new file mode 100644 index 00000000000..ed15b9e4b15 Binary files /dev/null and b/jekyll/assets/2019/everyday-3.webp differ diff --git a/jekyll/assets/2019/everyday-4.png b/jekyll/assets/2019/everyday-4.png deleted file mode 100644 index f30a2676b39..00000000000 Binary files a/jekyll/assets/2019/everyday-4.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-4.webp b/jekyll/assets/2019/everyday-4.webp new file mode 100644 index 00000000000..1cfe1633c41 Binary files /dev/null and b/jekyll/assets/2019/everyday-4.webp differ diff --git a/jekyll/assets/2019/everyday-5.png b/jekyll/assets/2019/everyday-5.png deleted file mode 100644 index 3d77a5c6b21..00000000000 Binary files a/jekyll/assets/2019/everyday-5.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-5.webp b/jekyll/assets/2019/everyday-5.webp new file mode 100644 index 00000000000..b6d405e768c Binary files /dev/null and b/jekyll/assets/2019/everyday-5.webp differ diff --git a/jekyll/assets/2019/everyday-6.png b/jekyll/assets/2019/everyday-6.png deleted file mode 100644 index 28245366e22..00000000000 Binary files a/jekyll/assets/2019/everyday-6.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-6.webp b/jekyll/assets/2019/everyday-6.webp new file mode 100644 index 00000000000..528c3820bf3 Binary files /dev/null and b/jekyll/assets/2019/everyday-6.webp differ diff --git a/jekyll/assets/2019/everyday-7.png b/jekyll/assets/2019/everyday-7.png deleted file mode 100644 index 368bb266ffb..00000000000 Binary files a/jekyll/assets/2019/everyday-7.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-7.webp b/jekyll/assets/2019/everyday-7.webp new file mode 100644 index 00000000000..9305be2e3ac Binary files /dev/null and b/jekyll/assets/2019/everyday-7.webp differ diff --git a/jekyll/assets/2019/everyday-8.png b/jekyll/assets/2019/everyday-8.png deleted file mode 100644 index 2dce0f6d348..00000000000 Binary files a/jekyll/assets/2019/everyday-8.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-8.webp b/jekyll/assets/2019/everyday-8.webp new file mode 100644 index 00000000000..0692cdb3e85 Binary files /dev/null and b/jekyll/assets/2019/everyday-8.webp differ diff --git a/jekyll/assets/2019/everyday-9.png b/jekyll/assets/2019/everyday-9.png deleted file mode 100644 index b8e3bf31356..00000000000 Binary files a/jekyll/assets/2019/everyday-9.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-9.webp b/jekyll/assets/2019/everyday-9.webp new file mode 100644 index 00000000000..ad80a5f412c Binary files /dev/null and b/jekyll/assets/2019/everyday-9.webp differ diff --git a/jekyll/assets/2019/everyday-header.png b/jekyll/assets/2019/everyday-header.png deleted file mode 100644 index 938667f3b31..00000000000 Binary files a/jekyll/assets/2019/everyday-header.png and /dev/null differ diff --git a/jekyll/assets/2019/everyday-header.webp b/jekyll/assets/2019/everyday-header.webp new file mode 100644 index 00000000000..b6243332fa2 Binary files /dev/null and b/jekyll/assets/2019/everyday-header.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-1.jpeg b/jekyll/assets/2019/koa-wechaty-1.jpeg deleted file mode 100644 index d16b6327ad2..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-1.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-1.webp b/jekyll/assets/2019/koa-wechaty-1.webp new file mode 100644 index 00000000000..52ef59059e4 Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-1.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-10.jpeg b/jekyll/assets/2019/koa-wechaty-10.jpeg deleted file mode 100644 index 575876eeaf7..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-10.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-10.webp b/jekyll/assets/2019/koa-wechaty-10.webp new file mode 100644 index 00000000000..66b2433cad9 Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-10.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-2.jpeg b/jekyll/assets/2019/koa-wechaty-2.jpeg deleted file mode 100644 index 117096eecdd..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-2.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-2.webp b/jekyll/assets/2019/koa-wechaty-2.webp new file mode 100644 index 00000000000..ef8cc2e4ff5 Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-2.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-3.jpeg b/jekyll/assets/2019/koa-wechaty-3.jpeg deleted file mode 100644 index 90ae47ce310..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-3.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-3.webp b/jekyll/assets/2019/koa-wechaty-3.webp new file mode 100644 index 00000000000..65b4456cbaf Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-3.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-4.jpeg b/jekyll/assets/2019/koa-wechaty-4.jpeg deleted file mode 100644 index 66c6567178a..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-4.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-4.webp b/jekyll/assets/2019/koa-wechaty-4.webp new file mode 100644 index 00000000000..321854a9f7a Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-4.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-5.jpeg b/jekyll/assets/2019/koa-wechaty-5.jpeg deleted file mode 100644 index 2dc71f65fa6..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-5.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-5.webp b/jekyll/assets/2019/koa-wechaty-5.webp new file mode 100644 index 00000000000..68274731c8c Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-5.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-6.jpeg b/jekyll/assets/2019/koa-wechaty-6.jpeg deleted file mode 100644 index 86e47ef9acc..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-6.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-6.webp b/jekyll/assets/2019/koa-wechaty-6.webp new file mode 100644 index 00000000000..869f68f6a8d Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-6.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-7.jpeg b/jekyll/assets/2019/koa-wechaty-7.jpeg deleted file mode 100644 index ea8cb927fa1..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-7.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-7.webp b/jekyll/assets/2019/koa-wechaty-7.webp new file mode 100644 index 00000000000..740d187c538 Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-7.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-8.jpeg b/jekyll/assets/2019/koa-wechaty-8.jpeg deleted file mode 100644 index 8a4da2a43f5..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-8.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-8.webp b/jekyll/assets/2019/koa-wechaty-8.webp new file mode 100644 index 00000000000..b534c5531fa Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-8.webp differ diff --git a/jekyll/assets/2019/koa-wechaty-9.jpeg b/jekyll/assets/2019/koa-wechaty-9.jpeg deleted file mode 100644 index 1dbe126076f..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty-9.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty-9.webp b/jekyll/assets/2019/koa-wechaty-9.webp new file mode 100644 index 00000000000..1f58589b23b Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty-9.webp differ diff --git a/jekyll/assets/2019/koa-wechaty.jpg b/jekyll/assets/2019/koa-wechaty.jpg deleted file mode 100644 index c02e7339f3f..00000000000 Binary files a/jekyll/assets/2019/koa-wechaty.jpg and /dev/null differ diff --git a/jekyll/assets/2019/koa-wechaty.webp b/jekyll/assets/2019/koa-wechaty.webp new file mode 100644 index 00000000000..ca4ef98f813 Binary files /dev/null and b/jekyll/assets/2019/koa-wechaty.webp differ diff --git a/jekyll/assets/2019/maodou-ketang-demo.png b/jekyll/assets/2019/maodou-ketang-demo.png deleted file mode 100644 index ff34e917b5b..00000000000 Binary files a/jekyll/assets/2019/maodou-ketang-demo.png and /dev/null differ diff --git a/jekyll/assets/2019/maodou-ketang-demo.webp b/jekyll/assets/2019/maodou-ketang-demo.webp new file mode 100644 index 00000000000..837ce454416 Binary files /dev/null and b/jekyll/assets/2019/maodou-ketang-demo.webp differ diff --git a/jekyll/assets/2019/maodou-ketang-invite-qrcode.png b/jekyll/assets/2019/maodou-ketang-invite-qrcode.png deleted file mode 100644 index 5fbab57ef7d..00000000000 Binary files a/jekyll/assets/2019/maodou-ketang-invite-qrcode.png and /dev/null differ diff --git a/jekyll/assets/2019/maodou-ketang-invite-qrcode.webp b/jekyll/assets/2019/maodou-ketang-invite-qrcode.webp new file mode 100644 index 00000000000..d76d3441de8 Binary files /dev/null and b/jekyll/assets/2019/maodou-ketang-invite-qrcode.webp differ diff --git a/jekyll/assets/2019/maodou-ketang-qrcode.png b/jekyll/assets/2019/maodou-ketang-qrcode.png deleted file mode 100644 index 0e4f0a4ccb7..00000000000 Binary files a/jekyll/assets/2019/maodou-ketang-qrcode.png and /dev/null differ diff --git a/jekyll/assets/2019/maodou-ketang-qrcode.webp b/jekyll/assets/2019/maodou-ketang-qrcode.webp new file mode 100644 index 00000000000..3e4efdde0f4 Binary files /dev/null and b/jekyll/assets/2019/maodou-ketang-qrcode.webp differ diff --git a/jekyll/assets/2019/maodou-miniprogram-spec.png b/jekyll/assets/2019/maodou-miniprogram-spec.png deleted file mode 100644 index ed1aed10961..00000000000 Binary files a/jekyll/assets/2019/maodou-miniprogram-spec.png and /dev/null differ diff --git a/jekyll/assets/2019/maodou-miniprogram-spec.webp b/jekyll/assets/2019/maodou-miniprogram-spec.webp new file mode 100644 index 00000000000..d2ae868031e Binary files /dev/null and b/jekyll/assets/2019/maodou-miniprogram-spec.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.png deleted file mode 100644 index d8fcdc2856b..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.webp new file mode 100644 index 00000000000..be26dca2e64 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.png deleted file mode 100644 index b6a721ded67..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.webp new file mode 100644 index 00000000000..4e6bc51957c Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.png deleted file mode 100644 index 0b6cba543f1..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.webp new file mode 100644 index 00000000000..91ebc5d931d Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.png deleted file mode 100644 index 1aaf8639c86..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.webp new file mode 100644 index 00000000000..039692b4c16 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.png deleted file mode 100644 index 026c662ee52..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.webp new file mode 100644 index 00000000000..690b62949fb Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.png deleted file mode 100644 index 8933670fafc..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.webp new file mode 100644 index 00000000000..f849eb46c50 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.png deleted file mode 100644 index 3dce7b9827a..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.webp new file mode 100644 index 00000000000..b0614d079b6 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.png deleted file mode 100644 index 5155a0dc565..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.webp new file mode 100644 index 00000000000..76cd214dc33 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.png deleted file mode 100644 index be4de318c80..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.webp new file mode 100644 index 00000000000..0215cdc85f3 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.png deleted file mode 100644 index 41de03d2c84..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.webp new file mode 100644 index 00000000000..62c30d0f225 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.png deleted file mode 100644 index c866bcebd20..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.webp new file mode 100644 index 00000000000..0c811d77f28 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.png deleted file mode 100644 index 27feb0d4851..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.webp new file mode 100644 index 00000000000..539d4ccbe8a Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.png deleted file mode 100644 index 1c62b0fa506..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.webp new file mode 100644 index 00000000000..56a8e023d73 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.png deleted file mode 100644 index cace665874f..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.webp new file mode 100644 index 00000000000..766a8e20bf9 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.png deleted file mode 100644 index 434d0314e1b..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.webp new file mode 100644 index 00000000000..06b9bbeabbb Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.png deleted file mode 100644 index 2cc80e77b56..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.webp new file mode 100644 index 00000000000..7b95e7c8d3e Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.png deleted file mode 100644 index 5c35fdfef37..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.webp new file mode 100644 index 00000000000..191c02b13a5 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.png deleted file mode 100644 index abed607a23e..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.webp new file mode 100644 index 00000000000..66d4fe62c01 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.png deleted file mode 100644 index 76e19d2af95..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.webp new file mode 100644 index 00000000000..0245bf76703 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.png deleted file mode 100644 index 212d269eea0..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.webp new file mode 100644 index 00000000000..0d45ce697eb Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.png deleted file mode 100644 index a741d42f5f9..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.webp new file mode 100644 index 00000000000..a87b0268735 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.png deleted file mode 100644 index d2ed8e195cb..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.webp new file mode 100644 index 00000000000..a472fe4c7b9 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.png deleted file mode 100644 index 2f7b5028945..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.webp new file mode 100644 index 00000000000..703c592f6c9 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.png deleted file mode 100644 index 8926f39256d..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.webp new file mode 100644 index 00000000000..34abe3bb910 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.png deleted file mode 100644 index fdad57a60ae..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.webp new file mode 100644 index 00000000000..2fb783b30a1 Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.webp differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.png b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.png deleted file mode 100644 index 1e7a6ad9881..00000000000 Binary files a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.png and /dev/null differ diff --git a/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.webp b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.webp new file mode 100644 index 00000000000..87ecaebd68c Binary files /dev/null and b/jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.webp differ diff --git a/jekyll/assets/2019/node-wechaty-1.jpeg b/jekyll/assets/2019/node-wechaty-1.jpeg deleted file mode 100644 index fca15d6d8d1..00000000000 Binary files a/jekyll/assets/2019/node-wechaty-1.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/node-wechaty-1.webp b/jekyll/assets/2019/node-wechaty-1.webp new file mode 100644 index 00000000000..882b5952550 Binary files /dev/null and b/jekyll/assets/2019/node-wechaty-1.webp differ diff --git a/jekyll/assets/2019/node-wechaty-2.jpeg b/jekyll/assets/2019/node-wechaty-2.jpeg deleted file mode 100644 index c9405831859..00000000000 Binary files a/jekyll/assets/2019/node-wechaty-2.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/node-wechaty-2.webp b/jekyll/assets/2019/node-wechaty-2.webp new file mode 100644 index 00000000000..e1bc781003a Binary files /dev/null and b/jekyll/assets/2019/node-wechaty-2.webp differ diff --git a/jekyll/assets/2019/node-wechaty-3.jpeg b/jekyll/assets/2019/node-wechaty-3.jpeg deleted file mode 100644 index f03ed4b042a..00000000000 Binary files a/jekyll/assets/2019/node-wechaty-3.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/node-wechaty-3.webp b/jekyll/assets/2019/node-wechaty-3.webp new file mode 100644 index 00000000000..bccc2a866fc Binary files /dev/null and b/jekyll/assets/2019/node-wechaty-3.webp differ diff --git a/jekyll/assets/2019/pkg-jq.gif b/jekyll/assets/2019/pkg-jq.gif deleted file mode 100644 index e4674f59bea..00000000000 Binary files a/jekyll/assets/2019/pkg-jq.gif and /dev/null differ diff --git a/jekyll/assets/2019/pkg-jq.webp b/jekyll/assets/2019/pkg-jq.webp new file mode 100644 index 00000000000..f129fcaa775 Binary files /dev/null and b/jekyll/assets/2019/pkg-jq.webp differ diff --git a/jekyll/assets/2019/rasa-1.png b/jekyll/assets/2019/rasa-1.png deleted file mode 100644 index a223ef31f38..00000000000 Binary files a/jekyll/assets/2019/rasa-1.png and /dev/null differ diff --git a/jekyll/assets/2019/rasa-1.webp b/jekyll/assets/2019/rasa-1.webp new file mode 100644 index 00000000000..07a0e26934a Binary files /dev/null and b/jekyll/assets/2019/rasa-1.webp differ diff --git a/jekyll/assets/2019/rasa-2.png b/jekyll/assets/2019/rasa-2.png deleted file mode 100644 index e66dc98e722..00000000000 Binary files a/jekyll/assets/2019/rasa-2.png and /dev/null differ diff --git a/jekyll/assets/2019/rasa-2.webp b/jekyll/assets/2019/rasa-2.webp new file mode 100644 index 00000000000..11d2aec5700 Binary files /dev/null and b/jekyll/assets/2019/rasa-2.webp differ diff --git a/jekyll/assets/2019/rasa-3.png b/jekyll/assets/2019/rasa-3.png deleted file mode 100644 index ddd4879918b..00000000000 Binary files a/jekyll/assets/2019/rasa-3.png and /dev/null differ diff --git a/jekyll/assets/2019/rasa-3.webp b/jekyll/assets/2019/rasa-3.webp new file mode 100644 index 00000000000..2eb9cf29883 Binary files /dev/null and b/jekyll/assets/2019/rasa-3.webp differ diff --git a/jekyll/assets/2019/recruit-bot-img-1.png b/jekyll/assets/2019/recruit-bot-img-1.png deleted file mode 100644 index 0fe3858ea80..00000000000 Binary files a/jekyll/assets/2019/recruit-bot-img-1.png and /dev/null differ diff --git a/jekyll/assets/2019/recruit-bot-img-1.webp b/jekyll/assets/2019/recruit-bot-img-1.webp new file mode 100644 index 00000000000..3afe17d1be1 Binary files /dev/null and b/jekyll/assets/2019/recruit-bot-img-1.webp differ diff --git a/jekyll/assets/2019/recruit-bot-img-2.png b/jekyll/assets/2019/recruit-bot-img-2.png deleted file mode 100644 index d85da20f887..00000000000 Binary files a/jekyll/assets/2019/recruit-bot-img-2.png and /dev/null differ diff --git a/jekyll/assets/2019/recruit-bot-img-2.webp b/jekyll/assets/2019/recruit-bot-img-2.webp new file mode 100644 index 00000000000..e2ffe5d27cd Binary files /dev/null and b/jekyll/assets/2019/recruit-bot-img-2.webp differ diff --git a/jekyll/assets/2019/remind-eat-1.jpg b/jekyll/assets/2019/remind-eat-1.jpg deleted file mode 100644 index 1c3fb2bb220..00000000000 Binary files a/jekyll/assets/2019/remind-eat-1.jpg and /dev/null differ diff --git a/jekyll/assets/2019/remind-eat-1.webp b/jekyll/assets/2019/remind-eat-1.webp new file mode 100644 index 00000000000..f4f0991d204 Binary files /dev/null and b/jekyll/assets/2019/remind-eat-1.webp differ diff --git a/jekyll/assets/2019/remind-eat-2.jpg b/jekyll/assets/2019/remind-eat-2.jpg deleted file mode 100644 index 8c5a8bd3bb1..00000000000 Binary files a/jekyll/assets/2019/remind-eat-2.jpg and /dev/null differ diff --git a/jekyll/assets/2019/remind-eat-2.webp b/jekyll/assets/2019/remind-eat-2.webp new file mode 100644 index 00000000000..62f9bd18feb Binary files /dev/null and b/jekyll/assets/2019/remind-eat-2.webp differ diff --git a/jekyll/assets/2019/tstest.png b/jekyll/assets/2019/tstest.png deleted file mode 100644 index 474ec4e4112..00000000000 Binary files a/jekyll/assets/2019/tstest.png and /dev/null differ diff --git a/jekyll/assets/2019/tstest.webp b/jekyll/assets/2019/tstest.webp new file mode 100644 index 00000000000..e4639f1f36a Binary files /dev/null and b/jekyll/assets/2019/tstest.webp differ diff --git a/jekyll/assets/2019/wechaty-pay-botorange.png b/jekyll/assets/2019/wechaty-pay-botorange.png deleted file mode 100644 index c710e50eb94..00000000000 Binary files a/jekyll/assets/2019/wechaty-pay-botorange.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pay-botorange.webp b/jekyll/assets/2019/wechaty-pay-botorange.webp new file mode 100644 index 00000000000..15420ea1872 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pay-botorange.webp differ diff --git a/jekyll/assets/2019/wechaty-pay-paycompare.png b/jekyll/assets/2019/wechaty-pay-paycompare.png deleted file mode 100644 index b5d94f15d81..00000000000 Binary files a/jekyll/assets/2019/wechaty-pay-paycompare.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pay-paycompare.webp b/jekyll/assets/2019/wechaty-pay-paycompare.webp new file mode 100644 index 00000000000..366c7ad5905 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pay-paycompare.webp differ diff --git a/jekyll/assets/2019/wechaty-pay-paymentsx.jpg b/jekyll/assets/2019/wechaty-pay-paymentsx.jpg deleted file mode 100644 index a62892ebb9c..00000000000 Binary files a/jekyll/assets/2019/wechaty-pay-paymentsx.jpg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pay-paymentsx.webp b/jekyll/assets/2019/wechaty-pay-paymentsx.webp new file mode 100644 index 00000000000..0a790abe5f7 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pay-paymentsx.webp differ diff --git a/jekyll/assets/2019/wechaty-pay-paypic.png b/jekyll/assets/2019/wechaty-pay-paypic.png deleted file mode 100644 index 0a421112ef3..00000000000 Binary files a/jekyll/assets/2019/wechaty-pay-paypic.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pay-paypic.webp b/jekyll/assets/2019/wechaty-pay-paypic.webp new file mode 100644 index 00000000000..89f978e943d Binary files /dev/null and b/jekyll/assets/2019/wechaty-pay-paypic.webp differ diff --git a/jekyll/assets/2019/wechaty-pay-wechat.jpeg b/jekyll/assets/2019/wechaty-pay-wechat.jpeg deleted file mode 100644 index 8dc9f955fdf..00000000000 Binary files a/jekyll/assets/2019/wechaty-pay-wechat.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pay-wechat.webp b/jekyll/assets/2019/wechaty-pay-wechat.webp new file mode 100644 index 00000000000..145ec830045 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pay-wechat.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.jpeg deleted file mode 100644 index bc87bdf81d0..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.webp b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.webp new file mode 100644 index 00000000000..158a1fbb065 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.jpeg deleted file mode 100644 index 1a3620e4b73..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.webp b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.webp new file mode 100644 index 00000000000..95d3142744e Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.jpeg deleted file mode 100644 index a3274fd9b27..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.webp new file mode 100644 index 00000000000..83867cd7f00 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.jpeg deleted file mode 100644 index 82eb6b9de4f..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.webp new file mode 100644 index 00000000000..85849968ab8 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.jpeg deleted file mode 100644 index b55bf4d0f62..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.webp new file mode 100644 index 00000000000..2eb43502961 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.jpeg deleted file mode 100644 index 44cbef4a6bb..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.webp new file mode 100644 index 00000000000..698e9284c85 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.jpeg deleted file mode 100644 index 292b6393002..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.webp new file mode 100644 index 00000000000..b5833595ca2 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.jpeg deleted file mode 100644 index d4356198725..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.webp new file mode 100644 index 00000000000..1a45165e0ff Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.jpeg deleted file mode 100644 index fdddc1efe4f..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.webp b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.webp new file mode 100644 index 00000000000..0bab2cc74e0 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.webp differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.jpeg b/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.jpeg deleted file mode 100644 index 17dcc9b9951..00000000000 Binary files a/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.jpeg and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.webp b/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.webp new file mode 100644 index 00000000000..36221383016 Binary files /dev/null and b/jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.webp differ diff --git a/jekyll/assets/2019/wechaty-ricepo/logo.png b/jekyll/assets/2019/wechaty-ricepo/logo.png deleted file mode 100644 index 0bb82b1ee27..00000000000 Binary files a/jekyll/assets/2019/wechaty-ricepo/logo.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-ricepo/logo.webp b/jekyll/assets/2019/wechaty-ricepo/logo.webp new file mode 100644 index 00000000000..1ac7ea886af Binary files /dev/null and b/jekyll/assets/2019/wechaty-ricepo/logo.webp differ diff --git a/jekyll/assets/2019/wechaty-ricepo/order.png b/jekyll/assets/2019/wechaty-ricepo/order.png deleted file mode 100644 index 55d96b31266..00000000000 Binary files a/jekyll/assets/2019/wechaty-ricepo/order.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-ricepo/order.webp b/jekyll/assets/2019/wechaty-ricepo/order.webp new file mode 100644 index 00000000000..b14ac621921 Binary files /dev/null and b/jekyll/assets/2019/wechaty-ricepo/order.webp differ diff --git a/jekyll/assets/2019/wechaty-ricepo/ricepo.png b/jekyll/assets/2019/wechaty-ricepo/ricepo.png deleted file mode 100644 index 3a8fc7bdc18..00000000000 Binary files a/jekyll/assets/2019/wechaty-ricepo/ricepo.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-ricepo/ricepo.webp b/jekyll/assets/2019/wechaty-ricepo/ricepo.webp new file mode 100644 index 00000000000..f57503be852 Binary files /dev/null and b/jekyll/assets/2019/wechaty-ricepo/ricepo.webp differ diff --git a/jekyll/assets/2019/wechaty-ricepo/slack.png b/jekyll/assets/2019/wechaty-ricepo/slack.png deleted file mode 100644 index 4ed40d1672b..00000000000 Binary files a/jekyll/assets/2019/wechaty-ricepo/slack.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-ricepo/slack.webp b/jekyll/assets/2019/wechaty-ricepo/slack.webp new file mode 100644 index 00000000000..1bdc51a31f7 Binary files /dev/null and b/jekyll/assets/2019/wechaty-ricepo/slack.webp differ diff --git a/jekyll/assets/2019/wechaty-ricepo/wechat.png b/jekyll/assets/2019/wechaty-ricepo/wechat.png deleted file mode 100644 index f34d8a0ff8e..00000000000 Binary files a/jekyll/assets/2019/wechaty-ricepo/wechat.png and /dev/null differ diff --git a/jekyll/assets/2019/wechaty-ricepo/wechat.webp b/jekyll/assets/2019/wechaty-ricepo/wechat.webp new file mode 100644 index 00000000000..00ff64d7ab6 Binary files /dev/null and b/jekyll/assets/2019/wechaty-ricepo/wechat.webp differ diff --git a/jekyll/assets/2019/wewe-screenshot.png b/jekyll/assets/2019/wewe-screenshot.png deleted file mode 100644 index 9399e953167..00000000000 Binary files a/jekyll/assets/2019/wewe-screenshot.png and /dev/null differ diff --git a/jekyll/assets/2019/wewe-screenshot.webp b/jekyll/assets/2019/wewe-screenshot.webp new file mode 100644 index 00000000000..7a271cdd936 Binary files /dev/null and b/jekyll/assets/2019/wewe-screenshot.webp differ diff --git a/jekyll/assets/2019/wewe-timbot.jpg b/jekyll/assets/2019/wewe-timbot.jpg deleted file mode 100644 index 5d94145b0bb..00000000000 Binary files a/jekyll/assets/2019/wewe-timbot.jpg and /dev/null differ diff --git a/jekyll/assets/2019/wewe-timbot.webp b/jekyll/assets/2019/wewe-timbot.webp new file mode 100644 index 00000000000..4f5d83fddc2 Binary files /dev/null and b/jekyll/assets/2019/wewe-timbot.webp differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.png b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.png deleted file mode 100644 index ce899668412..00000000000 Binary files a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.png and /dev/null differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.webp b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.webp new file mode 100644 index 00000000000..d21f816505d Binary files /dev/null and b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.webp differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.png b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.png deleted file mode 100644 index be9e19dc2f6..00000000000 Binary files a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.png and /dev/null differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.webp b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.webp new file mode 100644 index 00000000000..29d830558a8 Binary files /dev/null and b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.webp differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png deleted file mode 100644 index a0646bc964a..00000000000 Binary files a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png and /dev/null differ diff --git a/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.webp b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.webp new file mode 100644 index 00000000000..d3d261de904 Binary files /dev/null and b/jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.webp differ diff --git a/jekyll/assets/2020/08-gitter/gitter.png b/jekyll/assets/2020/08-gitter/gitter.png deleted file mode 100644 index e87e0c74020..00000000000 Binary files a/jekyll/assets/2020/08-gitter/gitter.png and /dev/null differ diff --git a/jekyll/assets/2020/08-gitter/gitter.webp b/jekyll/assets/2020/08-gitter/gitter.webp new file mode 100644 index 00000000000..3141e3329a5 Binary files /dev/null and b/jekyll/assets/2020/08-gitter/gitter.webp differ diff --git a/jekyll/assets/2020/08-gitter/wechaty-gitter.png b/jekyll/assets/2020/08-gitter/wechaty-gitter.png deleted file mode 100644 index 48d48f07966..00000000000 Binary files a/jekyll/assets/2020/08-gitter/wechaty-gitter.png and /dev/null differ diff --git a/jekyll/assets/2020/08-gitter/wechaty-gitter.webp b/jekyll/assets/2020/08-gitter/wechaty-gitter.webp new file mode 100644 index 00000000000..a586349fd0c Binary files /dev/null and b/jekyll/assets/2020/08-gitter/wechaty-gitter.webp differ diff --git a/jekyll/assets/2020/08-zizz/zizz-discussion.jpg b/jekyll/assets/2020/08-zizz/zizz-discussion.jpg deleted file mode 100644 index 15eede19a4c..00000000000 Binary files a/jekyll/assets/2020/08-zizz/zizz-discussion.jpg and /dev/null differ diff --git a/jekyll/assets/2020/08-zizz/zizz-discussion.webp b/jekyll/assets/2020/08-zizz/zizz-discussion.webp new file mode 100644 index 00000000000..8c74ac37b6c Binary files /dev/null and b/jekyll/assets/2020/08-zizz/zizz-discussion.webp differ diff --git a/jekyll/assets/2020/08-zizz/zizz.png b/jekyll/assets/2020/08-zizz/zizz.png deleted file mode 100644 index 5e9fa01fd02..00000000000 Binary files a/jekyll/assets/2020/08-zizz/zizz.png and /dev/null differ diff --git a/jekyll/assets/2020/08-zizz/zizz.webp b/jekyll/assets/2020/08-zizz/zizz.webp new file mode 100644 index 00000000000..1fedc470bd3 Binary files /dev/null and b/jekyll/assets/2020/08-zizz/zizz.webp differ diff --git a/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.png b/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.png deleted file mode 100644 index 7ede09c471b..00000000000 Binary files a/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.png and /dev/null differ diff --git a/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.webp b/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.webp new file mode 100644 index 00000000000..6d3c0aa9fd0 Binary files /dev/null and b/jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.webp differ diff --git a/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.jpg b/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.jpg deleted file mode 100644 index 9199f3b271d..00000000000 Binary files a/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.webp b/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.webp new file mode 100644 index 00000000000..fc7d653d057 Binary files /dev/null and b/jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.webp differ diff --git a/jekyll/assets/2020/11-chatie-status-page/chatie-status.png b/jekyll/assets/2020/11-chatie-status-page/chatie-status.png deleted file mode 100644 index 286b600c05f..00000000000 Binary files a/jekyll/assets/2020/11-chatie-status-page/chatie-status.png and /dev/null differ diff --git a/jekyll/assets/2020/11-chatie-status-page/chatie-status.webp b/jekyll/assets/2020/11-chatie-status-page/chatie-status.webp new file mode 100644 index 00000000000..f2c4d1dbc32 Binary files /dev/null and b/jekyll/assets/2020/11-chatie-status-page/chatie-status.webp differ diff --git a/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.png b/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.png deleted file mode 100644 index 39354373e2f..00000000000 Binary files a/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.png and /dev/null differ diff --git a/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.webp b/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.webp new file mode 100644 index 00000000000..ff71b7e8feb Binary files /dev/null and b/jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.webp differ diff --git a/jekyll/assets/2020/11-lets-water/letswater.png b/jekyll/assets/2020/11-lets-water/letswater.png deleted file mode 100644 index 711cb2c2349..00000000000 Binary files a/jekyll/assets/2020/11-lets-water/letswater.png and /dev/null differ diff --git a/jekyll/assets/2020/11-lets-water/letswater.webp b/jekyll/assets/2020/11-lets-water/letswater.webp new file mode 100644 index 00000000000..1483d7c35dc Binary files /dev/null and b/jekyll/assets/2020/11-lets-water/letswater.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-summit-talks/four.jpg b/jekyll/assets/2020/11-summer-2020-summit-talks/four.jpg deleted file mode 100644 index 5a85667d1ad..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-summit-talks/four.jpg and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-summit-talks/four.webp b/jekyll/assets/2020/11-summer-2020-summit-talks/four.webp new file mode 100644 index 00000000000..426330457f4 Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-summit-talks/four.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-summit-talks/six.jpg b/jekyll/assets/2020/11-summer-2020-summit-talks/six.jpg deleted file mode 100644 index d50b240a874..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-summit-talks/six.jpg and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-summit-talks/six.webp b/jekyll/assets/2020/11-summer-2020-summit-talks/six.webp new file mode 100644 index 00000000000..46583f70055 Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-summit-talks/six.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.png b/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.png deleted file mode 100644 index 6df69913f7c..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.png and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.webp b/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.webp new file mode 100644 index 00000000000..bf191308a27 Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.png b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.png deleted file mode 100644 index ceed987fbf6..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.png and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.webp b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.webp new file mode 100644 index 00000000000..de70d978fd2 Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.png b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.png deleted file mode 100644 index 84ff8a21d1f..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.png and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.webp b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.webp new file mode 100644 index 00000000000..483aacf6507 Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.webp differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.png b/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.png deleted file mode 100644 index 7e70c238f98..00000000000 Binary files a/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.png and /dev/null differ diff --git a/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.webp b/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.webp new file mode 100644 index 00000000000..5ccc20df46b Binary files /dev/null and b/jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.webp differ diff --git a/jekyll/assets/2020/12-07-rock/rock.jpeg b/jekyll/assets/2020/12-07-rock/rock.jpeg deleted file mode 100644 index bbcb8f2b46d..00000000000 Binary files a/jekyll/assets/2020/12-07-rock/rock.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/12-07-rock/rock.webp b/jekyll/assets/2020/12-07-rock/rock.webp new file mode 100644 index 00000000000..f639d48675d Binary files /dev/null and b/jekyll/assets/2020/12-07-rock/rock.webp differ diff --git a/jekyll/assets/2020/12-07-wxwork/wecom.png b/jekyll/assets/2020/12-07-wxwork/wecom.png deleted file mode 100644 index 837c7b924c9..00000000000 Binary files a/jekyll/assets/2020/12-07-wxwork/wecom.png and /dev/null differ diff --git a/jekyll/assets/2020/12-07-wxwork/wecom.webp b/jekyll/assets/2020/12-07-wxwork/wecom.webp new file mode 100644 index 00000000000..6e3896e3f99 Binary files /dev/null and b/jekyll/assets/2020/12-07-wxwork/wecom.webp differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.png b/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.png deleted file mode 100644 index 5568aebfd73..00000000000 Binary files a/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.png and /dev/null differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.webp b/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.webp new file mode 100644 index 00000000000..7f611546df3 Binary files /dev/null and b/jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.webp differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/console-project.png b/jekyll/assets/2020/12-dotnet-wechaty/console-project.png deleted file mode 100644 index 01d78b40cff..00000000000 Binary files a/jekyll/assets/2020/12-dotnet-wechaty/console-project.png and /dev/null differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/console-project.webp b/jekyll/assets/2020/12-dotnet-wechaty/console-project.webp new file mode 100644 index 00000000000..55db22622e2 Binary files /dev/null and b/jekyll/assets/2020/12-dotnet-wechaty/console-project.webp differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.png b/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.png deleted file mode 100644 index dd22eb7acfa..00000000000 Binary files a/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.webp b/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.webp new file mode 100644 index 00000000000..4c9b47499c7 Binary files /dev/null and b/jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.webp differ diff --git a/jekyll/assets/2020/12-johnwang71/avartar.png b/jekyll/assets/2020/12-johnwang71/avartar.png deleted file mode 100644 index eb54d9fb3cd..00000000000 Binary files a/jekyll/assets/2020/12-johnwang71/avartar.png and /dev/null differ diff --git a/jekyll/assets/2020/12-johnwang71/avartar.webp b/jekyll/assets/2020/12-johnwang71/avartar.webp new file mode 100644 index 00000000000..4216391879c Binary files /dev/null and b/jekyll/assets/2020/12-johnwang71/avartar.webp differ diff --git a/jekyll/assets/2020/12-johnwang71/wechaty-integration.png b/jekyll/assets/2020/12-johnwang71/wechaty-integration.png deleted file mode 100644 index 5f617b6aa2f..00000000000 Binary files a/jekyll/assets/2020/12-johnwang71/wechaty-integration.png and /dev/null differ diff --git a/jekyll/assets/2020/12-johnwang71/wechaty-integration.webp b/jekyll/assets/2020/12-johnwang71/wechaty-integration.webp new file mode 100644 index 00000000000..9f4803ca9e2 Binary files /dev/null and b/jekyll/assets/2020/12-johnwang71/wechaty-integration.webp differ diff --git a/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.jpg b/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.jpg deleted file mode 100644 index 64d881814d0..00000000000 Binary files a/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.webp b/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.webp new file mode 100644 index 00000000000..29e899b522c Binary files /dev/null and b/jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.webp differ diff --git a/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.jpg b/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.jpg deleted file mode 100644 index ace5f9de570..00000000000 Binary files a/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.webp b/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.webp new file mode 100644 index 00000000000..7acb2009329 Binary files /dev/null and b/jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.webp differ diff --git a/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.png b/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.png deleted file mode 100644 index cbdb25e7ffc..00000000000 Binary files a/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.png and /dev/null differ diff --git a/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.webp b/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.webp new file mode 100644 index 00000000000..ec7710b8ecf Binary files /dev/null and b/jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.webp differ diff --git a/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.jpg b/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.jpg deleted file mode 100644 index db7b07a10e9..00000000000 Binary files a/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.webp b/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.webp new file mode 100644 index 00000000000..df7217b3b24 Binary files /dev/null and b/jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.webp differ diff --git a/jekyll/assets/2020/12-summer-2020-student-developers/award.png b/jekyll/assets/2020/12-summer-2020-student-developers/award.png deleted file mode 100644 index 8350542d6c2..00000000000 Binary files a/jekyll/assets/2020/12-summer-2020-student-developers/award.png and /dev/null differ diff --git a/jekyll/assets/2020/12-summer-2020-student-developers/award.webp b/jekyll/assets/2020/12-summer-2020-student-developers/award.webp new file mode 100644 index 00000000000..b985469dc47 Binary files /dev/null and b/jekyll/assets/2020/12-summer-2020-student-developers/award.webp differ diff --git a/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.png b/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.png deleted file mode 100644 index a741ac690b6..00000000000 Binary files a/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.png and /dev/null differ diff --git a/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.webp b/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.webp new file mode 100644 index 00000000000..acbf76e4681 Binary files /dev/null and b/jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.webp differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.jpg b/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.jpg deleted file mode 100644 index 22f6e3e7975..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.webp b/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.webp new file mode 100644 index 00000000000..53701e51705 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.webp differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.jpg b/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.jpg deleted file mode 100644 index 12c26fc92e7..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.webp b/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.webp new file mode 100644 index 00000000000..c0cc2297a06 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.webp differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.jpg b/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.jpg deleted file mode 100644 index d60cdbd861c..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.jpg and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.webp b/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.webp new file mode 100644 index 00000000000..9970ade9c0f Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.png b/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.png deleted file mode 100644 index 15b700b29f3..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.webp b/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.webp new file mode 100644 index 00000000000..5acd89157bc Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/code-structure.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-1.png b/jekyll/assets/2020/12-wechaty-robot-lite/example-1.png deleted file mode 100644 index fc41f398167..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/example-1.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-1.webp b/jekyll/assets/2020/12-wechaty-robot-lite/example-1.webp new file mode 100644 index 00000000000..8519a9c8fa1 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/example-1.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-2.png b/jekyll/assets/2020/12-wechaty-robot-lite/example-2.png deleted file mode 100644 index a2879211c25..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/example-2.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-2.webp b/jekyll/assets/2020/12-wechaty-robot-lite/example-2.webp new file mode 100644 index 00000000000..b12fd7fda45 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/example-2.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-3.png b/jekyll/assets/2020/12-wechaty-robot-lite/example-3.png deleted file mode 100644 index 2ad1890c49e..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/example-3.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/example-3.webp b/jekyll/assets/2020/12-wechaty-robot-lite/example-3.webp new file mode 100644 index 00000000000..38854d6f94b Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/example-3.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.png b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.png deleted file mode 100644 index 2a54a41d244..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.webp b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.webp new file mode 100644 index 00000000000..6f445c6a331 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.png b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.png deleted file mode 100644 index d560b289496..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.webp b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.webp new file mode 100644 index 00000000000..a6330d3ebc0 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.webp differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/web-example.png b/jekyll/assets/2020/12-wechaty-robot-lite/web-example.png deleted file mode 100644 index ec222e162b5..00000000000 Binary files a/jekyll/assets/2020/12-wechaty-robot-lite/web-example.png and /dev/null differ diff --git a/jekyll/assets/2020/12-wechaty-robot-lite/web-example.webp b/jekyll/assets/2020/12-wechaty-robot-lite/web-example.webp new file mode 100644 index 00000000000..d4ca3f2dcd1 Binary files /dev/null and b/jekyll/assets/2020/12-wechaty-robot-lite/web-example.webp differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.jpeg b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.jpeg deleted file mode 100644 index 5804dbad21c..00000000000 Binary files a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.webp b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.webp new file mode 100644 index 00000000000..22e9487b8bb Binary files /dev/null and b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.webp differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.png b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.png deleted file mode 100644 index d5c50a33449..00000000000 Binary files a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.png and /dev/null differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.webp b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.webp new file mode 100644 index 00000000000..3c512bf5c6c Binary files /dev/null and b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.webp differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.png b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.png deleted file mode 100644 index e51b926ae02..00000000000 Binary files a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.png and /dev/null differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.webp b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.webp new file mode 100644 index 00000000000..3b80b9bc312 Binary files /dev/null and b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.webp differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.png b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.png deleted file mode 100644 index 35a794eb384..00000000000 Binary files a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.png and /dev/null differ diff --git a/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.webp b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.webp new file mode 100644 index 00000000000..1f4eb88fb1e Binary files /dev/null and b/jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.webp differ diff --git a/jekyll/assets/2020/910taobot/panda.jpg b/jekyll/assets/2020/910taobot/panda.jpg deleted file mode 100644 index 37ef600a38a..00000000000 Binary files a/jekyll/assets/2020/910taobot/panda.jpg and /dev/null differ diff --git a/jekyll/assets/2020/910taobot/panda.webp b/jekyll/assets/2020/910taobot/panda.webp new file mode 100644 index 00000000000..4ec1f58e3af Binary files /dev/null and b/jekyll/assets/2020/910taobot/panda.webp differ diff --git a/jekyll/assets/2020/add-video-to-wechaty-blog/header.png b/jekyll/assets/2020/add-video-to-wechaty-blog/header.png deleted file mode 100644 index 57af994c61a..00000000000 Binary files a/jekyll/assets/2020/add-video-to-wechaty-blog/header.png and /dev/null differ diff --git a/jekyll/assets/2020/add-video-to-wechaty-blog/header.webp b/jekyll/assets/2020/add-video-to-wechaty-blog/header.webp new file mode 100644 index 00000000000..e2e1907930a Binary files /dev/null and b/jekyll/assets/2020/add-video-to-wechaty-blog/header.webp differ diff --git a/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg b/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg deleted file mode 100644 index c6d9bbba857..00000000000 Binary files a/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.webp b/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.webp new file mode 100644 index 00000000000..aaa12d981d9 Binary files /dev/null and b/jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.webp differ diff --git a/jekyll/assets/2020/alter-padplus/login.png b/jekyll/assets/2020/alter-padplus/login.png deleted file mode 100644 index ded308abfc3..00000000000 Binary files a/jekyll/assets/2020/alter-padplus/login.png and /dev/null differ diff --git a/jekyll/assets/2020/alter-padplus/login.webp b/jekyll/assets/2020/alter-padplus/login.webp new file mode 100644 index 00000000000..e3e2423e795 Binary files /dev/null and b/jekyll/assets/2020/alter-padplus/login.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/archybots.jpg b/jekyll/assets/2020/archyshuo-anki-assistant/archybots.jpg deleted file mode 100644 index d87b4416f88..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/archybots.jpg and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/archybots.webp b/jekyll/assets/2020/archyshuo-anki-assistant/archybots.webp new file mode 100644 index 00000000000..20bc6335d26 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/archybots.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/cat.gif b/jekyll/assets/2020/archyshuo-anki-assistant/cat.gif deleted file mode 100644 index 2a2a9164afa..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/cat.gif and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/cat.webp b/jekyll/assets/2020/archyshuo-anki-assistant/cat.webp new file mode 100644 index 00000000000..44cb7670959 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/cat.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo.jpg b/jekyll/assets/2020/archyshuo-anki-assistant/demo.jpg deleted file mode 100644 index 8c453ba1367..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo.webp b/jekyll/assets/2020/archyshuo-anki-assistant/demo.webp new file mode 100644 index 00000000000..8527eb12dcf Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/demo.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo2.png b/jekyll/assets/2020/archyshuo-anki-assistant/demo2.png deleted file mode 100644 index 1daa78afe3d..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/demo2.png and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo2.webp b/jekyll/assets/2020/archyshuo-anki-assistant/demo2.webp new file mode 100644 index 00000000000..1e6e8250cd1 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/demo2.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.png b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.png deleted file mode 100644 index 7af19ec8686..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.png and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.webp b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.webp new file mode 100644 index 00000000000..4b1208f7c81 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.png b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.png deleted file mode 100644 index 209b05e05e5..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.png and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/demo3.webp b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.webp new file mode 100644 index 00000000000..f1a94b9e6af Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/demo3.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.png b/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.png deleted file mode 100644 index 4d18b7fbcfc..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.png and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.webp b/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.webp new file mode 100644 index 00000000000..2235baca829 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/tt.jpg b/jekyll/assets/2020/archyshuo-anki-assistant/tt.jpg deleted file mode 100644 index 3c151ce18d4..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/tt.jpg and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/tt.webp b/jekyll/assets/2020/archyshuo-anki-assistant/tt.webp new file mode 100644 index 00000000000..8e8d424083c Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/tt.webp differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/wx.jpg b/jekyll/assets/2020/archyshuo-anki-assistant/wx.jpg deleted file mode 100644 index 5d30362ad1e..00000000000 Binary files a/jekyll/assets/2020/archyshuo-anki-assistant/wx.jpg and /dev/null differ diff --git a/jekyll/assets/2020/archyshuo-anki-assistant/wx.webp b/jekyll/assets/2020/archyshuo-anki-assistant/wx.webp new file mode 100644 index 00000000000..05c3a25f3e5 Binary files /dev/null and b/jekyll/assets/2020/archyshuo-anki-assistant/wx.webp differ diff --git a/jekyll/assets/2020/azure-show/azure-show-huan.png b/jekyll/assets/2020/azure-show/azure-show-huan.png deleted file mode 100644 index cfa1a855856..00000000000 Binary files a/jekyll/assets/2020/azure-show/azure-show-huan.png and /dev/null differ diff --git a/jekyll/assets/2020/azure-show/azure-show-huan.webp b/jekyll/assets/2020/azure-show/azure-show-huan.webp new file mode 100644 index 00000000000..14cb45d932d Binary files /dev/null and b/jekyll/assets/2020/azure-show/azure-show-huan.webp differ diff --git a/jekyll/assets/2020/azure-show/azure-show-mvp.png b/jekyll/assets/2020/azure-show/azure-show-mvp.png deleted file mode 100644 index 690311621f2..00000000000 Binary files a/jekyll/assets/2020/azure-show/azure-show-mvp.png and /dev/null differ diff --git a/jekyll/assets/2020/azure-show/azure-show-mvp.webp b/jekyll/assets/2020/azure-show/azure-show-mvp.webp new file mode 100644 index 00000000000..75020e5b9c2 Binary files /dev/null and b/jekyll/assets/2020/azure-show/azure-show-mvp.webp differ diff --git a/jekyll/assets/2020/azure-show/azure-show-rui.png b/jekyll/assets/2020/azure-show/azure-show-rui.png deleted file mode 100644 index 436f7f7913d..00000000000 Binary files a/jekyll/assets/2020/azure-show/azure-show-rui.png and /dev/null differ diff --git a/jekyll/assets/2020/azure-show/azure-show-rui.webp b/jekyll/assets/2020/azure-show/azure-show-rui.webp new file mode 100644 index 00000000000..3d8b56af3f7 Binary files /dev/null and b/jekyll/assets/2020/azure-show/azure-show-rui.webp differ diff --git a/jekyll/assets/2020/azure-show/azure-show.png b/jekyll/assets/2020/azure-show/azure-show.png deleted file mode 100644 index 483441cecea..00000000000 Binary files a/jekyll/assets/2020/azure-show/azure-show.png and /dev/null differ diff --git a/jekyll/assets/2020/azure-show/azure-show.webp b/jekyll/assets/2020/azure-show/azure-show.webp new file mode 100644 index 00000000000..640de72e526 Binary files /dev/null and b/jekyll/assets/2020/azure-show/azure-show.webp differ diff --git a/jekyll/assets/2020/chassist-final/logo.png b/jekyll/assets/2020/chassist-final/logo.png deleted file mode 100644 index 8af8280e56b..00000000000 Binary files a/jekyll/assets/2020/chassist-final/logo.png and /dev/null differ diff --git a/jekyll/assets/2020/chassist-final/logo.webp b/jekyll/assets/2020/chassist-final/logo.webp new file mode 100644 index 00000000000..7fb8f1fd3db Binary files /dev/null and b/jekyll/assets/2020/chassist-final/logo.webp differ diff --git a/jekyll/assets/2020/chassist-final/uml.png b/jekyll/assets/2020/chassist-final/uml.png deleted file mode 100644 index c42d6c12b17..00000000000 Binary files a/jekyll/assets/2020/chassist-final/uml.png and /dev/null differ diff --git a/jekyll/assets/2020/chassist-final/uml.webp b/jekyll/assets/2020/chassist-final/uml.webp new file mode 100644 index 00000000000..d25b9f1490b Binary files /dev/null and b/jekyll/assets/2020/chassist-final/uml.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.jpg deleted file mode 100644 index a4cb52b5ba1..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.webp new file mode 100644 index 00000000000..4552b96a946 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-1.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.jpg deleted file mode 100644 index 4cebcade6a3..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.webp new file mode 100644 index 00000000000..2492cebf526 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-10.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.jpg deleted file mode 100644 index 3ae60f1a15b..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.webp new file mode 100644 index 00000000000..a5cbd9bcb47 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-11.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.jpg deleted file mode 100644 index 54ab67186ca..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.webp new file mode 100644 index 00000000000..ab3c09a65fe Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-12.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.jpg deleted file mode 100644 index 4bca4aec57b..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.webp new file mode 100644 index 00000000000..7752bbd4f3c Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-13.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.jpg deleted file mode 100644 index 0c521307012..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.webp new file mode 100644 index 00000000000..4ba73b74ab7 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-14.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.jpg deleted file mode 100644 index 334a4b7e199..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.webp new file mode 100644 index 00000000000..60485695829 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-2.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.jpg deleted file mode 100644 index 71d262c038e..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.webp new file mode 100644 index 00000000000..1bf89eb2c26 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-3.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.jpg deleted file mode 100644 index 99b782655b7..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.webp new file mode 100644 index 00000000000..f5f27b8281b Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-4.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.jpg deleted file mode 100644 index 26c2d073c1b..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.webp new file mode 100644 index 00000000000..ec8e9363dae Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-5.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.jpg deleted file mode 100644 index 7079b7e9cfe..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.webp new file mode 100644 index 00000000000..a1a76723a93 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-6.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.jpg deleted file mode 100644 index 6b7f22c1e12..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.webp new file mode 100644 index 00000000000..46fe50cca7c Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-7.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.jpg deleted file mode 100644 index 6871e1ad32e..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.webp new file mode 100644 index 00000000000..c8660fee5db Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-8.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.jpg deleted file mode 100644 index 358bb139acd..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.webp b/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.webp new file mode 100644 index 00000000000..08e0773bd81 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/slide-9.webp differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/teaser.jpg b/jekyll/assets/2020/chatbot-on-uniqueway/teaser.jpg deleted file mode 100644 index 2b5da1b32ce..00000000000 Binary files a/jekyll/assets/2020/chatbot-on-uniqueway/teaser.jpg and /dev/null differ diff --git a/jekyll/assets/2020/chatbot-on-uniqueway/teaser.webp b/jekyll/assets/2020/chatbot-on-uniqueway/teaser.webp new file mode 100644 index 00000000000..a3b06b53e01 Binary files /dev/null and b/jekyll/assets/2020/chatbot-on-uniqueway/teaser.webp differ diff --git a/jekyll/assets/2020/commandline-filter/0.jpg b/jekyll/assets/2020/commandline-filter/0.jpg deleted file mode 100644 index 6df83257aab..00000000000 Binary files a/jekyll/assets/2020/commandline-filter/0.jpg and /dev/null differ diff --git a/jekyll/assets/2020/commandline-filter/0.webp b/jekyll/assets/2020/commandline-filter/0.webp new file mode 100644 index 00000000000..6389a3b0f4e Binary files /dev/null and b/jekyll/assets/2020/commandline-filter/0.webp differ diff --git a/jekyll/assets/2020/commandline-filter/1.jpg b/jekyll/assets/2020/commandline-filter/1.jpg deleted file mode 100644 index 86f06cdb843..00000000000 Binary files a/jekyll/assets/2020/commandline-filter/1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/commandline-filter/1.webp b/jekyll/assets/2020/commandline-filter/1.webp new file mode 100644 index 00000000000..fba8d22ae6f Binary files /dev/null and b/jekyll/assets/2020/commandline-filter/1.webp differ diff --git a/jekyll/assets/2020/commandline-filter/2.jpg b/jekyll/assets/2020/commandline-filter/2.jpg deleted file mode 100644 index 0028cad5215..00000000000 Binary files a/jekyll/assets/2020/commandline-filter/2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/commandline-filter/2.webp b/jekyll/assets/2020/commandline-filter/2.webp new file mode 100644 index 00000000000..ea1e912af2c Binary files /dev/null and b/jekyll/assets/2020/commandline-filter/2.webp differ diff --git a/jekyll/assets/2020/commandline-filter/3.jpg b/jekyll/assets/2020/commandline-filter/3.jpg deleted file mode 100644 index 24b383e1cbc..00000000000 Binary files a/jekyll/assets/2020/commandline-filter/3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/commandline-filter/3.webp b/jekyll/assets/2020/commandline-filter/3.webp new file mode 100644 index 00000000000..d4ed98b6311 Binary files /dev/null and b/jekyll/assets/2020/commandline-filter/3.webp differ diff --git a/jekyll/assets/2020/commandline-filter/logo.png b/jekyll/assets/2020/commandline-filter/logo.png deleted file mode 100644 index b42269c118f..00000000000 Binary files a/jekyll/assets/2020/commandline-filter/logo.png and /dev/null differ diff --git a/jekyll/assets/2020/commandline-filter/logo.webp b/jekyll/assets/2020/commandline-filter/logo.webp new file mode 100644 index 00000000000..34c45eed578 Binary files /dev/null and b/jekyll/assets/2020/commandline-filter/logo.webp differ diff --git a/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg b/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg deleted file mode 100644 index 663e0630286..00000000000 Binary files a/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.webp b/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.webp new file mode 100644 index 00000000000..66e98f55bea Binary files /dev/null and b/jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.webp differ diff --git a/jekyll/assets/2020/cps-bot/qrcode.jpg b/jekyll/assets/2020/cps-bot/qrcode.jpg deleted file mode 100644 index cdc378aad34..00000000000 Binary files a/jekyll/assets/2020/cps-bot/qrcode.jpg and /dev/null differ diff --git a/jekyll/assets/2020/cps-bot/qrcode.webp b/jekyll/assets/2020/cps-bot/qrcode.webp new file mode 100644 index 00000000000..63cff5fc31b Binary files /dev/null and b/jekyll/assets/2020/cps-bot/qrcode.webp differ diff --git a/jekyll/assets/2020/cps-chat-bot/goodsmsg.jpeg b/jekyll/assets/2020/cps-chat-bot/goodsmsg.jpeg deleted file mode 100644 index 48beb479686..00000000000 Binary files a/jekyll/assets/2020/cps-chat-bot/goodsmsg.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/cps-chat-bot/goodsmsg.webp b/jekyll/assets/2020/cps-chat-bot/goodsmsg.webp new file mode 100644 index 00000000000..56a3d76fa6f Binary files /dev/null and b/jekyll/assets/2020/cps-chat-bot/goodsmsg.webp differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/daily-message.png b/jekyll/assets/2020/daily-message-and-chatbot/daily-message.png deleted file mode 100644 index 0a8d746fbfc..00000000000 Binary files a/jekyll/assets/2020/daily-message-and-chatbot/daily-message.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/daily-message.webp b/jekyll/assets/2020/daily-message-and-chatbot/daily-message.webp new file mode 100644 index 00000000000..cde5449d699 Binary files /dev/null and b/jekyll/assets/2020/daily-message-and-chatbot/daily-message.webp differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.png b/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.png deleted file mode 100644 index cfb03bb79cc..00000000000 Binary files a/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.webp b/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.webp new file mode 100644 index 00000000000..82ae99b65b2 Binary files /dev/null and b/jekyll/assets/2020/daily-message-and-chatbot/keyword-push.webp differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/push-contact.png b/jekyll/assets/2020/daily-message-and-chatbot/push-contact.png deleted file mode 100644 index f02b4a07764..00000000000 Binary files a/jekyll/assets/2020/daily-message-and-chatbot/push-contact.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/push-contact.webp b/jekyll/assets/2020/daily-message-and-chatbot/push-contact.webp new file mode 100644 index 00000000000..6d8bee864ef Binary files /dev/null and b/jekyll/assets/2020/daily-message-and-chatbot/push-contact.webp differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.png b/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.png deleted file mode 100644 index 1c8ee35c2c7..00000000000 Binary files a/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.webp b/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.webp new file mode 100644 index 00000000000..00952b5f022 Binary files /dev/null and b/jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/emoji.png b/jekyll/assets/2020/daily-push-wechat-robot/emoji.png deleted file mode 100644 index ee61b922f24..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/emoji.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/emoji.webp b/jekyll/assets/2020/daily-push-wechat-robot/emoji.webp new file mode 100644 index 00000000000..b55d2acac68 Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/emoji.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.jpg b/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.jpg deleted file mode 100644 index ff90f1f3d1a..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.webp b/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.webp new file mode 100644 index 00000000000..893feb91096 Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/fake-robot.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/intro.png b/jekyll/assets/2020/daily-push-wechat-robot/intro.png deleted file mode 100644 index 4de12322cf3..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/intro.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/intro.webp b/jekyll/assets/2020/daily-push-wechat-robot/intro.webp new file mode 100644 index 00000000000..790197d0071 Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/intro.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.png b/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.png deleted file mode 100644 index 9a1953bfb39..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.webp b/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.webp new file mode 100644 index 00000000000..6a6e6360613 Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/push-inroom.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/push-per.png b/jekyll/assets/2020/daily-push-wechat-robot/push-per.png deleted file mode 100644 index ca75603949d..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/push-per.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/push-per.webp b/jekyll/assets/2020/daily-push-wechat-robot/push-per.webp new file mode 100644 index 00000000000..781bd0d3ad9 Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/push-per.webp differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/whether.png b/jekyll/assets/2020/daily-push-wechat-robot/whether.png deleted file mode 100644 index 0fcc694e341..00000000000 Binary files a/jekyll/assets/2020/daily-push-wechat-robot/whether.png and /dev/null differ diff --git a/jekyll/assets/2020/daily-push-wechat-robot/whether.webp b/jekyll/assets/2020/daily-push-wechat-robot/whether.webp new file mode 100644 index 00000000000..12e6f2a7edc Binary files /dev/null and b/jekyll/assets/2020/daily-push-wechat-robot/whether.webp differ diff --git a/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.png b/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.png deleted file mode 100644 index 7189a921b5e..00000000000 Binary files a/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.png and /dev/null differ diff --git a/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.webp b/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.webp new file mode 100644 index 00000000000..cd15cc2e137 Binary files /dev/null and b/jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.webp differ diff --git a/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.png b/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.png deleted file mode 100644 index 1b519bc367e..00000000000 Binary files a/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.png and /dev/null differ diff --git a/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.webp b/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.webp new file mode 100644 index 00000000000..4d9c372d0fb Binary files /dev/null and b/jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.webp differ diff --git a/jekyll/assets/2020/early-bird-chatbot/bird.png b/jekyll/assets/2020/early-bird-chatbot/bird.png deleted file mode 100644 index a3187145b9a..00000000000 Binary files a/jekyll/assets/2020/early-bird-chatbot/bird.png and /dev/null differ diff --git a/jekyll/assets/2020/early-bird-chatbot/bird.webp b/jekyll/assets/2020/early-bird-chatbot/bird.webp new file mode 100644 index 00000000000..6840aebd06d Binary files /dev/null and b/jekyll/assets/2020/early-bird-chatbot/bird.webp differ diff --git a/jekyll/assets/2020/early-bird-chatbot/covid.png b/jekyll/assets/2020/early-bird-chatbot/covid.png deleted file mode 100644 index 7d3ee130715..00000000000 Binary files a/jekyll/assets/2020/early-bird-chatbot/covid.png and /dev/null differ diff --git a/jekyll/assets/2020/early-bird-chatbot/covid.webp b/jekyll/assets/2020/early-bird-chatbot/covid.webp new file mode 100644 index 00000000000..0a0e4227626 Binary files /dev/null and b/jekyll/assets/2020/early-bird-chatbot/covid.webp differ diff --git a/jekyll/assets/2020/early-bird-chatbot/job.png b/jekyll/assets/2020/early-bird-chatbot/job.png deleted file mode 100644 index f1fe55ac943..00000000000 Binary files a/jekyll/assets/2020/early-bird-chatbot/job.png and /dev/null differ diff --git a/jekyll/assets/2020/early-bird-chatbot/job.webp b/jekyll/assets/2020/early-bird-chatbot/job.webp new file mode 100644 index 00000000000..fde01022c8f Binary files /dev/null and b/jekyll/assets/2020/early-bird-chatbot/job.webp differ diff --git a/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.png b/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.png deleted file mode 100644 index 5b8489fe9cd..00000000000 Binary files a/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.png and /dev/null differ diff --git a/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.webp b/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.webp new file mode 100644 index 00000000000..1b23d1c75be Binary files /dev/null and b/jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.webp differ diff --git a/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.jpg b/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.jpg deleted file mode 100644 index de8bf7c4cb1..00000000000 Binary files a/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.webp b/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.webp new file mode 100644 index 00000000000..5681db974da Binary files /dev/null and b/jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.webp differ diff --git a/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.png b/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.png deleted file mode 100644 index f15cc9e3333..00000000000 Binary files a/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.webp b/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.webp new file mode 100644 index 00000000000..57c948fe62c Binary files /dev/null and b/jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.webp differ diff --git a/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.png b/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.png deleted file mode 100755 index 0a4b617b925..00000000000 Binary files a/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.png and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.webp b/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.webp new file mode 100644 index 00000000000..c9cf1e74687 Binary files /dev/null and b/jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.webp differ diff --git a/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.jpg b/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.jpg deleted file mode 100644 index ff4ca31ffdc..00000000000 Binary files a/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.webp b/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.webp new file mode 100644 index 00000000000..38dba5fad7d Binary files /dev/null and b/jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.webp differ diff --git a/jekyll/assets/2020/go-wechaty-github-action-optimization/header.jpg b/jekyll/assets/2020/go-wechaty-github-action-optimization/header.jpg deleted file mode 100644 index ff4ca31ffdc..00000000000 Binary files a/jekyll/assets/2020/go-wechaty-github-action-optimization/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty-github-action-optimization/header.webp b/jekyll/assets/2020/go-wechaty-github-action-optimization/header.webp new file mode 100644 index 00000000000..38dba5fad7d Binary files /dev/null and b/jekyll/assets/2020/go-wechaty-github-action-optimization/header.webp differ diff --git a/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.png b/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.png deleted file mode 100644 index 7ede09c471b..00000000000 Binary files a/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.webp b/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.webp new file mode 100644 index 00000000000..6d3c0aa9fd0 Binary files /dev/null and b/jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.webp differ diff --git a/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.png b/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.png deleted file mode 100644 index 7ede09c471b..00000000000 Binary files a/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.webp b/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.webp new file mode 100644 index 00000000000..6d3c0aa9fd0 Binary files /dev/null and b/jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.webp differ diff --git a/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.png b/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.png deleted file mode 100644 index 7ede09c471b..00000000000 Binary files a/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.webp b/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.webp new file mode 100644 index 00000000000..6d3c0aa9fd0 Binary files /dev/null and b/jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.webp differ diff --git a/jekyll/assets/2020/go-wechaty/2020-06-29-image1.jpeg b/jekyll/assets/2020/go-wechaty/2020-06-29-image1.jpeg deleted file mode 100644 index 43b19998f22..00000000000 Binary files a/jekyll/assets/2020/go-wechaty/2020-06-29-image1.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/go-wechaty/2020-06-29-image1.webp b/jekyll/assets/2020/go-wechaty/2020-06-29-image1.webp new file mode 100644 index 00000000000..ee7e4695fc9 Binary files /dev/null and b/jekyll/assets/2020/go-wechaty/2020-06-29-image1.webp differ diff --git a/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png b/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png deleted file mode 100644 index 87b21b78ffb..00000000000 Binary files a/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.webp b/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.webp new file mode 100644 index 00000000000..b071d59e575 Binary files /dev/null and b/jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.webp differ diff --git a/jekyll/assets/2020/groupchat-assistant-bot-poc/header.png b/jekyll/assets/2020/groupchat-assistant-bot-poc/header.png deleted file mode 100644 index fe8428e3bd0..00000000000 Binary files a/jekyll/assets/2020/groupchat-assistant-bot-poc/header.png and /dev/null differ diff --git a/jekyll/assets/2020/groupchat-assistant-bot-poc/header.webp b/jekyll/assets/2020/groupchat-assistant-bot-poc/header.webp new file mode 100644 index 00000000000..d4955e3458c Binary files /dev/null and b/jekyll/assets/2020/groupchat-assistant-bot-poc/header.webp differ diff --git a/jekyll/assets/2020/groupchat-assistant-bot/header.jpeg b/jekyll/assets/2020/groupchat-assistant-bot/header.jpeg deleted file mode 100644 index 15e500e180c..00000000000 Binary files a/jekyll/assets/2020/groupchat-assistant-bot/header.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/groupchat-assistant-bot/header.webp b/jekyll/assets/2020/groupchat-assistant-bot/header.webp new file mode 100644 index 00000000000..f5808c080e4 Binary files /dev/null and b/jekyll/assets/2020/groupchat-assistant-bot/header.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.png deleted file mode 100644 index e28c61bba5c..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.webp new file mode 100644 index 00000000000..d57cd10eb92 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.png deleted file mode 100644 index f626d00910c..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.webp new file mode 100644 index 00000000000..cfe9a1bc2b0 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.png deleted file mode 100644 index 541c30918a1..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.webp new file mode 100644 index 00000000000..d46b8d13118 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.png deleted file mode 100644 index 4178b8efa7a..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.webp new file mode 100644 index 00000000000..424d601e539 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.png deleted file mode 100644 index b818d650140..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.webp new file mode 100644 index 00000000000..6174fc2d7ec Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.png deleted file mode 100644 index 960f07fdddd..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.webp new file mode 100644 index 00000000000..0046223b348 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.png deleted file mode 100644 index 9efe199669a..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.webp new file mode 100644 index 00000000000..cadecc677a0 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.png deleted file mode 100644 index 9a372ee2cdf..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.webp new file mode 100644 index 00000000000..e7cec501a1f Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.png deleted file mode 100644 index b3f065c8ac8..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.webp new file mode 100644 index 00000000000..800501ca232 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.png b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.png deleted file mode 100644 index 4040e4ef05e..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.png and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.webp new file mode 100644 index 00000000000..b4227c5e581 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.webp differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.jpg b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.jpg deleted file mode 100644 index 852643dcd53..00000000000 Binary files a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.jpg and /dev/null differ diff --git a/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.webp b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.webp new file mode 100644 index 00000000000..1d84f379787 Binary files /dev/null and b/jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.webp differ diff --git a/jekyll/assets/2020/im-game-robot/a.png b/jekyll/assets/2020/im-game-robot/a.png deleted file mode 100644 index 149a9949484..00000000000 Binary files a/jekyll/assets/2020/im-game-robot/a.png and /dev/null differ diff --git a/jekyll/assets/2020/im-game-robot/a.webp b/jekyll/assets/2020/im-game-robot/a.webp new file mode 100644 index 00000000000..64f483a612c Binary files /dev/null and b/jekyll/assets/2020/im-game-robot/a.webp differ diff --git a/jekyll/assets/2020/im-game-robot/b.png b/jekyll/assets/2020/im-game-robot/b.png deleted file mode 100644 index 3b6dd9ded0b..00000000000 Binary files a/jekyll/assets/2020/im-game-robot/b.png and /dev/null differ diff --git a/jekyll/assets/2020/im-game-robot/b.webp b/jekyll/assets/2020/im-game-robot/b.webp new file mode 100644 index 00000000000..9f25d17abde Binary files /dev/null and b/jekyll/assets/2020/im-game-robot/b.webp differ diff --git a/jekyll/assets/2020/im-game-robot/c.png b/jekyll/assets/2020/im-game-robot/c.png deleted file mode 100644 index c5de7101997..00000000000 Binary files a/jekyll/assets/2020/im-game-robot/c.png and /dev/null differ diff --git a/jekyll/assets/2020/im-game-robot/c.webp b/jekyll/assets/2020/im-game-robot/c.webp new file mode 100644 index 00000000000..490a75b80af Binary files /dev/null and b/jekyll/assets/2020/im-game-robot/c.webp differ diff --git a/jekyll/assets/2020/im-game-robot/qrbread.jpg b/jekyll/assets/2020/im-game-robot/qrbread.jpg deleted file mode 100644 index c00f762b228..00000000000 Binary files a/jekyll/assets/2020/im-game-robot/qrbread.jpg and /dev/null differ diff --git a/jekyll/assets/2020/im-game-robot/qrbread.webp b/jekyll/assets/2020/im-game-robot/qrbread.webp new file mode 100644 index 00000000000..b603f461d1d Binary files /dev/null and b/jekyll/assets/2020/im-game-robot/qrbread.webp differ diff --git a/jekyll/assets/2020/im-game-robot/qrcat.jpg b/jekyll/assets/2020/im-game-robot/qrcat.jpg deleted file mode 100644 index d371f5d620e..00000000000 Binary files a/jekyll/assets/2020/im-game-robot/qrcat.jpg and /dev/null differ diff --git a/jekyll/assets/2020/im-game-robot/qrcat.webp b/jekyll/assets/2020/im-game-robot/qrcat.webp new file mode 100644 index 00000000000..6204219c424 Binary files /dev/null and b/jekyll/assets/2020/im-game-robot/qrcat.webp differ diff --git a/jekyll/assets/2020/info-subtotal/head.jpeg b/jekyll/assets/2020/info-subtotal/head.jpeg deleted file mode 100644 index 7cd26fda81c..00000000000 Binary files a/jekyll/assets/2020/info-subtotal/head.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/info-subtotal/head.webp b/jekyll/assets/2020/info-subtotal/head.webp new file mode 100644 index 00000000000..c24bf9fb660 Binary files /dev/null and b/jekyll/assets/2020/info-subtotal/head.webp differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.jpg b/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.jpg deleted file mode 100644 index d413160ff30..00000000000 Binary files a/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.jpg and /dev/null differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.webp b/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.webp new file mode 100644 index 00000000000..e7efe8be216 Binary files /dev/null and b/jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.webp differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.jpg b/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.jpg deleted file mode 100644 index f4ccb2eba93..00000000000 Binary files a/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.jpg and /dev/null differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.webp b/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.webp new file mode 100644 index 00000000000..8215e0dbe2e Binary files /dev/null and b/jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.webp differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.png b/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.png deleted file mode 100644 index 7ab6c08cd82..00000000000 Binary files a/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.png and /dev/null differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.webp b/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.webp new file mode 100644 index 00000000000..24e44813582 Binary files /dev/null and b/jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.webp differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/way.jpg b/jekyll/assets/2020/issue-feedback-room-monitor/way.jpg deleted file mode 100644 index 024426385bf..00000000000 Binary files a/jekyll/assets/2020/issue-feedback-room-monitor/way.jpg and /dev/null differ diff --git a/jekyll/assets/2020/issue-feedback-room-monitor/way.webp b/jekyll/assets/2020/issue-feedback-room-monitor/way.webp new file mode 100644 index 00000000000..f0e148c8193 Binary files /dev/null and b/jekyll/assets/2020/issue-feedback-room-monitor/way.webp differ diff --git a/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.png b/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.png deleted file mode 100644 index 7837a2113fb..00000000000 Binary files a/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.png and /dev/null differ diff --git a/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.webp b/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.webp new file mode 100644 index 00000000000..ce4b67e3665 Binary files /dev/null and b/jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.webp differ diff --git a/jekyll/assets/2020/java-puppet-manager/after-manage.png b/jekyll/assets/2020/java-puppet-manager/after-manage.png deleted file mode 100644 index 9572eeeebb8..00000000000 Binary files a/jekyll/assets/2020/java-puppet-manager/after-manage.png and /dev/null differ diff --git a/jekyll/assets/2020/java-puppet-manager/after-manage.webp b/jekyll/assets/2020/java-puppet-manager/after-manage.webp new file mode 100644 index 00000000000..155dfc8eb8c Binary files /dev/null and b/jekyll/assets/2020/java-puppet-manager/after-manage.webp differ diff --git a/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.png b/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.png deleted file mode 100644 index 6a39eb3f5c1..00000000000 Binary files a/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.png and /dev/null differ diff --git a/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.webp b/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.webp new file mode 100644 index 00000000000..b76163f32c1 Binary files /dev/null and b/jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.webp differ diff --git a/jekyll/assets/2020/java-puppet-manager/manage-mapping.png b/jekyll/assets/2020/java-puppet-manager/manage-mapping.png deleted file mode 100644 index db461e34757..00000000000 Binary files a/jekyll/assets/2020/java-puppet-manager/manage-mapping.png and /dev/null differ diff --git a/jekyll/assets/2020/java-puppet-manager/manage-mapping.webp b/jekyll/assets/2020/java-puppet-manager/manage-mapping.webp new file mode 100644 index 00000000000..73f2a6a2fc2 Binary files /dev/null and b/jekyll/assets/2020/java-puppet-manager/manage-mapping.webp differ diff --git a/jekyll/assets/2020/java-puppet-manager/manager-backgroud.png b/jekyll/assets/2020/java-puppet-manager/manager-backgroud.png deleted file mode 100644 index f55d67fb0aa..00000000000 Binary files a/jekyll/assets/2020/java-puppet-manager/manager-backgroud.png and /dev/null differ diff --git a/jekyll/assets/2020/java-puppet-manager/manager-backgroud.webp b/jekyll/assets/2020/java-puppet-manager/manager-backgroud.webp new file mode 100644 index 00000000000..c7c63494531 Binary files /dev/null and b/jekyll/assets/2020/java-puppet-manager/manager-backgroud.webp differ diff --git a/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.jpg b/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.jpg deleted file mode 100644 index ca1ff5e641c..00000000000 Binary files a/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.jpg and /dev/null differ diff --git a/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.webp b/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.webp new file mode 100644 index 00000000000..38787effafd Binary files /dev/null and b/jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.webp differ diff --git a/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.jpg b/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.jpg deleted file mode 100644 index ca1ff5e641c..00000000000 Binary files a/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.jpg and /dev/null differ diff --git a/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.webp b/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.webp new file mode 100644 index 00000000000..38787effafd Binary files /dev/null and b/jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.webp differ diff --git a/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.png b/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.png deleted file mode 100644 index 0fa6a1567f9..00000000000 Binary files a/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.webp b/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.webp new file mode 100644 index 00000000000..b76163f32c1 Binary files /dev/null and b/jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.webp differ diff --git a/jekyll/assets/2020/juzi-iot/0.jpg b/jekyll/assets/2020/juzi-iot/0.jpg deleted file mode 100644 index fbc0fc11a8e..00000000000 Binary files a/jekyll/assets/2020/juzi-iot/0.jpg and /dev/null differ diff --git a/jekyll/assets/2020/juzi-iot/0.webp b/jekyll/assets/2020/juzi-iot/0.webp new file mode 100644 index 00000000000..b9c6613c963 Binary files /dev/null and b/jekyll/assets/2020/juzi-iot/0.webp differ diff --git a/jekyll/assets/2020/juzi-iot/1.jpg b/jekyll/assets/2020/juzi-iot/1.jpg deleted file mode 100644 index 906d76cd0b2..00000000000 Binary files a/jekyll/assets/2020/juzi-iot/1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/juzi-iot/1.webp b/jekyll/assets/2020/juzi-iot/1.webp new file mode 100644 index 00000000000..7bf318576b9 Binary files /dev/null and b/jekyll/assets/2020/juzi-iot/1.webp differ diff --git a/jekyll/assets/2020/juzi-iot/2.jpg b/jekyll/assets/2020/juzi-iot/2.jpg deleted file mode 100644 index e1e074f0d2c..00000000000 Binary files a/jekyll/assets/2020/juzi-iot/2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/juzi-iot/2.webp b/jekyll/assets/2020/juzi-iot/2.webp new file mode 100644 index 00000000000..51174f6bcff Binary files /dev/null and b/jekyll/assets/2020/juzi-iot/2.webp differ diff --git a/jekyll/assets/2020/juzi-iot/3.jpg b/jekyll/assets/2020/juzi-iot/3.jpg deleted file mode 100644 index 9974be86493..00000000000 Binary files a/jekyll/assets/2020/juzi-iot/3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/juzi-iot/3.webp b/jekyll/assets/2020/juzi-iot/3.webp new file mode 100644 index 00000000000..369fbe78ccc Binary files /dev/null and b/jekyll/assets/2020/juzi-iot/3.webp differ diff --git a/jekyll/assets/2020/juzi-iot/4.jpg b/jekyll/assets/2020/juzi-iot/4.jpg deleted file mode 100644 index fd70207edf2..00000000000 Binary files a/jekyll/assets/2020/juzi-iot/4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/juzi-iot/4.webp b/jekyll/assets/2020/juzi-iot/4.webp new file mode 100644 index 00000000000..8f9c6f8bfc2 Binary files /dev/null and b/jekyll/assets/2020/juzi-iot/4.webp differ diff --git a/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.png b/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.png deleted file mode 100644 index 81c287a57db..00000000000 Binary files a/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.png and /dev/null differ diff --git a/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.webp b/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.webp new file mode 100644 index 00000000000..0dd169d31f4 Binary files /dev/null and b/jekyll/assets/2020/kotlin-wechaty-simple-shell/example.webp differ diff --git a/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.jpeg b/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.jpeg deleted file mode 100644 index 856edd239eb..00000000000 Binary files a/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.webp b/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.webp new file mode 100644 index 00000000000..4f4e81d9506 Binary files /dev/null and b/jekyll/assets/2020/kotlin-wechaty-simple-shell/home.webp differ diff --git a/jekyll/assets/2020/kuakua-wechaty/goodmorning.png b/jekyll/assets/2020/kuakua-wechaty/goodmorning.png deleted file mode 100644 index 00ee3d6b2a5..00000000000 Binary files a/jekyll/assets/2020/kuakua-wechaty/goodmorning.png and /dev/null differ diff --git a/jekyll/assets/2020/kuakua-wechaty/goodmorning.webp b/jekyll/assets/2020/kuakua-wechaty/goodmorning.webp new file mode 100644 index 00000000000..a5d6ba44bc9 Binary files /dev/null and b/jekyll/assets/2020/kuakua-wechaty/goodmorning.webp differ diff --git a/jekyll/assets/2020/kuakua-wechaty/kuakua.jpg b/jekyll/assets/2020/kuakua-wechaty/kuakua.jpg deleted file mode 100644 index 628ec908387..00000000000 Binary files a/jekyll/assets/2020/kuakua-wechaty/kuakua.jpg and /dev/null differ diff --git a/jekyll/assets/2020/kuakua-wechaty/kuakua.webp b/jekyll/assets/2020/kuakua-wechaty/kuakua.webp new file mode 100644 index 00000000000..8b3dbe11898 Binary files /dev/null and b/jekyll/assets/2020/kuakua-wechaty/kuakua.webp differ diff --git a/jekyll/assets/2020/kuakua-wechaty/titleimage.png b/jekyll/assets/2020/kuakua-wechaty/titleimage.png deleted file mode 100644 index 73b25534c09..00000000000 Binary files a/jekyll/assets/2020/kuakua-wechaty/titleimage.png and /dev/null differ diff --git a/jekyll/assets/2020/kuakua-wechaty/titleimage.webp b/jekyll/assets/2020/kuakua-wechaty/titleimage.webp new file mode 100644 index 00000000000..f169a32e019 Binary files /dev/null and b/jekyll/assets/2020/kuakua-wechaty/titleimage.webp differ diff --git a/jekyll/assets/2020/kuakua-wechaty/weather.png b/jekyll/assets/2020/kuakua-wechaty/weather.png deleted file mode 100644 index 50fd20c9f89..00000000000 Binary files a/jekyll/assets/2020/kuakua-wechaty/weather.png and /dev/null differ diff --git a/jekyll/assets/2020/kuakua-wechaty/weather.webp b/jekyll/assets/2020/kuakua-wechaty/weather.webp new file mode 100644 index 00000000000..1341d5e3f7f Binary files /dev/null and b/jekyll/assets/2020/kuakua-wechaty/weather.webp differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark-final.png b/jekyll/assets/2020/lark-puppet/wechaty-lark-final.png deleted file mode 100644 index 6a0c16b2f81..00000000000 Binary files a/jekyll/assets/2020/lark-puppet/wechaty-lark-final.png and /dev/null differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark-final.webp b/jekyll/assets/2020/lark-puppet/wechaty-lark-final.webp new file mode 100644 index 00000000000..fe3cc975cb0 Binary files /dev/null and b/jekyll/assets/2020/lark-puppet/wechaty-lark-final.webp differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.png b/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.png deleted file mode 100644 index 6a0c16b2f81..00000000000 Binary files a/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.png and /dev/null differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.webp b/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.webp new file mode 100644 index 00000000000..fe3cc975cb0 Binary files /dev/null and b/jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.webp differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark.png b/jekyll/assets/2020/lark-puppet/wechaty-lark.png deleted file mode 100644 index 6a0c16b2f81..00000000000 Binary files a/jekyll/assets/2020/lark-puppet/wechaty-lark.png and /dev/null differ diff --git a/jekyll/assets/2020/lark-puppet/wechaty-lark.webp b/jekyll/assets/2020/lark-puppet/wechaty-lark.webp new file mode 100644 index 00000000000..fe3cc975cb0 Binary files /dev/null and b/jekyll/assets/2020/lark-puppet/wechaty-lark.webp differ diff --git a/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.jpeg b/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.jpeg deleted file mode 100644 index 4ee834295f9..00000000000 Binary files a/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.webp b/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.webp new file mode 100644 index 00000000000..b90701755ab Binary files /dev/null and b/jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.webp differ diff --git a/jekyll/assets/2020/market-wechat-robot/teaser.jpeg b/jekyll/assets/2020/market-wechat-robot/teaser.jpeg deleted file mode 100644 index e9f26abfa53..00000000000 Binary files a/jekyll/assets/2020/market-wechat-robot/teaser.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/market-wechat-robot/teaser.webp b/jekyll/assets/2020/market-wechat-robot/teaser.webp new file mode 100644 index 00000000000..6569d9e6a0d Binary files /dev/null and b/jekyll/assets/2020/market-wechat-robot/teaser.webp differ diff --git a/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.png b/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.png deleted file mode 100644 index 42f4ee90c29..00000000000 Binary files a/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.webp b/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.webp new file mode 100644 index 00000000000..dc3ec6f46e1 Binary files /dev/null and b/jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.png b/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.png deleted file mode 100644 index 4336b7bc0c1..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.webp b/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.webp new file mode 100644 index 00000000000..921dc231183 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.png b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.png deleted file mode 100644 index b3eba4321d6..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.webp b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.webp new file mode 100644 index 00000000000..f5a3995948c Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.png b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.png deleted file mode 100644 index 06b69531e6a..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.webp b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.webp new file mode 100644 index 00000000000..ce5cb07bc8d Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-head-picture.jpg b/jekyll/assets/2020/meeting-notes/07-05-head-picture.jpg deleted file mode 100644 index 120fc3d1c7e..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-head-picture.jpg and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-head-picture.png b/jekyll/assets/2020/meeting-notes/07-05-head-picture.png deleted file mode 100644 index ad890b0cc0b..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-head-picture.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-head-picture.webp b/jekyll/assets/2020/meeting-notes/07-05-head-picture.webp new file mode 100644 index 00000000000..a3845ae1c55 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-head-picture.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.png b/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.png deleted file mode 100644 index fccbc216439..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.webp b/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.webp new file mode 100644 index 00000000000..d1a8e7ebc88 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.png b/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.png deleted file mode 100644 index 63f44a2d1e6..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.webp b/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.webp new file mode 100644 index 00000000000..ffef758c446 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.png b/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.png deleted file mode 100644 index 62eba487ca5..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.webp b/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.webp new file mode 100644 index 00000000000..13da9586fea Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-mock-is-required.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.png b/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.png deleted file mode 100644 index 93b4eac6e44..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.webp b/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.webp new file mode 100644 index 00000000000..5e265ce45f4 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mocker.png b/jekyll/assets/2020/meeting-notes/07-05-mocker.png deleted file mode 100644 index b9b2aa43395..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-mocker.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-mocker.webp b/jekyll/assets/2020/meeting-notes/07-05-mocker.webp new file mode 100644 index 00000000000..ef0744b54c1 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-mocker.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.png b/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.png deleted file mode 100644 index a80e7eeaad6..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.webp b/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.webp new file mode 100644 index 00000000000..2c3cef9f4ca Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.png b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.png deleted file mode 100644 index 2cee660c8ea..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.webp b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.webp new file mode 100644 index 00000000000..938b199507a Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.png b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.png deleted file mode 100644 index 8b14fc135e6..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.webp b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.webp new file mode 100644 index 00000000000..e644a013679 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.png b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.png deleted file mode 100644 index e4859d722c1..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.webp b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.webp new file mode 100644 index 00000000000..ff1ce47ac65 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.png b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.png deleted file mode 100644 index 9ebd7996dce..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.webp b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.webp new file mode 100644 index 00000000000..a2e89fc3d8e Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.png b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.png deleted file mode 100644 index 4e78380311f..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.webp b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.webp new file mode 100644 index 00000000000..d5470d51e4d Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.png b/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.png deleted file mode 100644 index 3ece009197f..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.webp b/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.webp new file mode 100644 index 00000000000..8a04d5ad754 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-user-test.png b/jekyll/assets/2020/meeting-notes/07-05-user-test.png deleted file mode 100644 index 2caac3d1d51..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-user-test.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-user-test.webp b/jekyll/assets/2020/meeting-notes/07-05-user-test.webp new file mode 100644 index 00000000000..6e2a71b4569 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-user-test.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.png b/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.png deleted file mode 100644 index 63cdf346a88..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.webp b/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.webp new file mode 100644 index 00000000000..ea365c65255 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.png b/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.png deleted file mode 100644 index aeaf45e56aa..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.webp b/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.webp new file mode 100644 index 00000000000..2b359b418dd Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.png b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.png deleted file mode 100644 index f7ba8b51eb5..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.webp b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.webp new file mode 100644 index 00000000000..95a4db4596b Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.png b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.png deleted file mode 100644 index f7ba8b51eb5..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.webp b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.webp new file mode 100644 index 00000000000..95a4db4596b Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.png b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.png deleted file mode 100644 index a9dd0a54093..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.webp b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.webp new file mode 100644 index 00000000000..9a15a3c4023 Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.png b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.png deleted file mode 100644 index 0413769627c..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.webp b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.webp new file mode 100644 index 00000000000..3cc9e103edc Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.webp differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.png b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.png deleted file mode 100644 index cbd3c69558d..00000000000 Binary files a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.png and /dev/null differ diff --git a/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.webp b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.webp new file mode 100644 index 00000000000..5086cd8023f Binary files /dev/null and b/jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.webp differ diff --git a/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.png b/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.png deleted file mode 100644 index 0b8370a60b3..00000000000 Binary files a/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.webp b/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.webp new file mode 100644 index 00000000000..791656f26fc Binary files /dev/null and b/jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.webp differ diff --git a/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png b/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png deleted file mode 100644 index 2d1a640d38b..00000000000 Binary files a/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png and /dev/null differ diff --git a/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.webp b/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.webp new file mode 100644 index 00000000000..2214e957376 Binary files /dev/null and b/jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.webp differ diff --git a/jekyll/assets/2020/meme-bot/09-27-flow-chart.png b/jekyll/assets/2020/meme-bot/09-27-flow-chart.png deleted file mode 100644 index 7058513de8b..00000000000 Binary files a/jekyll/assets/2020/meme-bot/09-27-flow-chart.png and /dev/null differ diff --git a/jekyll/assets/2020/meme-bot/09-27-flow-chart.webp b/jekyll/assets/2020/meme-bot/09-27-flow-chart.webp new file mode 100644 index 00000000000..787b54aaf15 Binary files /dev/null and b/jekyll/assets/2020/meme-bot/09-27-flow-chart.webp differ diff --git a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png deleted file mode 100644 index 8bf0c611615..00000000000 Binary files a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png and /dev/null differ diff --git a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.webp b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.webp new file mode 100644 index 00000000000..a13762b6817 Binary files /dev/null and b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.webp differ diff --git a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.png b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.png deleted file mode 100644 index 6c11d979d38..00000000000 Binary files a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.png and /dev/null differ diff --git a/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.webp b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.webp new file mode 100644 index 00000000000..ded6ccb0e81 Binary files /dev/null and b/jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.webp differ diff --git a/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg b/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg deleted file mode 100644 index 3a5b15ed31a..00000000000 Binary files a/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg and /dev/null differ diff --git a/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp b/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp new file mode 100644 index 00000000000..d2fe6b8188e Binary files /dev/null and b/jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.webp differ diff --git a/jekyll/assets/2020/mqbot/denglu1.png b/jekyll/assets/2020/mqbot/denglu1.png deleted file mode 100644 index dc7bdcaace4..00000000000 Binary files a/jekyll/assets/2020/mqbot/denglu1.png and /dev/null differ diff --git a/jekyll/assets/2020/mqbot/denglu1.webp b/jekyll/assets/2020/mqbot/denglu1.webp new file mode 100644 index 00000000000..2b7e943949e Binary files /dev/null and b/jekyll/assets/2020/mqbot/denglu1.webp differ diff --git a/jekyll/assets/2020/mqbot/ewm1.jpeg b/jekyll/assets/2020/mqbot/ewm1.jpeg deleted file mode 100644 index ca01bf09e48..00000000000 Binary files a/jekyll/assets/2020/mqbot/ewm1.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/mqbot/ewm1.webp b/jekyll/assets/2020/mqbot/ewm1.webp new file mode 100644 index 00000000000..920fae90c5f Binary files /dev/null and b/jekyll/assets/2020/mqbot/ewm1.webp differ diff --git a/jekyll/assets/2020/mqbot/fasong1.jpg b/jekyll/assets/2020/mqbot/fasong1.jpg deleted file mode 100644 index a25023da065..00000000000 Binary files a/jekyll/assets/2020/mqbot/fasong1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/mqbot/fasong1.webp b/jekyll/assets/2020/mqbot/fasong1.webp new file mode 100644 index 00000000000..7db0dfde42e Binary files /dev/null and b/jekyll/assets/2020/mqbot/fasong1.webp differ diff --git a/jekyll/assets/2020/mqbot/qrcode.png b/jekyll/assets/2020/mqbot/qrcode.png deleted file mode 100644 index f8f9361d326..00000000000 Binary files a/jekyll/assets/2020/mqbot/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2020/mqbot/qrcode.webp b/jekyll/assets/2020/mqbot/qrcode.webp new file mode 100644 index 00000000000..7e036b210fa Binary files /dev/null and b/jekyll/assets/2020/mqbot/qrcode.webp differ diff --git a/jekyll/assets/2020/mqbot/wancheng1.jpg b/jekyll/assets/2020/mqbot/wancheng1.jpg deleted file mode 100644 index 97e6b5133df..00000000000 Binary files a/jekyll/assets/2020/mqbot/wancheng1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/mqbot/wancheng1.webp b/jekyll/assets/2020/mqbot/wancheng1.webp new file mode 100644 index 00000000000..c377c7165ab Binary files /dev/null and b/jekyll/assets/2020/mqbot/wancheng1.webp differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/intro.jpg b/jekyll/assets/2020/ms-lijiarui-interview/intro.jpg deleted file mode 100644 index 2b585ab9dd0..00000000000 Binary files a/jekyll/assets/2020/ms-lijiarui-interview/intro.jpg and /dev/null differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/intro.webp b/jekyll/assets/2020/ms-lijiarui-interview/intro.webp new file mode 100644 index 00000000000..1c53fea2f62 Binary files /dev/null and b/jekyll/assets/2020/ms-lijiarui-interview/intro.webp differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/teaser.png b/jekyll/assets/2020/ms-lijiarui-interview/teaser.png deleted file mode 100644 index e3810e78d04..00000000000 Binary files a/jekyll/assets/2020/ms-lijiarui-interview/teaser.png and /dev/null differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/teaser.webp b/jekyll/assets/2020/ms-lijiarui-interview/teaser.webp new file mode 100644 index 00000000000..362b9c73104 Binary files /dev/null and b/jekyll/assets/2020/ms-lijiarui-interview/teaser.webp differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/wechaty.jpg b/jekyll/assets/2020/ms-lijiarui-interview/wechaty.jpg deleted file mode 100644 index d1e33e7e5c3..00000000000 Binary files a/jekyll/assets/2020/ms-lijiarui-interview/wechaty.jpg and /dev/null differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/wechaty.webp b/jekyll/assets/2020/ms-lijiarui-interview/wechaty.webp new file mode 100644 index 00000000000..b53f84621ec Binary files /dev/null and b/jekyll/assets/2020/ms-lijiarui-interview/wechaty.webp differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/weiqing.jpg b/jekyll/assets/2020/ms-lijiarui-interview/weiqing.jpg deleted file mode 100644 index adf7a3cb6f0..00000000000 Binary files a/jekyll/assets/2020/ms-lijiarui-interview/weiqing.jpg and /dev/null differ diff --git a/jekyll/assets/2020/ms-lijiarui-interview/weiqing.webp b/jekyll/assets/2020/ms-lijiarui-interview/weiqing.webp new file mode 100644 index 00000000000..380aa34c2de Binary files /dev/null and b/jekyll/assets/2020/ms-lijiarui-interview/weiqing.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.png deleted file mode 100644 index 7fe55580e7c..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.webp new file mode 100644 index 00000000000..84eda404b91 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.png deleted file mode 100644 index fd1bfa4d1a0..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.webp new file mode 100644 index 00000000000..12da78f7bf6 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.jpg deleted file mode 100644 index 382777dc6c3..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.webp new file mode 100644 index 00000000000..dde31765773 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.jpg deleted file mode 100644 index 53124affdb1..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.webp new file mode 100644 index 00000000000..ebd0b7fe400 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.jpg deleted file mode 100644 index d0d87206563..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.webp new file mode 100644 index 00000000000..226e61cd742 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.jpg deleted file mode 100644 index 4cb5e3a818f..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.webp new file mode 100644 index 00000000000..d56e4a58660 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.jpg deleted file mode 100644 index 9315a73dcb9..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.webp new file mode 100644 index 00000000000..b3b9ce19d32 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.jpg deleted file mode 100644 index 6a66e317a90..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.webp new file mode 100644 index 00000000000..2424fcfa2d2 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.png deleted file mode 100644 index 719541fd616..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.webp new file mode 100644 index 00000000000..5bdde9f5fa5 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.png deleted file mode 100644 index d2c0aa8f456..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.webp new file mode 100644 index 00000000000..6d3c0aa9fd0 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.jpg deleted file mode 100644 index 2274938efb7..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.webp new file mode 100644 index 00000000000..665f6172cbb Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.jpg deleted file mode 100644 index 974370a506e..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.webp new file mode 100644 index 00000000000..dc555c946e6 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.jpg deleted file mode 100644 index 4945e7a2b3d..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.webp new file mode 100644 index 00000000000..cacc8d273d3 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.png deleted file mode 100644 index c393bd54287..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.webp new file mode 100644 index 00000000000..b76163f32c1 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.jpg deleted file mode 100644 index 3618f62ba07..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.webp new file mode 100644 index 00000000000..efe49cdbff8 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.jpg deleted file mode 100644 index 88d455ea0da..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.webp new file mode 100644 index 00000000000..c8871a49acd Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.jpg deleted file mode 100644 index 9721652c2ec..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.webp new file mode 100644 index 00000000000..4d37f5924c2 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.jpg deleted file mode 100644 index 5e3655ae60d..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.webp new file mode 100644 index 00000000000..69c833d0104 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.jpg deleted file mode 100644 index bf8fd5cc507..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.webp new file mode 100644 index 00000000000..10bcc7ed776 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.jpg deleted file mode 100644 index d776df6f299..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.webp new file mode 100644 index 00000000000..236ec491cec Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.jpg deleted file mode 100644 index e3b1c7c24d6..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.webp new file mode 100644 index 00000000000..5d57642ac67 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.jpg deleted file mode 100644 index e2a3f67b776..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.webp new file mode 100644 index 00000000000..d10d26ad9af Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.png deleted file mode 100644 index 1b1c742c3db..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.webp new file mode 100644 index 00000000000..0371cd658b4 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.png deleted file mode 100644 index d0905500348..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.webp new file mode 100644 index 00000000000..865a5b8adbc Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.png deleted file mode 100644 index 391a5ee11da..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.webp new file mode 100644 index 00000000000..1ce8721df1a Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.jpg deleted file mode 100644 index 2796b1845f8..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.webp new file mode 100644 index 00000000000..90e37505f4e Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.jpg deleted file mode 100644 index 733be9f61a6..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.webp new file mode 100644 index 00000000000..7d0034e8180 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.png b/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.png deleted file mode 100644 index bacbd497217..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.webp new file mode 100644 index 00000000000..447360f086e Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.jpg deleted file mode 100644 index df5cab905e5..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.webp new file mode 100644 index 00000000000..0583d0e9fe4 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.jpg deleted file mode 100644 index 469a49db2a0..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.webp new file mode 100644 index 00000000000..b0f7fdbcba6 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.jpg deleted file mode 100644 index c02391defcd..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.webp new file mode 100644 index 00000000000..e4962301246 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.jpg deleted file mode 100644 index 17a30b7fa9a..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.webp new file mode 100644 index 00000000000..947bbf67d5a Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.jpg deleted file mode 100644 index cf2790a1d3a..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.webp new file mode 100644 index 00000000000..cbed6a5cd05 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.jpg deleted file mode 100644 index b9bf0a00755..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.webp new file mode 100644 index 00000000000..4da4f9435ba Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.jpg deleted file mode 100644 index 44a6f5dcfad..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.webp new file mode 100644 index 00000000000..e19ed083e83 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.jpg deleted file mode 100644 index d314d8737ab..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.webp new file mode 100644 index 00000000000..306177f973b Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.jpg deleted file mode 100644 index bb42eb7a628..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.webp new file mode 100644 index 00000000000..1507adccc93 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.jpg deleted file mode 100644 index c77f1e078a9..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.webp new file mode 100644 index 00000000000..2d2a7e4e538 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.jpg deleted file mode 100644 index 7f538c99f79..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.webp new file mode 100644 index 00000000000..9c0f3f97fa4 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.jpg deleted file mode 100644 index a594f6829b6..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.webp new file mode 100644 index 00000000000..79a0e0b2d69 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.jpg deleted file mode 100644 index 5e3a6be20ab..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.webp new file mode 100644 index 00000000000..bc5e60ff131 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.jpg deleted file mode 100644 index 0a2c2f7ec67..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.webp new file mode 100644 index 00000000000..0fec823a51d Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.jpg deleted file mode 100644 index 995a45a0502..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.webp new file mode 100644 index 00000000000..0e04ef9c40f Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.jpg deleted file mode 100644 index 75ededf6b12..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.webp new file mode 100644 index 00000000000..595c201acb2 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.jpg deleted file mode 100644 index fb017d6b0b8..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.webp new file mode 100644 index 00000000000..ad6d6469bb9 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.jpg deleted file mode 100644 index 410012fa5d9..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.webp new file mode 100644 index 00000000000..6ce5f65ba09 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.jpg deleted file mode 100644 index cec350a0468..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.webp new file mode 100644 index 00000000000..0882e09227a Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.jpg deleted file mode 100644 index 08e132179fc..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.webp new file mode 100644 index 00000000000..a30bc9471e6 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.jpg deleted file mode 100644 index 06fc0218d65..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.webp new file mode 100644 index 00000000000..2c55644b272 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.jpg deleted file mode 100644 index dbdb1d5a560..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.webp new file mode 100644 index 00000000000..c404e061813 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.jpg deleted file mode 100644 index 30fb6ccb8e7..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.webp new file mode 100644 index 00000000000..ee236a4d4dc Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.jpg deleted file mode 100644 index a7d4b84a98b..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.webp new file mode 100644 index 00000000000..c1bae64a3d8 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.jpg deleted file mode 100644 index 16e8abd35db..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.webp new file mode 100644 index 00000000000..c191e4faad5 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.jpg deleted file mode 100644 index b4ec50a69fb..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.webp new file mode 100644 index 00000000000..ed131dcd384 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.jpg deleted file mode 100644 index af1195044f6..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.webp new file mode 100644 index 00000000000..b18216a16e5 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.webp differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.jpg b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.jpg deleted file mode 100644 index 0e279f700cb..00000000000 Binary files a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.jpg and /dev/null differ diff --git a/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.webp b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.webp new file mode 100644 index 00000000000..2837e772128 Binary files /dev/null and b/jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.webp differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/1.png b/jekyll/assets/2020/my-first-wechaty-bot/1.png deleted file mode 100644 index 7d245fdb309..00000000000 Binary files a/jekyll/assets/2020/my-first-wechaty-bot/1.png and /dev/null differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/1.webp b/jekyll/assets/2020/my-first-wechaty-bot/1.webp new file mode 100644 index 00000000000..136a3b68175 Binary files /dev/null and b/jekyll/assets/2020/my-first-wechaty-bot/1.webp differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/2.png b/jekyll/assets/2020/my-first-wechaty-bot/2.png deleted file mode 100644 index ed232eeb01c..00000000000 Binary files a/jekyll/assets/2020/my-first-wechaty-bot/2.png and /dev/null differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/2.webp b/jekyll/assets/2020/my-first-wechaty-bot/2.webp new file mode 100644 index 00000000000..14154f99eb8 Binary files /dev/null and b/jekyll/assets/2020/my-first-wechaty-bot/2.webp differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.png b/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.png deleted file mode 100644 index 2528f524a31..00000000000 Binary files a/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.webp b/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.webp new file mode 100644 index 00000000000..56ba2ba563c Binary files /dev/null and b/jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.webp differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/3.png b/jekyll/assets/2020/my-first-wechaty-bot/3.png deleted file mode 100644 index 8fcd24c2d47..00000000000 Binary files a/jekyll/assets/2020/my-first-wechaty-bot/3.png and /dev/null differ diff --git a/jekyll/assets/2020/my-first-wechaty-bot/3.webp b/jekyll/assets/2020/my-first-wechaty-bot/3.webp new file mode 100644 index 00000000000..17761c4e42b Binary files /dev/null and b/jekyll/assets/2020/my-first-wechaty-bot/3.webp differ diff --git a/jekyll/assets/2020/nio-bot/bio-photo.jpg b/jekyll/assets/2020/nio-bot/bio-photo.jpg deleted file mode 100644 index c4f12fd54da..00000000000 Binary files a/jekyll/assets/2020/nio-bot/bio-photo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/nio-bot/bio-photo.webp b/jekyll/assets/2020/nio-bot/bio-photo.webp new file mode 100644 index 00000000000..43ff5c479c0 Binary files /dev/null and b/jekyll/assets/2020/nio-bot/bio-photo.webp differ diff --git a/jekyll/assets/2020/nio-bot/welcome.jpeg b/jekyll/assets/2020/nio-bot/welcome.jpeg deleted file mode 100644 index 240e115390a..00000000000 Binary files a/jekyll/assets/2020/nio-bot/welcome.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/nio-bot/welcome.webp b/jekyll/assets/2020/nio-bot/welcome.webp new file mode 100644 index 00000000000..ad913b0084a Binary files /dev/null and b/jekyll/assets/2020/nio-bot/welcome.webp differ diff --git a/jekyll/assets/2020/official-account/wechaty-puppet-official-account.png b/jekyll/assets/2020/official-account/wechaty-puppet-official-account.png deleted file mode 100644 index ca2428a7300..00000000000 Binary files a/jekyll/assets/2020/official-account/wechaty-puppet-official-account.png and /dev/null differ diff --git a/jekyll/assets/2020/official-account/wechaty-puppet-official-account.webp b/jekyll/assets/2020/official-account/wechaty-puppet-official-account.webp new file mode 100644 index 00000000000..53d00be4160 Binary files /dev/null and b/jekyll/assets/2020/official-account/wechaty-puppet-official-account.webp differ diff --git a/jekyll/assets/2020/padlocal/logo.png b/jekyll/assets/2020/padlocal/logo.png deleted file mode 100644 index b094706de41..00000000000 Binary files a/jekyll/assets/2020/padlocal/logo.png and /dev/null differ diff --git a/jekyll/assets/2020/padlocal/logo.webp b/jekyll/assets/2020/padlocal/logo.webp new file mode 100644 index 00000000000..3f40f979ce5 Binary files /dev/null and b/jekyll/assets/2020/padlocal/logo.webp differ diff --git a/jekyll/assets/2020/padlocal/topological-graph.png b/jekyll/assets/2020/padlocal/topological-graph.png deleted file mode 100644 index a8c84ecf0f7..00000000000 Binary files a/jekyll/assets/2020/padlocal/topological-graph.png and /dev/null differ diff --git a/jekyll/assets/2020/padlocal/topological-graph.webp b/jekyll/assets/2020/padlocal/topological-graph.webp new file mode 100644 index 00000000000..50a13820118 Binary files /dev/null and b/jekyll/assets/2020/padlocal/topological-graph.webp differ diff --git a/jekyll/assets/2020/paipiange-bot/1.png b/jekyll/assets/2020/paipiange-bot/1.png deleted file mode 100644 index 14e1b91eaad..00000000000 Binary files a/jekyll/assets/2020/paipiange-bot/1.png and /dev/null differ diff --git a/jekyll/assets/2020/paipiange-bot/1.webp b/jekyll/assets/2020/paipiange-bot/1.webp new file mode 100644 index 00000000000..1f8378d8f25 Binary files /dev/null and b/jekyll/assets/2020/paipiange-bot/1.webp differ diff --git a/jekyll/assets/2020/paipiange-bot/2.png b/jekyll/assets/2020/paipiange-bot/2.png deleted file mode 100644 index e8696f724b7..00000000000 Binary files a/jekyll/assets/2020/paipiange-bot/2.png and /dev/null differ diff --git a/jekyll/assets/2020/paipiange-bot/2.webp b/jekyll/assets/2020/paipiange-bot/2.webp new file mode 100644 index 00000000000..ab3f1ca6efd Binary files /dev/null and b/jekyll/assets/2020/paipiange-bot/2.webp differ diff --git a/jekyll/assets/2020/paipiange-bot/4.png b/jekyll/assets/2020/paipiange-bot/4.png deleted file mode 100644 index 2731922f27d..00000000000 Binary files a/jekyll/assets/2020/paipiange-bot/4.png and /dev/null differ diff --git a/jekyll/assets/2020/paipiange-bot/4.webp b/jekyll/assets/2020/paipiange-bot/4.webp new file mode 100644 index 00000000000..8c6e8d13d25 Binary files /dev/null and b/jekyll/assets/2020/paipiange-bot/4.webp differ diff --git a/jekyll/assets/2020/post-ts-to-python/screenshot.jpg b/jekyll/assets/2020/post-ts-to-python/screenshot.jpg deleted file mode 100644 index 300fc158dd9..00000000000 Binary files a/jekyll/assets/2020/post-ts-to-python/screenshot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/post-ts-to-python/screenshot.webp b/jekyll/assets/2020/post-ts-to-python/screenshot.webp new file mode 100644 index 00000000000..f0d065562ba Binary files /dev/null and b/jekyll/assets/2020/post-ts-to-python/screenshot.webp differ diff --git a/jekyll/assets/2020/promote-bot/banner.png b/jekyll/assets/2020/promote-bot/banner.png deleted file mode 100644 index 7f838759a05..00000000000 Binary files a/jekyll/assets/2020/promote-bot/banner.png and /dev/null differ diff --git a/jekyll/assets/2020/promote-bot/banner.webp b/jekyll/assets/2020/promote-bot/banner.webp new file mode 100644 index 00000000000..d1ea7c39d59 Binary files /dev/null and b/jekyll/assets/2020/promote-bot/banner.webp differ diff --git a/jekyll/assets/2020/promote-bot/result.jpg b/jekyll/assets/2020/promote-bot/result.jpg deleted file mode 100644 index 50140fa8d10..00000000000 Binary files a/jekyll/assets/2020/promote-bot/result.jpg and /dev/null differ diff --git a/jekyll/assets/2020/promote-bot/result.webp b/jekyll/assets/2020/promote-bot/result.webp new file mode 100644 index 00000000000..d14aa65e894 Binary files /dev/null and b/jekyll/assets/2020/promote-bot/result.webp differ diff --git a/jekyll/assets/2020/promote-bot/result1.png b/jekyll/assets/2020/promote-bot/result1.png deleted file mode 100755 index d180f228a28..00000000000 Binary files a/jekyll/assets/2020/promote-bot/result1.png and /dev/null differ diff --git a/jekyll/assets/2020/promote-bot/result1.webp b/jekyll/assets/2020/promote-bot/result1.webp new file mode 100644 index 00000000000..d240c778b6b Binary files /dev/null and b/jekyll/assets/2020/promote-bot/result1.webp differ diff --git a/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.jpg b/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.jpg deleted file mode 100644 index 47ca6093771..00000000000 Binary files a/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.jpg and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.webp b/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.webp new file mode 100644 index 00000000000..7ad95b5d479 Binary files /dev/null and b/jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.webp differ diff --git a/jekyll/assets/2020/python-wechaty/live-coding.png b/jekyll/assets/2020/python-wechaty/live-coding.png deleted file mode 100644 index f7d3134e705..00000000000 Binary files a/jekyll/assets/2020/python-wechaty/live-coding.png and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty/live-coding.webp b/jekyll/assets/2020/python-wechaty/live-coding.webp new file mode 100644 index 00000000000..6fdb5efb240 Binary files /dev/null and b/jekyll/assets/2020/python-wechaty/live-coding.webp differ diff --git a/jekyll/assets/2020/python-wechaty/python-wechaty-logo.png b/jekyll/assets/2020/python-wechaty/python-wechaty-logo.png deleted file mode 100644 index 8236b5a417d..00000000000 Binary files a/jekyll/assets/2020/python-wechaty/python-wechaty-logo.png and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty/python-wechaty-logo.webp b/jekyll/assets/2020/python-wechaty/python-wechaty-logo.webp new file mode 100644 index 00000000000..a28f2e69f7a Binary files /dev/null and b/jekyll/assets/2020/python-wechaty/python-wechaty-logo.webp differ diff --git a/jekyll/assets/2020/python-wechaty/simple-bot.png b/jekyll/assets/2020/python-wechaty/simple-bot.png deleted file mode 100644 index 6e7b2b4e7e9..00000000000 Binary files a/jekyll/assets/2020/python-wechaty/simple-bot.png and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty/simple-bot.webp b/jekyll/assets/2020/python-wechaty/simple-bot.webp new file mode 100644 index 00000000000..35de5d4bfcc Binary files /dev/null and b/jekyll/assets/2020/python-wechaty/simple-bot.webp differ diff --git a/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.jpg b/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.jpg deleted file mode 100644 index 74b5830d8f5..00000000000 Binary files a/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.jpg and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.webp b/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.webp new file mode 100644 index 00000000000..c57aea60f22 Binary files /dev/null and b/jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.webp differ diff --git a/jekyll/assets/2020/python-wechaty/wujing-weixin.png b/jekyll/assets/2020/python-wechaty/wujing-weixin.png deleted file mode 100644 index 7b1c75f9dec..00000000000 Binary files a/jekyll/assets/2020/python-wechaty/wujing-weixin.png and /dev/null differ diff --git a/jekyll/assets/2020/python-wechaty/wujing-weixin.webp b/jekyll/assets/2020/python-wechaty/wujing-weixin.webp new file mode 100644 index 00000000000..4a9a02cd7d0 Binary files /dev/null and b/jekyll/assets/2020/python-wechaty/wujing-weixin.webp differ diff --git a/jekyll/assets/2020/qijibot/first.jpeg b/jekyll/assets/2020/qijibot/first.jpeg deleted file mode 100644 index 81fd8747487..00000000000 Binary files a/jekyll/assets/2020/qijibot/first.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/qijibot/first.webp b/jekyll/assets/2020/qijibot/first.webp new file mode 100644 index 00000000000..502996a8a20 Binary files /dev/null and b/jekyll/assets/2020/qijibot/first.webp differ diff --git a/jekyll/assets/2020/qijibot/jukebao.jpeg b/jekyll/assets/2020/qijibot/jukebao.jpeg deleted file mode 100644 index b44ec1d3f04..00000000000 Binary files a/jekyll/assets/2020/qijibot/jukebao.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/qijibot/jukebao.webp b/jekyll/assets/2020/qijibot/jukebao.webp new file mode 100644 index 00000000000..d9cbec51f6c Binary files /dev/null and b/jekyll/assets/2020/qijibot/jukebao.webp differ diff --git a/jekyll/assets/2020/qijibot/qijibot.jpg b/jekyll/assets/2020/qijibot/qijibot.jpg deleted file mode 100644 index e473e4974a3..00000000000 Binary files a/jekyll/assets/2020/qijibot/qijibot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/qijibot/qijibot.webp b/jekyll/assets/2020/qijibot/qijibot.webp new file mode 100644 index 00000000000..5e4927e112e Binary files /dev/null and b/jekyll/assets/2020/qijibot/qijibot.webp differ diff --git a/jekyll/assets/2020/qijibot/talk1.jpg b/jekyll/assets/2020/qijibot/talk1.jpg deleted file mode 100644 index 2928432b3ea..00000000000 Binary files a/jekyll/assets/2020/qijibot/talk1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/qijibot/talk1.webp b/jekyll/assets/2020/qijibot/talk1.webp new file mode 100644 index 00000000000..2d0ae1217ca Binary files /dev/null and b/jekyll/assets/2020/qijibot/talk1.webp differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/birth.png b/jekyll/assets/2020/rae-oa-wechaty/birth.png deleted file mode 100644 index 90a50848a2b..00000000000 Binary files a/jekyll/assets/2020/rae-oa-wechaty/birth.png and /dev/null differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/birth.webp b/jekyll/assets/2020/rae-oa-wechaty/birth.webp new file mode 100644 index 00000000000..6aa15c88bd5 Binary files /dev/null and b/jekyll/assets/2020/rae-oa-wechaty/birth.webp differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/catalogue.png b/jekyll/assets/2020/rae-oa-wechaty/catalogue.png deleted file mode 100644 index 5bb91be6e0f..00000000000 Binary files a/jekyll/assets/2020/rae-oa-wechaty/catalogue.png and /dev/null differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/catalogue.webp b/jekyll/assets/2020/rae-oa-wechaty/catalogue.webp new file mode 100644 index 00000000000..ef6cfd7d529 Binary files /dev/null and b/jekyll/assets/2020/rae-oa-wechaty/catalogue.webp differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/daily.png b/jekyll/assets/2020/rae-oa-wechaty/daily.png deleted file mode 100644 index f07db029b1e..00000000000 Binary files a/jekyll/assets/2020/rae-oa-wechaty/daily.png and /dev/null differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/daily.webp b/jekyll/assets/2020/rae-oa-wechaty/daily.webp new file mode 100644 index 00000000000..6f347509997 Binary files /dev/null and b/jekyll/assets/2020/rae-oa-wechaty/daily.webp differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/schecdule.png b/jekyll/assets/2020/rae-oa-wechaty/schecdule.png deleted file mode 100644 index 617e2096334..00000000000 Binary files a/jekyll/assets/2020/rae-oa-wechaty/schecdule.png and /dev/null differ diff --git a/jekyll/assets/2020/rae-oa-wechaty/schecdule.webp b/jekyll/assets/2020/rae-oa-wechaty/schecdule.webp new file mode 100644 index 00000000000..251de58805a Binary files /dev/null and b/jekyll/assets/2020/rae-oa-wechaty/schecdule.webp differ diff --git a/jekyll/assets/2020/rcbot/rcbot.jpg b/jekyll/assets/2020/rcbot/rcbot.jpg deleted file mode 100644 index 62b651dbf54..00000000000 Binary files a/jekyll/assets/2020/rcbot/rcbot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/rcbot/rcbot.webp b/jekyll/assets/2020/rcbot/rcbot.webp new file mode 100644 index 00000000000..6fc0ba91cf4 Binary files /dev/null and b/jekyll/assets/2020/rcbot/rcbot.webp differ diff --git a/jekyll/assets/2020/rebate-robot/chaxun.png b/jekyll/assets/2020/rebate-robot/chaxun.png deleted file mode 100644 index 061f0b724bd..00000000000 Binary files a/jekyll/assets/2020/rebate-robot/chaxun.png and /dev/null differ diff --git a/jekyll/assets/2020/rebate-robot/chaxun.webp b/jekyll/assets/2020/rebate-robot/chaxun.webp new file mode 100644 index 00000000000..e89f16c1ebe Binary files /dev/null and b/jekyll/assets/2020/rebate-robot/chaxun.webp differ diff --git a/jekyll/assets/2020/rebate-robot/help.png b/jekyll/assets/2020/rebate-robot/help.png deleted file mode 100644 index 8fe0b21d459..00000000000 Binary files a/jekyll/assets/2020/rebate-robot/help.png and /dev/null differ diff --git a/jekyll/assets/2020/rebate-robot/help.webp b/jekyll/assets/2020/rebate-robot/help.webp new file mode 100644 index 00000000000..540bb832a4d Binary files /dev/null and b/jekyll/assets/2020/rebate-robot/help.webp differ diff --git a/jekyll/assets/2020/rebate-robot/taokouling.png b/jekyll/assets/2020/rebate-robot/taokouling.png deleted file mode 100644 index 02bf073d8c7..00000000000 Binary files a/jekyll/assets/2020/rebate-robot/taokouling.png and /dev/null differ diff --git a/jekyll/assets/2020/rebate-robot/taokouling.webp b/jekyll/assets/2020/rebate-robot/taokouling.webp new file mode 100644 index 00000000000..f5df20ce605 Binary files /dev/null and b/jekyll/assets/2020/rebate-robot/taokouling.webp differ diff --git a/jekyll/assets/2020/rebate-robot/tixian.png b/jekyll/assets/2020/rebate-robot/tixian.png deleted file mode 100644 index 2b66260fdc1..00000000000 Binary files a/jekyll/assets/2020/rebate-robot/tixian.png and /dev/null differ diff --git a/jekyll/assets/2020/rebate-robot/tixian.webp b/jekyll/assets/2020/rebate-robot/tixian.webp new file mode 100644 index 00000000000..045c4c1a24d Binary files /dev/null and b/jekyll/assets/2020/rebate-robot/tixian.webp differ diff --git a/jekyll/assets/2020/rebate-robot/zhuanqian.jpg b/jekyll/assets/2020/rebate-robot/zhuanqian.jpg deleted file mode 100644 index 74de9258056..00000000000 Binary files a/jekyll/assets/2020/rebate-robot/zhuanqian.jpg and /dev/null differ diff --git a/jekyll/assets/2020/rebate-robot/zhuanqian.webp b/jekyll/assets/2020/rebate-robot/zhuanqian.webp new file mode 100644 index 00000000000..7d4750161e0 Binary files /dev/null and b/jekyll/assets/2020/rebate-robot/zhuanqian.webp differ diff --git a/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.png b/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.png deleted file mode 100644 index 463cbf9714e..00000000000 Binary files a/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.png and /dev/null differ diff --git a/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.webp b/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.webp new file mode 100644 index 00000000000..26a0ee09a12 Binary files /dev/null and b/jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.webp differ diff --git a/jekyll/assets/2020/retarded-robot/private-feat.png b/jekyll/assets/2020/retarded-robot/private-feat.png deleted file mode 100644 index ca62fc40238..00000000000 Binary files a/jekyll/assets/2020/retarded-robot/private-feat.png and /dev/null differ diff --git a/jekyll/assets/2020/retarded-robot/private-feat.webp b/jekyll/assets/2020/retarded-robot/private-feat.webp new file mode 100644 index 00000000000..65778b54e64 Binary files /dev/null and b/jekyll/assets/2020/retarded-robot/private-feat.webp differ diff --git a/jekyll/assets/2020/retarded-robot/private-menu.png b/jekyll/assets/2020/retarded-robot/private-menu.png deleted file mode 100644 index 8364d96f441..00000000000 Binary files a/jekyll/assets/2020/retarded-robot/private-menu.png and /dev/null differ diff --git a/jekyll/assets/2020/retarded-robot/private-menu.webp b/jekyll/assets/2020/retarded-robot/private-menu.webp new file mode 100644 index 00000000000..e2f38f0be58 Binary files /dev/null and b/jekyll/assets/2020/retarded-robot/private-menu.webp differ diff --git a/jekyll/assets/2020/retarded-robot/room-feat.png b/jekyll/assets/2020/retarded-robot/room-feat.png deleted file mode 100644 index 68f30bf03f2..00000000000 Binary files a/jekyll/assets/2020/retarded-robot/room-feat.png and /dev/null differ diff --git a/jekyll/assets/2020/retarded-robot/room-feat.webp b/jekyll/assets/2020/retarded-robot/room-feat.webp new file mode 100644 index 00000000000..5e8d9fe3144 Binary files /dev/null and b/jekyll/assets/2020/retarded-robot/room-feat.webp differ diff --git a/jekyll/assets/2020/rock/rock.jpeg b/jekyll/assets/2020/rock/rock.jpeg deleted file mode 100644 index bbcb8f2b46d..00000000000 Binary files a/jekyll/assets/2020/rock/rock.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/rock/rock.webp b/jekyll/assets/2020/rock/rock.webp new file mode 100644 index 00000000000..f639d48675d Binary files /dev/null and b/jekyll/assets/2020/rock/rock.webp differ diff --git a/jekyll/assets/2020/room-manager/bio-photo.png b/jekyll/assets/2020/room-manager/bio-photo.png deleted file mode 100644 index afc197663f9..00000000000 Binary files a/jekyll/assets/2020/room-manager/bio-photo.png and /dev/null differ diff --git a/jekyll/assets/2020/room-manager/bio-photo.webp b/jekyll/assets/2020/room-manager/bio-photo.webp new file mode 100644 index 00000000000..7105eb6d293 Binary files /dev/null and b/jekyll/assets/2020/room-manager/bio-photo.webp differ diff --git a/jekyll/assets/2020/runwechatyonpi/head.png b/jekyll/assets/2020/runwechatyonpi/head.png deleted file mode 100644 index 7d8283d7484..00000000000 Binary files a/jekyll/assets/2020/runwechatyonpi/head.png and /dev/null differ diff --git a/jekyll/assets/2020/runwechatyonpi/head.webp b/jekyll/assets/2020/runwechatyonpi/head.webp new file mode 100644 index 00000000000..2f8e9d16b52 Binary files /dev/null and b/jekyll/assets/2020/runwechatyonpi/head.webp differ diff --git a/jekyll/assets/2020/runwechatyonpi/pi.jpg b/jekyll/assets/2020/runwechatyonpi/pi.jpg deleted file mode 100644 index 1000b0d8164..00000000000 Binary files a/jekyll/assets/2020/runwechatyonpi/pi.jpg and /dev/null differ diff --git a/jekyll/assets/2020/runwechatyonpi/pi.webp b/jekyll/assets/2020/runwechatyonpi/pi.webp new file mode 100644 index 00000000000..73ac15f585c Binary files /dev/null and b/jekyll/assets/2020/runwechatyonpi/pi.webp differ diff --git a/jekyll/assets/2020/runwechatyonpi/qrcode.jpg b/jekyll/assets/2020/runwechatyonpi/qrcode.jpg deleted file mode 100644 index ee9a5a29171..00000000000 Binary files a/jekyll/assets/2020/runwechatyonpi/qrcode.jpg and /dev/null differ diff --git a/jekyll/assets/2020/runwechatyonpi/qrcode.webp b/jekyll/assets/2020/runwechatyonpi/qrcode.webp new file mode 100644 index 00000000000..433732dac34 Binary files /dev/null and b/jekyll/assets/2020/runwechatyonpi/qrcode.webp differ diff --git a/jekyll/assets/2020/runwechatyonpi/run.jpg b/jekyll/assets/2020/runwechatyonpi/run.jpg deleted file mode 100644 index 2d5cefb9102..00000000000 Binary files a/jekyll/assets/2020/runwechatyonpi/run.jpg and /dev/null differ diff --git a/jekyll/assets/2020/runwechatyonpi/run.webp b/jekyll/assets/2020/runwechatyonpi/run.webp new file mode 100644 index 00000000000..38f766d4bac Binary files /dev/null and b/jekyll/assets/2020/runwechatyonpi/run.webp differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/code.jpg b/jekyll/assets/2020/smwsk-java-wechaty-bot/code.jpg deleted file mode 100644 index 637e2df9b37..00000000000 Binary files a/jekyll/assets/2020/smwsk-java-wechaty-bot/code.jpg and /dev/null differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/code.webp b/jekyll/assets/2020/smwsk-java-wechaty-bot/code.webp new file mode 100644 index 00000000000..0b8677a6672 Binary files /dev/null and b/jekyll/assets/2020/smwsk-java-wechaty-bot/code.webp differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/home.jpg b/jekyll/assets/2020/smwsk-java-wechaty-bot/home.jpg deleted file mode 100644 index 4d577439cb9..00000000000 Binary files a/jekyll/assets/2020/smwsk-java-wechaty-bot/home.jpg and /dev/null differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/home.webp b/jekyll/assets/2020/smwsk-java-wechaty-bot/home.webp new file mode 100644 index 00000000000..86468451729 Binary files /dev/null and b/jekyll/assets/2020/smwsk-java-wechaty-bot/home.webp differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.jpg b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.jpg deleted file mode 100644 index 13077faaf73..00000000000 Binary files a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.webp b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.webp new file mode 100644 index 00000000000..f42de15ab56 Binary files /dev/null and b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.webp differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.jpg b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.jpg deleted file mode 100644 index e9af5476851..00000000000 Binary files a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.webp b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.webp new file mode 100644 index 00000000000..528c33a56f8 Binary files /dev/null and b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.webp differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.jpg b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.jpg deleted file mode 100644 index 387fcc68312..00000000000 Binary files a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.webp b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.webp new file mode 100644 index 00000000000..7a25375746c Binary files /dev/null and b/jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.webp differ diff --git a/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg b/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg deleted file mode 100644 index 699c8e7f917..00000000000 Binary files a/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.webp b/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.webp new file mode 100644 index 00000000000..d00c8f6786d Binary files /dev/null and b/jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.webp differ diff --git a/jekyll/assets/2020/tiny-bot/menu.jpeg b/jekyll/assets/2020/tiny-bot/menu.jpeg deleted file mode 100644 index 066aa61e5fc..00000000000 Binary files a/jekyll/assets/2020/tiny-bot/menu.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/tiny-bot/menu.webp b/jekyll/assets/2020/tiny-bot/menu.webp new file mode 100644 index 00000000000..e3538a6341c Binary files /dev/null and b/jekyll/assets/2020/tiny-bot/menu.webp differ diff --git a/jekyll/assets/2020/tiny-bot/ocr.jpeg b/jekyll/assets/2020/tiny-bot/ocr.jpeg deleted file mode 100644 index adefc99a12c..00000000000 Binary files a/jekyll/assets/2020/tiny-bot/ocr.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/tiny-bot/ocr.webp b/jekyll/assets/2020/tiny-bot/ocr.webp new file mode 100644 index 00000000000..ff21703a223 Binary files /dev/null and b/jekyll/assets/2020/tiny-bot/ocr.webp differ diff --git a/jekyll/assets/2020/tiny-bot/qr.jpeg b/jekyll/assets/2020/tiny-bot/qr.jpeg deleted file mode 100644 index 591935a9cf8..00000000000 Binary files a/jekyll/assets/2020/tiny-bot/qr.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/tiny-bot/qr.webp b/jekyll/assets/2020/tiny-bot/qr.webp new file mode 100644 index 00000000000..45582a0c14d Binary files /dev/null and b/jekyll/assets/2020/tiny-bot/qr.webp differ diff --git a/jekyll/assets/2020/tiny-bot/teaser.jpeg b/jekyll/assets/2020/tiny-bot/teaser.jpeg deleted file mode 100644 index a662e2f3539..00000000000 Binary files a/jekyll/assets/2020/tiny-bot/teaser.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/tiny-bot/teaser.webp b/jekyll/assets/2020/tiny-bot/teaser.webp new file mode 100644 index 00000000000..141ff3c7353 Binary files /dev/null and b/jekyll/assets/2020/tiny-bot/teaser.webp differ diff --git a/jekyll/assets/2020/tom-chat/zelda.jpg b/jekyll/assets/2020/tom-chat/zelda.jpg deleted file mode 100644 index 3f2b47333fa..00000000000 Binary files a/jekyll/assets/2020/tom-chat/zelda.jpg and /dev/null differ diff --git a/jekyll/assets/2020/tom-chat/zelda.webp b/jekyll/assets/2020/tom-chat/zelda.webp new file mode 100644 index 00000000000..82ba1bff5be Binary files /dev/null and b/jekyll/assets/2020/tom-chat/zelda.webp differ diff --git a/jekyll/assets/2020/umiuni/architecture.png b/jekyll/assets/2020/umiuni/architecture.png deleted file mode 100644 index 8d194bc92a6..00000000000 Binary files a/jekyll/assets/2020/umiuni/architecture.png and /dev/null differ diff --git a/jekyll/assets/2020/umiuni/architecture.webp b/jekyll/assets/2020/umiuni/architecture.webp new file mode 100644 index 00000000000..ee0b0e98b28 Binary files /dev/null and b/jekyll/assets/2020/umiuni/architecture.webp differ diff --git a/jekyll/assets/2020/umiuni/icon.png b/jekyll/assets/2020/umiuni/icon.png deleted file mode 100644 index 96692b31841..00000000000 Binary files a/jekyll/assets/2020/umiuni/icon.png and /dev/null differ diff --git a/jekyll/assets/2020/umiuni/icon.webp b/jekyll/assets/2020/umiuni/icon.webp new file mode 100644 index 00000000000..aa54ac9372d Binary files /dev/null and b/jekyll/assets/2020/umiuni/icon.webp differ diff --git a/jekyll/assets/2020/wanke-bot/20201015105732.png b/jekyll/assets/2020/wanke-bot/20201015105732.png deleted file mode 100644 index cf1e3cfd1ee..00000000000 Binary files a/jekyll/assets/2020/wanke-bot/20201015105732.png and /dev/null differ diff --git a/jekyll/assets/2020/wanke-bot/20201015105732.webp b/jekyll/assets/2020/wanke-bot/20201015105732.webp new file mode 100644 index 00000000000..e52ef8c5382 Binary files /dev/null and b/jekyll/assets/2020/wanke-bot/20201015105732.webp differ diff --git a/jekyll/assets/2020/wanke-bot/20201015112724.png b/jekyll/assets/2020/wanke-bot/20201015112724.png deleted file mode 100644 index dc92c08ecb9..00000000000 Binary files a/jekyll/assets/2020/wanke-bot/20201015112724.png and /dev/null differ diff --git a/jekyll/assets/2020/wanke-bot/20201015112724.webp b/jekyll/assets/2020/wanke-bot/20201015112724.webp new file mode 100644 index 00000000000..a2842c6fdca Binary files /dev/null and b/jekyll/assets/2020/wanke-bot/20201015112724.webp differ diff --git a/jekyll/assets/2020/wanke-bot/20201015141509.png b/jekyll/assets/2020/wanke-bot/20201015141509.png deleted file mode 100644 index f8bac1b498a..00000000000 Binary files a/jekyll/assets/2020/wanke-bot/20201015141509.png and /dev/null differ diff --git a/jekyll/assets/2020/wanke-bot/20201015141509.webp b/jekyll/assets/2020/wanke-bot/20201015141509.webp new file mode 100644 index 00000000000..9708c8614de Binary files /dev/null and b/jekyll/assets/2020/wanke-bot/20201015141509.webp differ diff --git a/jekyll/assets/2020/wanke-bot/banner.jpg b/jekyll/assets/2020/wanke-bot/banner.jpg deleted file mode 100644 index 24da523ff5a..00000000000 Binary files a/jekyll/assets/2020/wanke-bot/banner.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wanke-bot/banner.webp b/jekyll/assets/2020/wanke-bot/banner.webp new file mode 100644 index 00000000000..ec76764dffb Binary files /dev/null and b/jekyll/assets/2020/wanke-bot/banner.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/event.png b/jekyll/assets/2020/web-panel-plugin/event.png deleted file mode 100644 index c54bf501e25..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/event.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/event.webp b/jekyll/assets/2020/web-panel-plugin/event.webp new file mode 100644 index 00000000000..dcdbb725a7a Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/event.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/everyday.png b/jekyll/assets/2020/web-panel-plugin/everyday.png deleted file mode 100644 index cab5c884fa2..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/everyday.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/everyday.webp b/jekyll/assets/2020/web-panel-plugin/everyday.webp new file mode 100644 index 00000000000..9a11dad3c1b Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/everyday.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/func.jpeg b/jekyll/assets/2020/web-panel-plugin/func.jpeg deleted file mode 100644 index 9dd5cb6e346..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/func.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/func.webp b/jekyll/assets/2020/web-panel-plugin/func.webp new file mode 100644 index 00000000000..c84077e623c Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/func.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/material.png b/jekyll/assets/2020/web-panel-plugin/material.png deleted file mode 100644 index f218455945c..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/material.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/material.webp b/jekyll/assets/2020/web-panel-plugin/material.webp new file mode 100644 index 00000000000..adf3bc99654 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/material.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/news.jpeg b/jekyll/assets/2020/web-panel-plugin/news.jpeg deleted file mode 100644 index 794ea173cce..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/news.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/news.webp b/jekyll/assets/2020/web-panel-plugin/news.webp new file mode 100644 index 00000000000..185dd53eda3 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/news.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/qr.png b/jekyll/assets/2020/web-panel-plugin/qr.png deleted file mode 100644 index f89a037c5b4..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/qr.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/qr.webp b/jekyll/assets/2020/web-panel-plugin/qr.webp new file mode 100644 index 00000000000..d9c25fd1635 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/qr.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/qrcode-s.png b/jekyll/assets/2020/web-panel-plugin/qrcode-s.png deleted file mode 100644 index 02db95e87ea..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/qrcode-s.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/qrcode-s.webp b/jekyll/assets/2020/web-panel-plugin/qrcode-s.webp new file mode 100644 index 00000000000..23a0d403159 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/qrcode-s.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/qrcode.png b/jekyll/assets/2020/web-panel-plugin/qrcode.png deleted file mode 100644 index c882caafda6..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/qrcode.webp b/jekyll/assets/2020/web-panel-plugin/qrcode.webp new file mode 100644 index 00000000000..a28a52fc26a Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/qrcode.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/schedule.png b/jekyll/assets/2020/web-panel-plugin/schedule.png deleted file mode 100644 index aa034ab9502..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/schedule.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/schedule.webp b/jekyll/assets/2020/web-panel-plugin/schedule.webp new file mode 100644 index 00000000000..beba17cb834 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/schedule.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/user-center.png b/jekyll/assets/2020/web-panel-plugin/user-center.png deleted file mode 100644 index 062b7f1dfcb..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/user-center.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/user-center.webp b/jekyll/assets/2020/web-panel-plugin/user-center.webp new file mode 100644 index 00000000000..8126dfa8814 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/user-center.webp differ diff --git a/jekyll/assets/2020/web-panel-plugin/web-head.png b/jekyll/assets/2020/web-panel-plugin/web-head.png deleted file mode 100644 index 45c569dec39..00000000000 Binary files a/jekyll/assets/2020/web-panel-plugin/web-head.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel-plugin/web-head.webp b/jekyll/assets/2020/web-panel-plugin/web-head.webp new file mode 100644 index 00000000000..0b2ae73da70 Binary files /dev/null and b/jekyll/assets/2020/web-panel-plugin/web-head.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-1.png b/jekyll/assets/2020/web-panel/panel-1.png deleted file mode 100644 index 8c17b145cff..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-1.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-1.webp b/jekyll/assets/2020/web-panel/panel-1.webp new file mode 100644 index 00000000000..4be5a790935 Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-1.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-2.png b/jekyll/assets/2020/web-panel/panel-2.png deleted file mode 100644 index 06d850207d9..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-2.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-2.webp b/jekyll/assets/2020/web-panel/panel-2.webp new file mode 100644 index 00000000000..8289f7d7d0e Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-2.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-3.png b/jekyll/assets/2020/web-panel/panel-3.png deleted file mode 100644 index f7797b2a184..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-3.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-3.webp b/jekyll/assets/2020/web-panel/panel-3.webp new file mode 100644 index 00000000000..9230e5f2490 Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-3.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-4.png b/jekyll/assets/2020/web-panel/panel-4.png deleted file mode 100644 index bac34bdc06b..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-4.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-4.webp b/jekyll/assets/2020/web-panel/panel-4.webp new file mode 100644 index 00000000000..f59d3ed687c Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-4.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-5.png b/jekyll/assets/2020/web-panel/panel-5.png deleted file mode 100644 index d7843ff565e..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-5.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-5.webp b/jekyll/assets/2020/web-panel/panel-5.webp new file mode 100644 index 00000000000..ba2540b30b7 Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-5.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-6.png b/jekyll/assets/2020/web-panel/panel-6.png deleted file mode 100644 index 7a631374c11..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-6.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-6.webp b/jekyll/assets/2020/web-panel/panel-6.webp new file mode 100644 index 00000000000..99a279d1582 Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-6.webp differ diff --git a/jekyll/assets/2020/web-panel/panel-7.png b/jekyll/assets/2020/web-panel/panel-7.png deleted file mode 100644 index 671b7cd305e..00000000000 Binary files a/jekyll/assets/2020/web-panel/panel-7.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/panel-7.webp b/jekyll/assets/2020/web-panel/panel-7.webp new file mode 100644 index 00000000000..691ccf17a97 Binary files /dev/null and b/jekyll/assets/2020/web-panel/panel-7.webp differ diff --git a/jekyll/assets/2020/web-panel/qr.png b/jekyll/assets/2020/web-panel/qr.png deleted file mode 100644 index f89a037c5b4..00000000000 Binary files a/jekyll/assets/2020/web-panel/qr.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/qr.webp b/jekyll/assets/2020/web-panel/qr.webp new file mode 100644 index 00000000000..d9c25fd1635 Binary files /dev/null and b/jekyll/assets/2020/web-panel/qr.webp differ diff --git a/jekyll/assets/2020/web-panel/web-head.png b/jekyll/assets/2020/web-panel/web-head.png deleted file mode 100644 index 45c569dec39..00000000000 Binary files a/jekyll/assets/2020/web-panel/web-head.png and /dev/null differ diff --git a/jekyll/assets/2020/web-panel/web-head.webp b/jekyll/assets/2020/web-panel/web-head.webp new file mode 100644 index 00000000000..0b2ae73da70 Binary files /dev/null and b/jekyll/assets/2020/web-panel/web-head.webp differ diff --git a/jekyll/assets/2020/wechat-bot/header.jpg b/jekyll/assets/2020/wechat-bot/header.jpg deleted file mode 100644 index 26c695f1d1f..00000000000 Binary files a/jekyll/assets/2020/wechat-bot/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-bot/header.webp b/jekyll/assets/2020/wechat-bot/header.webp new file mode 100644 index 00000000000..3716897d3dc Binary files /dev/null and b/jekyll/assets/2020/wechat-bot/header.webp differ diff --git a/jekyll/assets/2020/wechat-calc/demo.jpg b/jekyll/assets/2020/wechat-calc/demo.jpg deleted file mode 100644 index 9e0716431af..00000000000 Binary files a/jekyll/assets/2020/wechat-calc/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-calc/demo.webp b/jekyll/assets/2020/wechat-calc/demo.webp new file mode 100644 index 00000000000..cffd088c69d Binary files /dev/null and b/jekyll/assets/2020/wechat-calc/demo.webp differ diff --git a/jekyll/assets/2020/wechat-calc/header.jpg b/jekyll/assets/2020/wechat-calc/header.jpg deleted file mode 100644 index 990e10d1a67..00000000000 Binary files a/jekyll/assets/2020/wechat-calc/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-calc/header.webp b/jekyll/assets/2020/wechat-calc/header.webp new file mode 100644 index 00000000000..1e7dce32d48 Binary files /dev/null and b/jekyll/assets/2020/wechat-calc/header.webp differ diff --git a/jekyll/assets/2020/wechat-daycard/demo.jpg b/jekyll/assets/2020/wechat-daycard/demo.jpg deleted file mode 100644 index eb6d2ab2bdd..00000000000 Binary files a/jekyll/assets/2020/wechat-daycard/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-daycard/demo.webp b/jekyll/assets/2020/wechat-daycard/demo.webp new file mode 100644 index 00000000000..11f62c38e1c Binary files /dev/null and b/jekyll/assets/2020/wechat-daycard/demo.webp differ diff --git a/jekyll/assets/2020/wechat-daycard/header.png b/jekyll/assets/2020/wechat-daycard/header.png deleted file mode 100644 index c1da37070f4..00000000000 Binary files a/jekyll/assets/2020/wechat-daycard/header.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-daycard/header.webp b/jekyll/assets/2020/wechat-daycard/header.webp new file mode 100644 index 00000000000..d16c10f03e2 Binary files /dev/null and b/jekyll/assets/2020/wechat-daycard/header.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/appkey.png b/jekyll/assets/2020/wechat-fanli-robot/appkey.png deleted file mode 100644 index 5f88c386692..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/appkey.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/appkey.webp b/jekyll/assets/2020/wechat-fanli-robot/appkey.webp new file mode 100644 index 00000000000..99262ee400f Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/appkey.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/detail.png b/jekyll/assets/2020/wechat-fanli-robot/detail.png deleted file mode 100644 index d28d89b6cca..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/detail.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/detail.webp b/jekyll/assets/2020/wechat-fanli-robot/detail.webp new file mode 100644 index 00000000000..ef87d3404c0 Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/detail.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/meiti.png b/jekyll/assets/2020/wechat-fanli-robot/meiti.png deleted file mode 100644 index e55ac7d266c..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/meiti.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/meiti.webp b/jekyll/assets/2020/wechat-fanli-robot/meiti.webp new file mode 100644 index 00000000000..4ffd14d68d7 Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/meiti.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/tuiguang.png b/jekyll/assets/2020/wechat-fanli-robot/tuiguang.png deleted file mode 100644 index 40fad19358b..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/tuiguang.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/tuiguang.webp b/jekyll/assets/2020/wechat-fanli-robot/tuiguang.webp new file mode 100644 index 00000000000..adcb85dc047 Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/tuiguang.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/weixin.png b/jekyll/assets/2020/wechat-fanli-robot/weixin.png deleted file mode 100644 index 8d3ca253ab1..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/weixin.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/weixin.webp b/jekyll/assets/2020/wechat-fanli-robot/weixin.webp new file mode 100644 index 00000000000..e4134a4f5c7 Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/weixin.webp differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/yingyong.png b/jekyll/assets/2020/wechat-fanli-robot/yingyong.png deleted file mode 100644 index 6416f7de315..00000000000 Binary files a/jekyll/assets/2020/wechat-fanli-robot/yingyong.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-fanli-robot/yingyong.webp b/jekyll/assets/2020/wechat-fanli-robot/yingyong.webp new file mode 100644 index 00000000000..04273680f6b Binary files /dev/null and b/jekyll/assets/2020/wechat-fanli-robot/yingyong.webp differ diff --git a/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.jpg b/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.jpg deleted file mode 100644 index e04a0bcb827..00000000000 Binary files a/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.webp b/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.webp new file mode 100644 index 00000000000..6389ec707da Binary files /dev/null and b/jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.webp differ diff --git a/jekyll/assets/2020/wechat-group-integral-robot/header.jpg b/jekyll/assets/2020/wechat-group-integral-robot/header.jpg deleted file mode 100644 index 1f1073d67de..00000000000 Binary files a/jekyll/assets/2020/wechat-group-integral-robot/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-group-integral-robot/header.webp b/jekyll/assets/2020/wechat-group-integral-robot/header.webp new file mode 100644 index 00000000000..c0cd88b0703 Binary files /dev/null and b/jekyll/assets/2020/wechat-group-integral-robot/header.webp differ diff --git a/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.png b/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.png deleted file mode 100644 index 070ca568131..00000000000 Binary files a/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.webp b/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.webp new file mode 100644 index 00000000000..36aa3687683 Binary files /dev/null and b/jekyll/assets/2020/wechat-group-integral-robot/wxscreen.webp differ diff --git a/jekyll/assets/2020/wechat-official-helper/teaser.png b/jekyll/assets/2020/wechat-official-helper/teaser.png deleted file mode 100644 index f10f44deb8b..00000000000 Binary files a/jekyll/assets/2020/wechat-official-helper/teaser.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-official-helper/teaser.webp b/jekyll/assets/2020/wechat-official-helper/teaser.webp new file mode 100644 index 00000000000..ce9c6257e98 Binary files /dev/null and b/jekyll/assets/2020/wechat-official-helper/teaser.webp differ diff --git a/jekyll/assets/2020/wechat-poem-robot/chat.png b/jekyll/assets/2020/wechat-poem-robot/chat.png deleted file mode 100644 index 5ceb1da12a7..00000000000 Binary files a/jekyll/assets/2020/wechat-poem-robot/chat.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-poem-robot/chat.webp b/jekyll/assets/2020/wechat-poem-robot/chat.webp new file mode 100644 index 00000000000..ec53b692f9c Binary files /dev/null and b/jekyll/assets/2020/wechat-poem-robot/chat.webp differ diff --git a/jekyll/assets/2020/wechat-poem-robot/pm2.png b/jekyll/assets/2020/wechat-poem-robot/pm2.png deleted file mode 100644 index be1cef656fa..00000000000 Binary files a/jekyll/assets/2020/wechat-poem-robot/pm2.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-poem-robot/pm2.webp b/jekyll/assets/2020/wechat-poem-robot/pm2.webp new file mode 100644 index 00000000000..10d48a1c460 Binary files /dev/null and b/jekyll/assets/2020/wechat-poem-robot/pm2.webp differ diff --git a/jekyll/assets/2020/wechat-poem-robot/regex101-debug.png b/jekyll/assets/2020/wechat-poem-robot/regex101-debug.png deleted file mode 100644 index 27406c0a951..00000000000 Binary files a/jekyll/assets/2020/wechat-poem-robot/regex101-debug.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-poem-robot/regex101-debug.webp b/jekyll/assets/2020/wechat-poem-robot/regex101-debug.webp new file mode 100644 index 00000000000..43ccfca5ce8 Binary files /dev/null and b/jekyll/assets/2020/wechat-poem-robot/regex101-debug.webp differ diff --git a/jekyll/assets/2020/wechat-poem-robot/regex101.png b/jekyll/assets/2020/wechat-poem-robot/regex101.png deleted file mode 100644 index c3cfa27d1dd..00000000000 Binary files a/jekyll/assets/2020/wechat-poem-robot/regex101.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-poem-robot/regex101.webp b/jekyll/assets/2020/wechat-poem-robot/regex101.webp new file mode 100644 index 00000000000..04eb9b2568c Binary files /dev/null and b/jekyll/assets/2020/wechat-poem-robot/regex101.webp differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/chat.png b/jekyll/assets/2020/wechat-purchasing-robot/chat.png deleted file mode 100644 index 2688ce19cf9..00000000000 Binary files a/jekyll/assets/2020/wechat-purchasing-robot/chat.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/chat.webp b/jekyll/assets/2020/wechat-purchasing-robot/chat.webp new file mode 100644 index 00000000000..7833a720960 Binary files /dev/null and b/jekyll/assets/2020/wechat-purchasing-robot/chat.webp differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/header.jpg b/jekyll/assets/2020/wechat-purchasing-robot/header.jpg deleted file mode 100644 index 2e89ca2130d..00000000000 Binary files a/jekyll/assets/2020/wechat-purchasing-robot/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/header.webp b/jekyll/assets/2020/wechat-purchasing-robot/header.webp new file mode 100644 index 00000000000..bc1eb1fe994 Binary files /dev/null and b/jekyll/assets/2020/wechat-purchasing-robot/header.webp differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/sell.png b/jekyll/assets/2020/wechat-purchasing-robot/sell.png deleted file mode 100644 index 2fb97df5871..00000000000 Binary files a/jekyll/assets/2020/wechat-purchasing-robot/sell.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-purchasing-robot/sell.webp b/jekyll/assets/2020/wechat-purchasing-robot/sell.webp new file mode 100644 index 00000000000..bfba90b2f00 Binary files /dev/null and b/jekyll/assets/2020/wechat-purchasing-robot/sell.webp differ diff --git a/jekyll/assets/2020/wechat-robot-seller/chat.jpeg b/jekyll/assets/2020/wechat-robot-seller/chat.jpeg deleted file mode 100644 index 0752d1ef869..00000000000 Binary files a/jekyll/assets/2020/wechat-robot-seller/chat.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-robot-seller/chat.webp b/jekyll/assets/2020/wechat-robot-seller/chat.webp new file mode 100644 index 00000000000..50870c9a05a Binary files /dev/null and b/jekyll/assets/2020/wechat-robot-seller/chat.webp differ diff --git a/jekyll/assets/2020/wechat-robot-seller/page.jpeg b/jekyll/assets/2020/wechat-robot-seller/page.jpeg deleted file mode 100644 index 9c6b98370f8..00000000000 Binary files a/jekyll/assets/2020/wechat-robot-seller/page.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechat-robot-seller/page.webp b/jekyll/assets/2020/wechat-robot-seller/page.webp new file mode 100644 index 00000000000..9e3094ed0ef Binary files /dev/null and b/jekyll/assets/2020/wechat-robot-seller/page.webp differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/answer.png b/jekyll/assets/2020/wechat-roommessage-bot/answer.png deleted file mode 100644 index 2a3ea66c16e..00000000000 Binary files a/jekyll/assets/2020/wechat-roommessage-bot/answer.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/answer.webp b/jekyll/assets/2020/wechat-roommessage-bot/answer.webp new file mode 100644 index 00000000000..8c444f5a093 Binary files /dev/null and b/jekyll/assets/2020/wechat-roommessage-bot/answer.webp differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/notice.png b/jekyll/assets/2020/wechat-roommessage-bot/notice.png deleted file mode 100644 index e4cd6c10c1f..00000000000 Binary files a/jekyll/assets/2020/wechat-roommessage-bot/notice.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/notice.webp b/jekyll/assets/2020/wechat-roommessage-bot/notice.webp new file mode 100644 index 00000000000..b1aa1ba9ede Binary files /dev/null and b/jekyll/assets/2020/wechat-roommessage-bot/notice.webp differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/query.png b/jekyll/assets/2020/wechat-roommessage-bot/query.png deleted file mode 100644 index 782adf8c582..00000000000 Binary files a/jekyll/assets/2020/wechat-roommessage-bot/query.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/query.webp b/jekyll/assets/2020/wechat-roommessage-bot/query.webp new file mode 100644 index 00000000000..a92f0f05a61 Binary files /dev/null and b/jekyll/assets/2020/wechat-roommessage-bot/query.webp differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/teaser.png b/jekyll/assets/2020/wechat-roommessage-bot/teaser.png deleted file mode 100644 index efa86c8b176..00000000000 Binary files a/jekyll/assets/2020/wechat-roommessage-bot/teaser.png and /dev/null differ diff --git a/jekyll/assets/2020/wechat-roommessage-bot/teaser.webp b/jekyll/assets/2020/wechat-roommessage-bot/teaser.webp new file mode 100644 index 00000000000..a4b461dcacd Binary files /dev/null and b/jekyll/assets/2020/wechat-roommessage-bot/teaser.webp differ diff --git a/jekyll/assets/2020/wechaty-bot-hostie/img-func.jpeg b/jekyll/assets/2020/wechaty-bot-hostie/img-func.jpeg deleted file mode 100644 index 5535283be0b..00000000000 Binary files a/jekyll/assets/2020/wechaty-bot-hostie/img-func.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-bot-hostie/img-func.webp b/jekyll/assets/2020/wechaty-bot-hostie/img-func.webp new file mode 100644 index 00000000000..3f898e350fb Binary files /dev/null and b/jekyll/assets/2020/wechaty-bot-hostie/img-func.webp differ diff --git a/jekyll/assets/2020/wechaty-check-in-robot/notice.png b/jekyll/assets/2020/wechaty-check-in-robot/notice.png deleted file mode 100644 index 2b1e1249421..00000000000 Binary files a/jekyll/assets/2020/wechaty-check-in-robot/notice.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-check-in-robot/notice.webp b/jekyll/assets/2020/wechaty-check-in-robot/notice.webp new file mode 100644 index 00000000000..d2cfde0743a Binary files /dev/null and b/jekyll/assets/2020/wechaty-check-in-robot/notice.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily.png b/jekyll/assets/2020/wechaty-daily/daily.png deleted file mode 100644 index 5bd79e6dbca..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily.webp b/jekyll/assets/2020/wechaty-daily/daily.webp new file mode 100644 index 00000000000..fb1186b6127 Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily2.png b/jekyll/assets/2020/wechaty-daily/daily2.png deleted file mode 100644 index 06f2c46e5ab..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily2.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily2.webp b/jekyll/assets/2020/wechaty-daily/daily2.webp new file mode 100644 index 00000000000..baa04b8c2f3 Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily2.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily3.png b/jekyll/assets/2020/wechaty-daily/daily3.png deleted file mode 100644 index 939b88dd3e1..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily3.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily3.webp b/jekyll/assets/2020/wechaty-daily/daily3.webp new file mode 100644 index 00000000000..ec4852f4e0d Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily3.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily4.png b/jekyll/assets/2020/wechaty-daily/daily4.png deleted file mode 100644 index 505d88fba5e..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily4.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily4.webp b/jekyll/assets/2020/wechaty-daily/daily4.webp new file mode 100644 index 00000000000..1ae7f4cc35e Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily4.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily5.png b/jekyll/assets/2020/wechaty-daily/daily5.png deleted file mode 100644 index 5b522ca3f6a..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily5.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily5.webp b/jekyll/assets/2020/wechaty-daily/daily5.webp new file mode 100644 index 00000000000..619eeb51f37 Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily5.webp differ diff --git a/jekyll/assets/2020/wechaty-daily/daily6.png b/jekyll/assets/2020/wechaty-daily/daily6.png deleted file mode 100644 index 58bb5444bc8..00000000000 Binary files a/jekyll/assets/2020/wechaty-daily/daily6.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-daily/daily6.webp b/jekyll/assets/2020/wechaty-daily/daily6.webp new file mode 100644 index 00000000000..e4299eb3347 Binary files /dev/null and b/jekyll/assets/2020/wechaty-daily/daily6.webp differ diff --git a/jekyll/assets/2020/wechaty-electron/header.png b/jekyll/assets/2020/wechaty-electron/header.png deleted file mode 100644 index e3b321453a3..00000000000 Binary files a/jekyll/assets/2020/wechaty-electron/header.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-electron/header.webp b/jekyll/assets/2020/wechaty-electron/header.webp new file mode 100644 index 00000000000..329aaab8bf1 Binary files /dev/null and b/jekyll/assets/2020/wechaty-electron/header.webp differ diff --git a/jekyll/assets/2020/wechaty-electron/pic01.jpg b/jekyll/assets/2020/wechaty-electron/pic01.jpg deleted file mode 100644 index 655c4ce896b..00000000000 Binary files a/jekyll/assets/2020/wechaty-electron/pic01.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-electron/pic01.webp b/jekyll/assets/2020/wechaty-electron/pic01.webp new file mode 100644 index 00000000000..52f02268a2d Binary files /dev/null and b/jekyll/assets/2020/wechaty-electron/pic01.webp differ diff --git a/jekyll/assets/2020/wechaty-electron/pic02.jpg b/jekyll/assets/2020/wechaty-electron/pic02.jpg deleted file mode 100644 index 8d67ffd8204..00000000000 Binary files a/jekyll/assets/2020/wechaty-electron/pic02.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-electron/pic02.webp b/jekyll/assets/2020/wechaty-electron/pic02.webp new file mode 100644 index 00000000000..407ce6851da Binary files /dev/null and b/jekyll/assets/2020/wechaty-electron/pic02.webp differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/header.jpg b/jekyll/assets/2020/wechaty-english-learning-assistant/header.jpg deleted file mode 100644 index e4b590a3f76..00000000000 Binary files a/jekyll/assets/2020/wechaty-english-learning-assistant/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/header.webp b/jekyll/assets/2020/wechaty-english-learning-assistant/header.webp new file mode 100644 index 00000000000..b193be3bc3a Binary files /dev/null and b/jekyll/assets/2020/wechaty-english-learning-assistant/header.webp differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.jpg b/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.jpg deleted file mode 100644 index 9dbdbb6ba94..00000000000 Binary files a/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.webp b/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.webp new file mode 100644 index 00000000000..95bd79a99c7 Binary files /dev/null and b/jekyll/assets/2020/wechaty-english-learning-assistant/pic01.webp differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.jpg b/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.jpg deleted file mode 100644 index 88593e3eafc..00000000000 Binary files a/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.webp b/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.webp new file mode 100644 index 00000000000..e99e4033487 Binary files /dev/null and b/jekyll/assets/2020/wechaty-english-learning-assistant/pic02.webp differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.jpg b/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.jpg deleted file mode 100644 index a178ae380e1..00000000000 Binary files a/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.webp b/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.webp new file mode 100644 index 00000000000..8159e5e9c6d Binary files /dev/null and b/jekyll/assets/2020/wechaty-english-learning-assistant/pic03.webp differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.jpg b/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.jpg deleted file mode 100644 index 574b58897ab..00000000000 Binary files a/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.webp b/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.webp new file mode 100644 index 00000000000..cec156ec0be Binary files /dev/null and b/jekyll/assets/2020/wechaty-english-learning-assistant/pic04.webp differ diff --git a/jekyll/assets/2020/wechaty-forwardbot/header.png b/jekyll/assets/2020/wechaty-forwardbot/header.png deleted file mode 100644 index 23924addb0b..00000000000 Binary files a/jekyll/assets/2020/wechaty-forwardbot/header.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-forwardbot/header.webp b/jekyll/assets/2020/wechaty-forwardbot/header.webp new file mode 100644 index 00000000000..39852e75242 Binary files /dev/null and b/jekyll/assets/2020/wechaty-forwardbot/header.webp differ diff --git a/jekyll/assets/2020/wechaty-group-chat-robot/demo.jpg b/jekyll/assets/2020/wechaty-group-chat-robot/demo.jpg deleted file mode 100644 index 5bfdb18cc05..00000000000 Binary files a/jekyll/assets/2020/wechaty-group-chat-robot/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-group-chat-robot/demo.webp b/jekyll/assets/2020/wechaty-group-chat-robot/demo.webp new file mode 100644 index 00000000000..bd7f81aaa6b Binary files /dev/null and b/jekyll/assets/2020/wechaty-group-chat-robot/demo.webp differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.jpg b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.jpg deleted file mode 100755 index 5d4e754aa02..00000000000 Binary files a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.webp b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.webp new file mode 100644 index 00000000000..ec88b0cb0ce Binary files /dev/null and b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.webp differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.jpg b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.jpg deleted file mode 100644 index a0194167b04..00000000000 Binary files a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.webp b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.webp new file mode 100644 index 00000000000..df8cec8b92b Binary files /dev/null and b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.webp differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.jpg b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.jpg deleted file mode 100644 index 719d1e0d5d2..00000000000 Binary files a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.webp b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.webp new file mode 100644 index 00000000000..4eee6503050 Binary files /dev/null and b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.webp differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.jpg b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.jpg deleted file mode 100644 index 0a83d0e7753..00000000000 Binary files a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.webp b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.webp new file mode 100644 index 00000000000..1ebe0b9e13c Binary files /dev/null and b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.webp differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.jpg b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.jpg deleted file mode 100755 index bc4377f1584..00000000000 Binary files a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.webp b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.webp new file mode 100644 index 00000000000..95ba6ccff76 Binary files /dev/null and b/jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/archy-demo.gif b/jekyll/assets/2020/wechaty-log-monitor/archy-demo.gif deleted file mode 100644 index ea3c62f266f..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/archy-demo.gif and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/archy-demo.webp b/jekyll/assets/2020/wechaty-log-monitor/archy-demo.webp new file mode 100644 index 00000000000..48ee2361914 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/archy-demo.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/demo.jpeg b/jekyll/assets/2020/wechaty-log-monitor/demo.jpeg deleted file mode 100644 index cff006c94cd..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/demo.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/demo.webp b/jekyll/assets/2020/wechaty-log-monitor/demo.webp new file mode 100644 index 00000000000..105d0499e05 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/demo.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/demo2.jpeg b/jekyll/assets/2020/wechaty-log-monitor/demo2.jpeg deleted file mode 100644 index d054e891060..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/demo2.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/demo2.webp b/jekyll/assets/2020/wechaty-log-monitor/demo2.webp new file mode 100644 index 00000000000..12032dc10a4 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/demo2.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/gtp3.jpeg b/jekyll/assets/2020/wechaty-log-monitor/gtp3.jpeg deleted file mode 100644 index 98933d3c6ed..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/gtp3.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/gtp3.webp b/jekyll/assets/2020/wechaty-log-monitor/gtp3.webp new file mode 100644 index 00000000000..88ac0c59bf8 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/gtp3.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/qr.jpeg b/jekyll/assets/2020/wechaty-log-monitor/qr.jpeg deleted file mode 100644 index 416a662eaa0..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/qr.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/qr.webp b/jekyll/assets/2020/wechaty-log-monitor/qr.webp new file mode 100644 index 00000000000..99f848fa365 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/qr.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/restart.jpeg b/jekyll/assets/2020/wechaty-log-monitor/restart.jpeg deleted file mode 100644 index bef95e3e1b7..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/restart.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/restart.webp b/jekyll/assets/2020/wechaty-log-monitor/restart.webp new file mode 100644 index 00000000000..e23e112080f Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/restart.webp differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/thumbup.jpeg b/jekyll/assets/2020/wechaty-log-monitor/thumbup.jpeg deleted file mode 100644 index a30e948fa0c..00000000000 Binary files a/jekyll/assets/2020/wechaty-log-monitor/thumbup.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-log-monitor/thumbup.webp b/jekyll/assets/2020/wechaty-log-monitor/thumbup.webp new file mode 100644 index 00000000000..beec5bdedb1 Binary files /dev/null and b/jekyll/assets/2020/wechaty-log-monitor/thumbup.webp differ diff --git a/jekyll/assets/2020/wechaty-lottery/lottery-header.jpg b/jekyll/assets/2020/wechaty-lottery/lottery-header.jpg deleted file mode 100644 index a4e4b5146bc..00000000000 Binary files a/jekyll/assets/2020/wechaty-lottery/lottery-header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-lottery/lottery-header.webp b/jekyll/assets/2020/wechaty-lottery/lottery-header.webp new file mode 100644 index 00000000000..4a722935d5f Binary files /dev/null and b/jekyll/assets/2020/wechaty-lottery/lottery-header.webp differ diff --git a/jekyll/assets/2020/wechaty-lottery/pic01.jpg b/jekyll/assets/2020/wechaty-lottery/pic01.jpg deleted file mode 100644 index 99eb809b01d..00000000000 Binary files a/jekyll/assets/2020/wechaty-lottery/pic01.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-lottery/pic01.webp b/jekyll/assets/2020/wechaty-lottery/pic01.webp new file mode 100644 index 00000000000..70435770a37 Binary files /dev/null and b/jekyll/assets/2020/wechaty-lottery/pic01.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.jpg deleted file mode 100644 index c002a841cc5..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.webp b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.webp new file mode 100644 index 00000000000..fb55f77f8f5 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.jpg deleted file mode 100644 index b73fdb5e868..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.webp b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.webp new file mode 100644 index 00000000000..32862e55f1d Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.jpg deleted file mode 100644 index cf4a1be6d4b..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.webp b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.webp new file mode 100644 index 00000000000..d6797ba39ed Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/huan1.png b/jekyll/assets/2020/wechaty-plugin-milestone/huan1.png deleted file mode 100644 index 2ac1d339ea1..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/huan1.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/huan1.webp b/jekyll/assets/2020/wechaty-plugin-milestone/huan1.webp new file mode 100644 index 00000000000..392c4f4ff24 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/huan1.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/huan2.png b/jekyll/assets/2020/wechaty-plugin-milestone/huan2.png deleted file mode 100644 index 0e47fcf0614..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/huan2.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/huan2.webp b/jekyll/assets/2020/wechaty-plugin-milestone/huan2.webp new file mode 100644 index 00000000000..3531a428ad3 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/huan2.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.jpg deleted file mode 100644 index be56d5ab36e..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.webp b/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.webp new file mode 100644 index 00000000000..8a22e75a1b9 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/jessie1.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.jpg deleted file mode 100644 index 8a140ec2112..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.webp b/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.webp new file mode 100644 index 00000000000..8f09d1dc198 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/jessie2.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/plugin.png b/jekyll/assets/2020/wechaty-plugin-milestone/plugin.png deleted file mode 100644 index bd36d65feac..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/plugin.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/plugin.webp b/jekyll/assets/2020/wechaty-plugin-milestone/plugin.webp new file mode 100644 index 00000000000..f836f28ff87 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/plugin.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.jpg deleted file mode 100644 index e7f5aea1970..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.webp b/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.webp new file mode 100644 index 00000000000..340fc805ae1 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/yuan1.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.jpg b/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.jpg deleted file mode 100644 index c74dad9a16c..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.webp b/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.webp new file mode 100644 index 00000000000..2dc7cc1fb1a Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-milestone/yuan2.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-xyao/arc.png b/jekyll/assets/2020/wechaty-plugin-xyao/arc.png deleted file mode 100644 index 2a53e5c8f50..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-xyao/arc.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-xyao/arc.webp b/jekyll/assets/2020/wechaty-plugin-xyao/arc.webp new file mode 100644 index 00000000000..c725276ab6a Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-xyao/arc.webp differ diff --git a/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.png b/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.png deleted file mode 100644 index 8a156b29eb2..00000000000 Binary files a/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.webp b/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.webp new file mode 100644 index 00000000000..841125af031 Binary files /dev/null and b/jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.png b/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.png deleted file mode 100644 index 69312c8ba13..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.webp b/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.webp new file mode 100644 index 00000000000..4f416033a3e Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-dingtalk/logo.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg b/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg deleted file mode 100644 index 5f85caa8c44..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp b/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp new file mode 100644 index 00000000000..ccfa97bf509 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg b/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg deleted file mode 100644 index 275b0520a63..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.webp b/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.webp new file mode 100644 index 00000000000..a82d77b9810 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.jpeg b/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.jpeg deleted file mode 100644 index 275b0520a63..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.webp b/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.webp new file mode 100644 index 00000000000..a82d77b9810 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/architecture.png b/jekyll/assets/2020/wechaty-puppet-maker/architecture.png deleted file mode 100644 index 527ce5917e8..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/architecture.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/architecture.webp b/jekyll/assets/2020/wechaty-puppet-maker/architecture.webp new file mode 100644 index 00000000000..d3568b66031 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/architecture.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/bohao1.jpg b/jekyll/assets/2020/wechaty-puppet-maker/bohao1.jpg deleted file mode 100644 index 2eb602b8d9e..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/bohao1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/bohao1.webp b/jekyll/assets/2020/wechaty-puppet-maker/bohao1.webp new file mode 100644 index 00000000000..c495e13885b Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/bohao1.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/bohao2.jpg b/jekyll/assets/2020/wechaty-puppet-maker/bohao2.jpg deleted file mode 100644 index 5cf855768a8..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/bohao2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/bohao2.webp b/jekyll/assets/2020/wechaty-puppet-maker/bohao2.webp new file mode 100644 index 00000000000..dbb640d2cf4 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/bohao2.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan1.png b/jekyll/assets/2020/wechaty-puppet-maker/huan1.png deleted file mode 100644 index 57cbdfd6fea..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/huan1.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan1.webp b/jekyll/assets/2020/wechaty-puppet-maker/huan1.webp new file mode 100644 index 00000000000..0929bec835c Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/huan1.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan2.png b/jekyll/assets/2020/wechaty-puppet-maker/huan2.png deleted file mode 100644 index c26b4c143a2..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/huan2.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan2.webp b/jekyll/assets/2020/wechaty-puppet-maker/huan2.webp new file mode 100644 index 00000000000..22e559cae0b Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/huan2.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan3.png b/jekyll/assets/2020/wechaty-puppet-maker/huan3.png deleted file mode 100644 index b15fecebf10..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/huan3.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan3.webp b/jekyll/assets/2020/wechaty-puppet-maker/huan3.webp new file mode 100644 index 00000000000..229e5103ccb Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/huan3.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan4.png b/jekyll/assets/2020/wechaty-puppet-maker/huan4.png deleted file mode 100644 index c97216f51ab..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/huan4.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/huan4.webp b/jekyll/assets/2020/wechaty-puppet-maker/huan4.webp new file mode 100644 index 00000000000..45aa1b29082 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/huan4.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/puppet.png b/jekyll/assets/2020/wechaty-puppet-maker/puppet.png deleted file mode 100644 index fd98e773ab4..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/puppet.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/puppet.webp b/jekyll/assets/2020/wechaty-puppet-maker/puppet.webp new file mode 100644 index 00000000000..200e8a188d9 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/puppet.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/suchang1.jpg b/jekyll/assets/2020/wechaty-puppet-maker/suchang1.jpg deleted file mode 100644 index ad79bfe221f..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/suchang1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/suchang1.webp b/jekyll/assets/2020/wechaty-puppet-maker/suchang1.webp new file mode 100644 index 00000000000..503ea77ccd6 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/suchang1.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/suchang2.jpg b/jekyll/assets/2020/wechaty-puppet-maker/suchang2.jpg deleted file mode 100644 index 5f80d286c1a..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/suchang2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/suchang2.webp b/jekyll/assets/2020/wechaty-puppet-maker/suchang2.webp new file mode 100644 index 00000000000..492c9825d41 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/suchang2.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan1.jpg b/jekyll/assets/2020/wechaty-puppet-maker/yuan1.jpg deleted file mode 100644 index 0869075cdef..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/yuan1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan1.webp b/jekyll/assets/2020/wechaty-puppet-maker/yuan1.webp new file mode 100644 index 00000000000..f899d07b007 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/yuan1.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan2.jpg b/jekyll/assets/2020/wechaty-puppet-maker/yuan2.jpg deleted file mode 100644 index 124456e3ae4..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/yuan2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan2.webp b/jekyll/assets/2020/wechaty-puppet-maker/yuan2.webp new file mode 100644 index 00000000000..383d725f6dc Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/yuan2.webp differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan3.jpg b/jekyll/assets/2020/wechaty-puppet-maker/yuan3.jpg deleted file mode 100644 index 1e5c4ecf90a..00000000000 Binary files a/jekyll/assets/2020/wechaty-puppet-maker/yuan3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-puppet-maker/yuan3.webp b/jekyll/assets/2020/wechaty-puppet-maker/yuan3.webp new file mode 100644 index 00000000000..edcbdc0b518 Binary files /dev/null and b/jekyll/assets/2020/wechaty-puppet-maker/yuan3.webp differ diff --git a/jekyll/assets/2020/wechaty-rainbowbot/pic1.png b/jekyll/assets/2020/wechaty-rainbowbot/pic1.png deleted file mode 100644 index b32e8c9257b..00000000000 Binary files a/jekyll/assets/2020/wechaty-rainbowbot/pic1.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-rainbowbot/pic1.webp b/jekyll/assets/2020/wechaty-rainbowbot/pic1.webp new file mode 100644 index 00000000000..88b32289744 Binary files /dev/null and b/jekyll/assets/2020/wechaty-rainbowbot/pic1.webp differ diff --git a/jekyll/assets/2020/wechaty-rainbowbot/rainbow.jpg b/jekyll/assets/2020/wechaty-rainbowbot/rainbow.jpg deleted file mode 100644 index d7054c56e69..00000000000 Binary files a/jekyll/assets/2020/wechaty-rainbowbot/rainbow.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-rainbowbot/rainbow.webp b/jekyll/assets/2020/wechaty-rainbowbot/rainbow.webp new file mode 100644 index 00000000000..5abf94f234c Binary files /dev/null and b/jekyll/assets/2020/wechaty-rainbowbot/rainbow.webp differ diff --git a/jekyll/assets/2020/wechaty-shenzhen-meetup/book.jpg b/jekyll/assets/2020/wechaty-shenzhen-meetup/book.jpg deleted file mode 100644 index f975c5b9be5..00000000000 Binary files a/jekyll/assets/2020/wechaty-shenzhen-meetup/book.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-shenzhen-meetup/book.webp b/jekyll/assets/2020/wechaty-shenzhen-meetup/book.webp new file mode 100644 index 00000000000..46b7fd7eae0 Binary files /dev/null and b/jekyll/assets/2020/wechaty-shenzhen-meetup/book.webp differ diff --git a/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg b/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg deleted file mode 100644 index 8f11f02b061..00000000000 Binary files a/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.webp b/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.webp new file mode 100644 index 00000000000..162b31e2ee5 Binary files /dev/null and b/jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.webp differ diff --git a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.png b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.png deleted file mode 100644 index c5ca27c122c..00000000000 Binary files a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.webp b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.webp new file mode 100644 index 00000000000..d084f5399db Binary files /dev/null and b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.webp differ diff --git a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.png b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.png deleted file mode 100644 index cfea0dad2ff..00000000000 Binary files a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.webp b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.webp new file mode 100644 index 00000000000..15acedeef7e Binary files /dev/null and b/jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.webp differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.png b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.png deleted file mode 100644 index a0c807773fe..00000000000 Binary files a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.webp b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.webp new file mode 100644 index 00000000000..2b690c2d7f4 Binary files /dev/null and b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.webp differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.png b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.png deleted file mode 100644 index 18c64fd3cc9..00000000000 Binary files a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.webp b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.webp new file mode 100644 index 00000000000..a55c606200a Binary files /dev/null and b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.webp differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.png b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.png deleted file mode 100644 index a8c05ffaa52..00000000000 Binary files a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.webp b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.webp new file mode 100644 index 00000000000..6b9def2d57d Binary files /dev/null and b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.webp differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.png b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.png deleted file mode 100644 index 18c64fd3cc9..00000000000 Binary files a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.webp b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.webp new file mode 100644 index 00000000000..a55c606200a Binary files /dev/null and b/jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.webp differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/header.jpg b/jekyll/assets/2020/wechaty-stock-bot/header.jpg deleted file mode 100644 index 2a9a0920575..00000000000 Binary files a/jekyll/assets/2020/wechaty-stock-bot/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/header.webp b/jekyll/assets/2020/wechaty-stock-bot/header.webp new file mode 100644 index 00000000000..58471d36829 Binary files /dev/null and b/jekyll/assets/2020/wechaty-stock-bot/header.webp differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/pic01.png b/jekyll/assets/2020/wechaty-stock-bot/pic01.png deleted file mode 100644 index a0d5bb264f6..00000000000 Binary files a/jekyll/assets/2020/wechaty-stock-bot/pic01.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/pic01.webp b/jekyll/assets/2020/wechaty-stock-bot/pic01.webp new file mode 100644 index 00000000000..64c321f7897 Binary files /dev/null and b/jekyll/assets/2020/wechaty-stock-bot/pic01.webp differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/pic02.png b/jekyll/assets/2020/wechaty-stock-bot/pic02.png deleted file mode 100644 index c2d30cbc553..00000000000 Binary files a/jekyll/assets/2020/wechaty-stock-bot/pic02.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-stock-bot/pic02.webp b/jekyll/assets/2020/wechaty-stock-bot/pic02.webp new file mode 100644 index 00000000000..991f098cad0 Binary files /dev/null and b/jekyll/assets/2020/wechaty-stock-bot/pic02.webp differ diff --git a/jekyll/assets/2020/wechaty-subscription-bot/teaser.png b/jekyll/assets/2020/wechaty-subscription-bot/teaser.png deleted file mode 100755 index ac2455954be..00000000000 Binary files a/jekyll/assets/2020/wechaty-subscription-bot/teaser.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-subscription-bot/teaser.webp b/jekyll/assets/2020/wechaty-subscription-bot/teaser.webp new file mode 100644 index 00000000000..dcbdb0afb73 Binary files /dev/null and b/jekyll/assets/2020/wechaty-subscription-bot/teaser.webp differ diff --git a/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.jpg b/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.jpg deleted file mode 100644 index cf99febd17f..00000000000 Binary files a/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.webp b/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.webp new file mode 100644 index 00000000000..ad453a8b1db Binary files /dev/null and b/jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.webp differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.jpg b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.jpg deleted file mode 100644 index 4082b9566e5..00000000000 Binary files a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.webp b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.webp new file mode 100644 index 00000000000..1d1fcbda4a1 Binary files /dev/null and b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.webp differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.jpg b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.jpg deleted file mode 100644 index a299e6f3d60..00000000000 Binary files a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.webp b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.webp new file mode 100644 index 00000000000..3e963f7175c Binary files /dev/null and b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.webp differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.jpg b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.jpg deleted file mode 100644 index b8c68cdd94f..00000000000 Binary files a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.webp b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.webp new file mode 100644 index 00000000000..889e8c83c57 Binary files /dev/null and b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.webp differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.jpg b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.jpg deleted file mode 100644 index 10876a7ba11..00000000000 Binary files a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.webp b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.webp new file mode 100644 index 00000000000..f01eaee2a6f Binary files /dev/null and b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.webp differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.jpg b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.jpg deleted file mode 100644 index 28aea7d7efc..00000000000 Binary files a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.webp b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.webp new file mode 100644 index 00000000000..fd40ac97d48 Binary files /dev/null and b/jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.webp differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.jpg b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.jpg deleted file mode 100755 index aea158bf9f8..00000000000 Binary files a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.webp b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.webp new file mode 100644 index 00000000000..de6a96e893d Binary files /dev/null and b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.webp differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.jpg b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.jpg deleted file mode 100755 index e23768d5bbf..00000000000 Binary files a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.webp b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.webp new file mode 100644 index 00000000000..1c4db9aceaa Binary files /dev/null and b/jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.webp differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.jpg b/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.jpg deleted file mode 100755 index 612a790adb2..00000000000 Binary files a/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.webp b/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.webp new file mode 100644 index 00000000000..6833009269e Binary files /dev/null and b/jekyll/assets/2020/wechaty-teamin-chatbot/home-01.webp differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/structure.png b/jekyll/assets/2020/wechaty-teamin-chatbot/structure.png deleted file mode 100644 index 66d1b870350..00000000000 Binary files a/jekyll/assets/2020/wechaty-teamin-chatbot/structure.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/structure.webp b/jekyll/assets/2020/wechaty-teamin-chatbot/structure.webp new file mode 100644 index 00000000000..63bec36f4ff Binary files /dev/null and b/jekyll/assets/2020/wechaty-teamin-chatbot/structure.webp differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.png b/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.png deleted file mode 100644 index 41fc1c941e3..00000000000 Binary files a/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.webp b/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.webp new file mode 100644 index 00000000000..95eecad5909 Binary files /dev/null and b/jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.webp differ diff --git a/jekyll/assets/2020/wechaty-twitter2wechat/core-code.jpg b/jekyll/assets/2020/wechaty-twitter2wechat/core-code.jpg deleted file mode 100644 index 171bcd9fe98..00000000000 Binary files a/jekyll/assets/2020/wechaty-twitter2wechat/core-code.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-twitter2wechat/core-code.webp b/jekyll/assets/2020/wechaty-twitter2wechat/core-code.webp new file mode 100644 index 00000000000..f13c1a8ccd4 Binary files /dev/null and b/jekyll/assets/2020/wechaty-twitter2wechat/core-code.webp differ diff --git a/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg b/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg deleted file mode 100644 index e3f38fc89ec..00000000000 Binary files a/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.webp b/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.webp new file mode 100644 index 00000000000..62c147f05f2 Binary files /dev/null and b/jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.jpg b/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.jpg deleted file mode 100644 index 8f64bc336db..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.webp b/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.webp new file mode 100644 index 00000000000..6b7da880c7f Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.jpg b/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.jpg deleted file mode 100644 index 0378bb4d385..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.webp b/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.webp new file mode 100644 index 00000000000..68c74cd96e2 Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.jpg b/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.jpg deleted file mode 100644 index 66cf8674ab7..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.webp b/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.webp new file mode 100644 index 00000000000..d86b5cf87d6 Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/openai-banner.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-config.jpg b/jekyll/assets/2020/wechaty-weixin-openai/openai-config.jpg deleted file mode 100644 index ed12c66834b..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/openai-config.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-config.webp b/jekyll/assets/2020/wechaty-weixin-openai/openai-config.webp new file mode 100644 index 00000000000..d6c4c9cf3fd Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/openai-config.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.jpg b/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.jpg deleted file mode 100644 index 9857c567c3c..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.webp b/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.webp new file mode 100644 index 00000000000..cf2f2cc3882 Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/openai-qna.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.jpg b/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.jpg deleted file mode 100644 index 2ea62f61788..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.webp b/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.webp new file mode 100644 index 00000000000..8fbf2fc2ea0 Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.webp differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.png b/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.png deleted file mode 100644 index c352e85b010..00000000000 Binary files a/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.webp b/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.webp new file mode 100644 index 00000000000..8291f355c90 Binary files /dev/null and b/jekyll/assets/2020/wechaty-weixin-openai/teaser-image.webp differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.png b/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.png deleted file mode 100644 index 09f59df7be2..00000000000 Binary files a/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.webp b/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.webp new file mode 100644 index 00000000000..02ce38a7fc2 Binary files /dev/null and b/jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.webp differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.png b/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.png deleted file mode 100644 index 8879732b21d..00000000000 Binary files a/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.png and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.webp b/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.webp new file mode 100644 index 00000000000..722397eb48f Binary files /dev/null and b/jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.webp differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.jpg b/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.jpg deleted file mode 100644 index bf191a62c8f..00000000000 Binary files a/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.webp b/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.webp new file mode 100644 index 00000000000..58d5aa4b99a Binary files /dev/null and b/jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.webp differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.jpg b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.jpg deleted file mode 100644 index 18662c1e6e5..00000000000 Binary files a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.webp b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.webp new file mode 100644 index 00000000000..63afbdb6eb4 Binary files /dev/null and b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.webp differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.jpg b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.jpg deleted file mode 100644 index 550dadd9191..00000000000 Binary files a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.webp b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.webp new file mode 100644 index 00000000000..d813575c13e Binary files /dev/null and b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.webp differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.jpg b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.jpg deleted file mode 100644 index 8e75796797b..00000000000 Binary files a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.webp b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.webp new file mode 100644 index 00000000000..52750f655af Binary files /dev/null and b/jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.webp differ diff --git a/jekyll/assets/2020/wetchat-bot-chat/demo.jpg b/jekyll/assets/2020/wetchat-bot-chat/demo.jpg deleted file mode 100644 index 2aa61ea140d..00000000000 Binary files a/jekyll/assets/2020/wetchat-bot-chat/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wetchat-bot-chat/demo.webp b/jekyll/assets/2020/wetchat-bot-chat/demo.webp new file mode 100644 index 00000000000..cbaf4cf7b6c Binary files /dev/null and b/jekyll/assets/2020/wetchat-bot-chat/demo.webp differ diff --git a/jekyll/assets/2020/when-bus-come/teaser.jpg b/jekyll/assets/2020/when-bus-come/teaser.jpg deleted file mode 100644 index b5e9525ff9b..00000000000 Binary files a/jekyll/assets/2020/when-bus-come/teaser.jpg and /dev/null differ diff --git a/jekyll/assets/2020/when-bus-come/teaser.webp b/jekyll/assets/2020/when-bus-come/teaser.webp new file mode 100644 index 00000000000..4175bd3e6e3 Binary files /dev/null and b/jekyll/assets/2020/when-bus-come/teaser.webp differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.png b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.png deleted file mode 100644 index 64c263a077e..00000000000 Binary files a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.png and /dev/null differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.webp b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.webp new file mode 100644 index 00000000000..7afc5f07a1d Binary files /dev/null and b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.webp differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.jpg b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.jpg deleted file mode 100644 index 5b29d535547..00000000000 Binary files a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.webp b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.webp new file mode 100644 index 00000000000..1023fa70ef5 Binary files /dev/null and b/jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.webp differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.png b/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.png deleted file mode 100644 index e0023d07137..00000000000 Binary files a/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.png and /dev/null differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.webp b/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.webp new file mode 100644 index 00000000000..18110700ad8 Binary files /dev/null and b/jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.webp differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.png b/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.png deleted file mode 100644 index 6b271152495..00000000000 Binary files a/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.png and /dev/null differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.webp b/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.webp new file mode 100644 index 00000000000..b868e355f5f Binary files /dev/null and b/jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.webp differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.png b/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.png deleted file mode 100644 index b0169d7c774..00000000000 Binary files a/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.png and /dev/null differ diff --git a/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.webp b/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.webp new file mode 100644 index 00000000000..74a9e65b7a6 Binary files /dev/null and b/jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.webp differ diff --git a/jekyll/assets/2020/work-puppet/pic.jpg b/jekyll/assets/2020/work-puppet/pic.jpg deleted file mode 100644 index eee30670cfb..00000000000 Binary files a/jekyll/assets/2020/work-puppet/pic.jpg and /dev/null differ diff --git a/jekyll/assets/2020/work-puppet/pic.webp b/jekyll/assets/2020/work-puppet/pic.webp new file mode 100644 index 00000000000..3e0181a26b9 Binary files /dev/null and b/jekyll/assets/2020/work-puppet/pic.webp differ diff --git a/jekyll/assets/2020/work-puppet/pic2.jpg b/jekyll/assets/2020/work-puppet/pic2.jpg deleted file mode 100644 index 32a587ed6a1..00000000000 Binary files a/jekyll/assets/2020/work-puppet/pic2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/work-puppet/pic2.webp b/jekyll/assets/2020/work-puppet/pic2.webp new file mode 100644 index 00000000000..2fa7382801e Binary files /dev/null and b/jekyll/assets/2020/work-puppet/pic2.webp differ diff --git a/jekyll/assets/2020/work-puppet/pic3.jpg b/jekyll/assets/2020/work-puppet/pic3.jpg deleted file mode 100644 index 32a587ed6a1..00000000000 Binary files a/jekyll/assets/2020/work-puppet/pic3.jpg and /dev/null differ diff --git a/jekyll/assets/2020/work-puppet/pic3.webp b/jekyll/assets/2020/work-puppet/pic3.webp new file mode 100644 index 00000000000..2fa7382801e Binary files /dev/null and b/jekyll/assets/2020/work-puppet/pic3.webp differ diff --git a/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.jpg b/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.jpg deleted file mode 100644 index 8af19206cf6..00000000000 Binary files a/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.webp b/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.webp new file mode 100644 index 00000000000..1ae06ff2bd4 Binary files /dev/null and b/jekyll/assets/2020/wx-group-assistant-bot/wx-bot.webp differ diff --git a/jekyll/assets/2020/wxbot-admin/admin.png b/jekyll/assets/2020/wxbot-admin/admin.png deleted file mode 100755 index 628e1955585..00000000000 Binary files a/jekyll/assets/2020/wxbot-admin/admin.png and /dev/null differ diff --git a/jekyll/assets/2020/wxbot-admin/admin.webp b/jekyll/assets/2020/wxbot-admin/admin.webp new file mode 100644 index 00000000000..c6a2bcbabe5 Binary files /dev/null and b/jekyll/assets/2020/wxbot-admin/admin.webp differ diff --git a/jekyll/assets/2020/wxbot-admin/screenshot.png b/jekyll/assets/2020/wxbot-admin/screenshot.png deleted file mode 100755 index 073da32960d..00000000000 Binary files a/jekyll/assets/2020/wxbot-admin/screenshot.png and /dev/null differ diff --git a/jekyll/assets/2020/wxbot-admin/screenshot.webp b/jekyll/assets/2020/wxbot-admin/screenshot.webp new file mode 100644 index 00000000000..1415f54e1fa Binary files /dev/null and b/jekyll/assets/2020/wxbot-admin/screenshot.webp differ diff --git a/jekyll/assets/2020/wxbot/admin1.jpg b/jekyll/assets/2020/wxbot/admin1.jpg deleted file mode 100644 index f467fa99509..00000000000 Binary files a/jekyll/assets/2020/wxbot/admin1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/admin1.webp b/jekyll/assets/2020/wxbot/admin1.webp new file mode 100644 index 00000000000..7e1d500a782 Binary files /dev/null and b/jekyll/assets/2020/wxbot/admin1.webp differ diff --git a/jekyll/assets/2020/wxbot/err1.jpg b/jekyll/assets/2020/wxbot/err1.jpg deleted file mode 100644 index e5569a2ba1c..00000000000 Binary files a/jekyll/assets/2020/wxbot/err1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/err1.webp b/jekyll/assets/2020/wxbot/err1.webp new file mode 100644 index 00000000000..4f01c3ad975 Binary files /dev/null and b/jekyll/assets/2020/wxbot/err1.webp differ diff --git a/jekyll/assets/2020/wxbot/qrcode.png b/jekyll/assets/2020/wxbot/qrcode.png deleted file mode 100644 index f8f9361d326..00000000000 Binary files a/jekyll/assets/2020/wxbot/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/qrcode.webp b/jekyll/assets/2020/wxbot/qrcode.webp new file mode 100644 index 00000000000..7e036b210fa Binary files /dev/null and b/jekyll/assets/2020/wxbot/qrcode.webp differ diff --git a/jekyll/assets/2020/wxbot/wx0.jpg b/jekyll/assets/2020/wxbot/wx0.jpg deleted file mode 100644 index 21984fd9fb4..00000000000 Binary files a/jekyll/assets/2020/wxbot/wx0.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/wx0.webp b/jekyll/assets/2020/wxbot/wx0.webp new file mode 100644 index 00000000000..2051ffef205 Binary files /dev/null and b/jekyll/assets/2020/wxbot/wx0.webp differ diff --git a/jekyll/assets/2020/wxbot/wx1.jpg b/jekyll/assets/2020/wxbot/wx1.jpg deleted file mode 100644 index 9d22efccb34..00000000000 Binary files a/jekyll/assets/2020/wxbot/wx1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/wx1.webp b/jekyll/assets/2020/wxbot/wx1.webp new file mode 100644 index 00000000000..f09b1dc37c0 Binary files /dev/null and b/jekyll/assets/2020/wxbot/wx1.webp differ diff --git a/jekyll/assets/2020/wxbot/wx2.jpg b/jekyll/assets/2020/wxbot/wx2.jpg deleted file mode 100644 index 5caeedeaeb1..00000000000 Binary files a/jekyll/assets/2020/wxbot/wx2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/wxbot/wx2.webp b/jekyll/assets/2020/wxbot/wx2.webp new file mode 100644 index 00000000000..73abfc56543 Binary files /dev/null and b/jekyll/assets/2020/wxbot/wx2.webp differ diff --git a/jekyll/assets/2020/yanbot/yanbot.jpg b/jekyll/assets/2020/yanbot/yanbot.jpg deleted file mode 100644 index 0df4df616b0..00000000000 Binary files a/jekyll/assets/2020/yanbot/yanbot.jpg and /dev/null differ diff --git a/jekyll/assets/2020/yanbot/yanbot.webp b/jekyll/assets/2020/yanbot/yanbot.webp new file mode 100644 index 00000000000..bd68a020f2b Binary files /dev/null and b/jekyll/assets/2020/yanbot/yanbot.webp differ diff --git a/jekyll/assets/2020/yibot/1.jpg b/jekyll/assets/2020/yibot/1.jpg deleted file mode 100644 index daebe871b1f..00000000000 Binary files a/jekyll/assets/2020/yibot/1.jpg and /dev/null differ diff --git a/jekyll/assets/2020/yibot/1.webp b/jekyll/assets/2020/yibot/1.webp new file mode 100644 index 00000000000..4c1a0d6693b Binary files /dev/null and b/jekyll/assets/2020/yibot/1.webp differ diff --git a/jekyll/assets/2020/yibot/2.jpg b/jekyll/assets/2020/yibot/2.jpg deleted file mode 100644 index a89ea20907d..00000000000 Binary files a/jekyll/assets/2020/yibot/2.jpg and /dev/null differ diff --git a/jekyll/assets/2020/yibot/2.webp b/jekyll/assets/2020/yibot/2.webp new file mode 100644 index 00000000000..bc71e8c5889 Binary files /dev/null and b/jekyll/assets/2020/yibot/2.webp differ diff --git a/jekyll/assets/2020/youdao-plugin/1.jpeg b/jekyll/assets/2020/youdao-plugin/1.jpeg deleted file mode 100644 index d67cd2aed0f..00000000000 Binary files a/jekyll/assets/2020/youdao-plugin/1.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/youdao-plugin/1.webp b/jekyll/assets/2020/youdao-plugin/1.webp new file mode 100644 index 00000000000..7555a1de4e4 Binary files /dev/null and b/jekyll/assets/2020/youdao-plugin/1.webp differ diff --git a/jekyll/assets/2020/youdao-plugin/head.jpeg b/jekyll/assets/2020/youdao-plugin/head.jpeg deleted file mode 100644 index a3c09041e66..00000000000 Binary files a/jekyll/assets/2020/youdao-plugin/head.jpeg and /dev/null differ diff --git a/jekyll/assets/2020/youdao-plugin/head.webp b/jekyll/assets/2020/youdao-plugin/head.webp new file mode 100644 index 00000000000..1eb34cbe3d3 Binary files /dev/null and b/jekyll/assets/2020/youdao-plugin/head.webp differ diff --git a/jekyll/assets/2020/your-wechat-bot/banner.png b/jekyll/assets/2020/your-wechat-bot/banner.png deleted file mode 100644 index 1475127dc49..00000000000 Binary files a/jekyll/assets/2020/your-wechat-bot/banner.png and /dev/null differ diff --git a/jekyll/assets/2020/your-wechat-bot/banner.webp b/jekyll/assets/2020/your-wechat-bot/banner.webp new file mode 100644 index 00000000000..4986c86d09d Binary files /dev/null and b/jekyll/assets/2020/your-wechat-bot/banner.webp differ diff --git a/jekyll/assets/2020/your-wechat-bot/demo.gif b/jekyll/assets/2020/your-wechat-bot/demo.gif deleted file mode 100644 index e900dd62c2a..00000000000 Binary files a/jekyll/assets/2020/your-wechat-bot/demo.gif and /dev/null differ diff --git a/jekyll/assets/2020/your-wechat-bot/demo.webp b/jekyll/assets/2020/your-wechat-bot/demo.webp new file mode 100644 index 00000000000..4faa9be38cd Binary files /dev/null and b/jekyll/assets/2020/your-wechat-bot/demo.webp differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg deleted file mode 100644 index 7b4e1352f73..00000000000 Binary files a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg and /dev/null differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.webp b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.webp new file mode 100644 index 00000000000..0799320ecc0 Binary files /dev/null and b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.webp differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg deleted file mode 100644 index 8825b8f213f..00000000000 Binary files a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg and /dev/null differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.webp b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.webp new file mode 100644 index 00000000000..36b74f90b4e Binary files /dev/null and b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.webp differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg deleted file mode 100644 index 8b41bb3665f..00000000000 Binary files a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg and /dev/null differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.webp b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.webp new file mode 100644 index 00000000000..f0d6a18c4b3 Binary files /dev/null and b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.webp differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg deleted file mode 100644 index 04897bb8971..00000000000 Binary files a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.webp b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.webp new file mode 100644 index 00000000000..cc1902bbd54 Binary files /dev/null and b/jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.webp differ diff --git a/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.png b/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.png deleted file mode 100644 index dd22eb7acfa..00000000000 Binary files a/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.webp b/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.webp new file mode 100644 index 00000000000..4c9b47499c7 Binary files /dev/null and b/jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.webp differ diff --git a/jekyll/assets/2021/01-summer-2020-summit-okr/goal.png b/jekyll/assets/2021/01-summer-2020-summit-okr/goal.png deleted file mode 100644 index 3d4368f5ed8..00000000000 Binary files a/jekyll/assets/2021/01-summer-2020-summit-okr/goal.png and /dev/null differ diff --git a/jekyll/assets/2021/01-summer-2020-summit-okr/goal.webp b/jekyll/assets/2021/01-summer-2020-summit-okr/goal.webp new file mode 100644 index 00000000000..22e8e9b7693 Binary files /dev/null and b/jekyll/assets/2021/01-summer-2020-summit-okr/goal.webp differ diff --git a/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.png b/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.png deleted file mode 100644 index 5d13acca26e..00000000000 Binary files a/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.png and /dev/null differ diff --git a/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.webp b/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.webp new file mode 100644 index 00000000000..585b055d857 Binary files /dev/null and b/jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.webp differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/1.png b/jekyll/assets/2021/01-wechaty-charbot-lite/1.png deleted file mode 100644 index ecd36783320..00000000000 Binary files a/jekyll/assets/2021/01-wechaty-charbot-lite/1.png and /dev/null differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/1.webp b/jekyll/assets/2021/01-wechaty-charbot-lite/1.webp new file mode 100644 index 00000000000..ee9515fd2f4 Binary files /dev/null and b/jekyll/assets/2021/01-wechaty-charbot-lite/1.webp differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/2.png b/jekyll/assets/2021/01-wechaty-charbot-lite/2.png deleted file mode 100644 index 0b2a2002669..00000000000 Binary files a/jekyll/assets/2021/01-wechaty-charbot-lite/2.png and /dev/null differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/2.webp b/jekyll/assets/2021/01-wechaty-charbot-lite/2.webp new file mode 100644 index 00000000000..67c6c520942 Binary files /dev/null and b/jekyll/assets/2021/01-wechaty-charbot-lite/2.webp differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/3.png b/jekyll/assets/2021/01-wechaty-charbot-lite/3.png deleted file mode 100644 index 8999f8e1c63..00000000000 Binary files a/jekyll/assets/2021/01-wechaty-charbot-lite/3.png and /dev/null differ diff --git a/jekyll/assets/2021/01-wechaty-charbot-lite/3.webp b/jekyll/assets/2021/01-wechaty-charbot-lite/3.webp new file mode 100644 index 00000000000..289de7c271e Binary files /dev/null and b/jekyll/assets/2021/01-wechaty-charbot-lite/3.webp differ diff --git a/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.jpg b/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.jpg deleted file mode 100644 index 556c4d3d48d..00000000000 Binary files a/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.jpg and /dev/null differ diff --git a/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.webp b/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.webp new file mode 100644 index 00000000000..9c356ab0791 Binary files /dev/null and b/jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.webp differ diff --git a/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.jpg b/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.jpg deleted file mode 100644 index 1f32980fc43..00000000000 Binary files a/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.jpg and /dev/null differ diff --git a/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.webp b/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.webp new file mode 100644 index 00000000000..96978e0e68f Binary files /dev/null and b/jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.webp differ diff --git a/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.png b/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.png deleted file mode 100644 index d5a82f86ce9..00000000000 Binary files a/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.png and /dev/null differ diff --git a/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.webp b/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.webp new file mode 100644 index 00000000000..ab6018631a7 Binary files /dev/null and b/jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.webp differ diff --git a/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.png b/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.png deleted file mode 100644 index 06710dc3bda..00000000000 Binary files a/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.png and /dev/null differ diff --git a/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.webp b/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.webp new file mode 100644 index 00000000000..1eb7c5c7785 Binary files /dev/null and b/jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.webp differ diff --git a/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.png b/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.png deleted file mode 100644 index 42f4ee90c29..00000000000 Binary files a/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.png and /dev/null differ diff --git a/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.webp b/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.webp new file mode 100644 index 00000000000..dc3ec6f46e1 Binary files /dev/null and b/jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.webp differ diff --git a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.png b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.png deleted file mode 100644 index 1736ba1310b..00000000000 Binary files a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.png and /dev/null differ diff --git a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.webp b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.webp new file mode 100644 index 00000000000..350a0fd8d55 Binary files /dev/null and b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.webp differ diff --git a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.png b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.png deleted file mode 100644 index 3690c50dada..00000000000 Binary files a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.png and /dev/null differ diff --git a/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.webp b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.webp new file mode 100644 index 00000000000..223da1d0399 Binary files /dev/null and b/jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.webp differ diff --git a/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.png b/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.png deleted file mode 100644 index 8236b5a417d..00000000000 Binary files a/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.png and /dev/null differ diff --git a/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.webp b/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.webp new file mode 100644 index 00000000000..a28f2e69f7a Binary files /dev/null and b/jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.webp differ diff --git a/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.jpg b/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.jpg deleted file mode 100755 index 06caef4162c..00000000000 Binary files a/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.jpg and /dev/null differ diff --git a/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.webp b/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.webp new file mode 100644 index 00000000000..2c2453f7218 Binary files /dev/null and b/jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.webp differ diff --git a/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.jpg b/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.jpg deleted file mode 100644 index 5c01af2296a..00000000000 Binary files a/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.jpg and /dev/null differ diff --git a/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.webp b/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.webp new file mode 100644 index 00000000000..b3969d80b45 Binary files /dev/null and b/jekyll/assets/2021/02-wechat-chatroom-assistant/demo.webp differ diff --git a/jekyll/assets/2021/02-wechat-chatroom-assistant/header.jpg b/jekyll/assets/2021/02-wechat-chatroom-assistant/header.jpg deleted file mode 100644 index 5c01af2296a..00000000000 Binary files a/jekyll/assets/2021/02-wechat-chatroom-assistant/header.jpg and /dev/null differ diff --git a/jekyll/assets/2021/02-wechat-chatroom-assistant/header.webp b/jekyll/assets/2021/02-wechat-chatroom-assistant/header.webp new file mode 100644 index 00000000000..b3969d80b45 Binary files /dev/null and b/jekyll/assets/2021/02-wechat-chatroom-assistant/header.webp differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png deleted file mode 100644 index d94da21174f..00000000000 Binary files a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png and /dev/null differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.webp b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.webp new file mode 100644 index 00000000000..6202114f7a9 Binary files /dev/null and b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.webp differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.png b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.png deleted file mode 100644 index 248cf2f8929..00000000000 Binary files a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.png and /dev/null differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.webp b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.webp new file mode 100644 index 00000000000..48f75f515a3 Binary files /dev/null and b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.webp differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.png b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.png deleted file mode 100644 index accef52ce4e..00000000000 Binary files a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.png and /dev/null differ diff --git a/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.webp b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.webp new file mode 100644 index 00000000000..946ef1cbf93 Binary files /dev/null and b/jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.webp differ diff --git a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png deleted file mode 100644 index 88e60165fde..00000000000 Binary files a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png and /dev/null differ diff --git a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.webp b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.webp new file mode 100644 index 00000000000..8c4e8cfeb65 Binary files /dev/null and b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.webp differ diff --git a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.png b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.png deleted file mode 100644 index 779202736f9..00000000000 Binary files a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.png and /dev/null differ diff --git a/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.webp b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.webp new file mode 100644 index 00000000000..e0c32212ab5 Binary files /dev/null and b/jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.jpeg deleted file mode 100644 index 0f989f3ac3e..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.webp new file mode 100644 index 00000000000..6283b1a3107 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.jpeg deleted file mode 100644 index addca784bbf..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.webp new file mode 100644 index 00000000000..805fb30fb1b Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.jpeg deleted file mode 100644 index 6e7f8094f7a..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.webp new file mode 100644 index 00000000000..bdbcbe4a268 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.jpeg deleted file mode 100644 index 11379486432..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.webp new file mode 100644 index 00000000000..ca30260bc98 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.jpeg deleted file mode 100644 index 945d849e219..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.webp new file mode 100644 index 00000000000..d15c6212b9d Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.jpeg deleted file mode 100644 index 6f8a851d400..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.webp new file mode 100644 index 00000000000..8ce92fe5ddc Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.jpeg deleted file mode 100644 index 511d22c832b..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.webp new file mode 100644 index 00000000000..eb85afbb276 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.jpeg deleted file mode 100644 index ef9b81a200b..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.webp new file mode 100644 index 00000000000..bdc2e0543b7 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.jpeg deleted file mode 100644 index 016841dde89..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.webp new file mode 100644 index 00000000000..76ba8cf286b Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.jpeg b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.jpeg deleted file mode 100644 index b9a122606c6..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.webp new file mode 100644 index 00000000000..4c43a5bd239 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.webp differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png deleted file mode 100644 index 3be79705bd9..00000000000 Binary files a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png and /dev/null differ diff --git a/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.webp b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.webp new file mode 100644 index 00000000000..d466488ba99 Binary files /dev/null and b/jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.webp differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.png b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.png deleted file mode 100644 index d543d014a69..00000000000 Binary files a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.png and /dev/null differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.webp b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.webp new file mode 100644 index 00000000000..0aa8d0211f8 Binary files /dev/null and b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.webp differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.png b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.png deleted file mode 100644 index 6c0adc6f362..00000000000 Binary files a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.png and /dev/null differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.webp b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.webp new file mode 100644 index 00000000000..84b5ac83661 Binary files /dev/null and b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.webp differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.png b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.png deleted file mode 100644 index 8236b5a417d..00000000000 Binary files a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.png and /dev/null differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.webp b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.webp new file mode 100644 index 00000000000..a28f2e69f7a Binary files /dev/null and b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.webp differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.png b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.png deleted file mode 100644 index 89b761e73a7..00000000000 Binary files a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.webp b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.webp new file mode 100644 index 00000000000..93d1f0bb0d9 Binary files /dev/null and b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.webp differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.png b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.png deleted file mode 100644 index 1abd6e38d40..00000000000 Binary files a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.png and /dev/null differ diff --git a/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.webp b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.webp new file mode 100644 index 00000000000..8fa6bf531fd Binary files /dev/null and b/jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.webp differ diff --git a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg deleted file mode 100644 index 34cf46ef254..00000000000 Binary files a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.webp b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.webp new file mode 100644 index 00000000000..755a30a2ba1 Binary files /dev/null and b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.webp differ diff --git a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.png b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.png deleted file mode 100644 index 1bf951b2c80..00000000000 Binary files a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.png and /dev/null differ diff --git a/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.webp b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.webp new file mode 100644 index 00000000000..dc589687639 Binary files /dev/null and b/jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.webp differ diff --git a/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.png b/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.png deleted file mode 100644 index 8295dd96404..00000000000 Binary files a/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.png and /dev/null differ diff --git a/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.webp b/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.webp new file mode 100644 index 00000000000..95c18eb264e Binary files /dev/null and b/jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.webp differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png deleted file mode 100644 index 13bc616c18b..00000000000 Binary files a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png and /dev/null differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.webp b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.webp new file mode 100644 index 00000000000..24ac5f693c1 Binary files /dev/null and b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.webp differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.png b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.png deleted file mode 100644 index 2a6a80a8b14..00000000000 Binary files a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.png and /dev/null differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.webp b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.webp new file mode 100644 index 00000000000..128f8c6bdc9 Binary files /dev/null and b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.webp differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.png b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.png deleted file mode 100644 index c18ed9db88e..00000000000 Binary files a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.png and /dev/null differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.webp b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.webp new file mode 100644 index 00000000000..48f80eb14af Binary files /dev/null and b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.webp differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.png b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.png deleted file mode 100644 index 0c7ebc9458a..00000000000 Binary files a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.png and /dev/null differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.webp b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.webp new file mode 100644 index 00000000000..eecf7ed854a Binary files /dev/null and b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.webp differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.png b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.png deleted file mode 100644 index d51d25ba486..00000000000 Binary files a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.png and /dev/null differ diff --git a/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.webp b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.webp new file mode 100644 index 00000000000..aedb7c297cc Binary files /dev/null and b/jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.webp differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.jpeg b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.jpeg deleted file mode 100644 index d05ad62ca35..00000000000 Binary files a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.webp b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.webp new file mode 100644 index 00000000000..42f0ae05673 Binary files /dev/null and b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.webp differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.jpg b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.jpg deleted file mode 100644 index 2a9beb05169..00000000000 Binary files a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.jpg and /dev/null differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.webp b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.webp new file mode 100644 index 00000000000..af56daa2a3a Binary files /dev/null and b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.webp differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg deleted file mode 100644 index d1f747b76f2..00000000000 Binary files a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg and /dev/null differ diff --git a/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.webp b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.webp new file mode 100644 index 00000000000..1e71e49ca11 Binary files /dev/null and b/jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.webp differ diff --git a/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png b/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png deleted file mode 100644 index 9a964d54305..00000000000 Binary files a/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png and /dev/null differ diff --git a/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.webp b/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.webp new file mode 100644 index 00000000000..8855c4a4996 Binary files /dev/null and b/jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.webp differ diff --git a/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.png b/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.png deleted file mode 100644 index 8f157811c7e..00000000000 Binary files a/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.png and /dev/null differ diff --git a/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.webp b/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.webp new file mode 100644 index 00000000000..053c883a701 Binary files /dev/null and b/jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.webp differ diff --git a/jekyll/assets/2021/04-chatie-api-server-down/system-down.jpeg b/jekyll/assets/2021/04-chatie-api-server-down/system-down.jpeg deleted file mode 100644 index df3cc473315..00000000000 Binary files a/jekyll/assets/2021/04-chatie-api-server-down/system-down.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/04-chatie-api-server-down/system-down.webp b/jekyll/assets/2021/04-chatie-api-server-down/system-down.webp new file mode 100644 index 00000000000..088069591dc Binary files /dev/null and b/jekyll/assets/2021/04-chatie-api-server-down/system-down.webp differ diff --git a/jekyll/assets/2021/04-go-wechaty-use-web/ding.jpeg b/jekyll/assets/2021/04-go-wechaty-use-web/ding.jpeg deleted file mode 100644 index 8301afbfd37..00000000000 Binary files a/jekyll/assets/2021/04-go-wechaty-use-web/ding.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/04-go-wechaty-use-web/ding.webp b/jekyll/assets/2021/04-go-wechaty-use-web/ding.webp new file mode 100644 index 00000000000..2eaa623daed Binary files /dev/null and b/jekyll/assets/2021/04-go-wechaty-use-web/ding.webp differ diff --git a/jekyll/assets/2021/04-go-wechaty-use-web/struct.png b/jekyll/assets/2021/04-go-wechaty-use-web/struct.png deleted file mode 100644 index 51b9a09df21..00000000000 Binary files a/jekyll/assets/2021/04-go-wechaty-use-web/struct.png and /dev/null differ diff --git a/jekyll/assets/2021/04-go-wechaty-use-web/struct.webp b/jekyll/assets/2021/04-go-wechaty-use-web/struct.webp new file mode 100644 index 00000000000..c311f820d37 Binary files /dev/null and b/jekyll/assets/2021/04-go-wechaty-use-web/struct.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.png deleted file mode 100644 index 958a6337099..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.webp new file mode 100644 index 00000000000..24897bfef59 Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.png deleted file mode 100644 index b72378819d6..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.webp new file mode 100644 index 00000000000..e563e425571 Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.png deleted file mode 100644 index 5d1913717ef..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.webp new file mode 100644 index 00000000000..8a9000ae6bc Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.png deleted file mode 100644 index feb5724d4b8..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.webp new file mode 100644 index 00000000000..5fda769300f Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.png deleted file mode 100644 index 86079ca0330..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.webp new file mode 100644 index 00000000000..9c389b4b27e Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.png b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.png deleted file mode 100644 index 79465fef1b6..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.png and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.webp new file mode 100644 index 00000000000..c649f24732b Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.webp differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg deleted file mode 100644 index 9e904988531..00000000000 Binary files a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.webp b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.webp new file mode 100644 index 00000000000..7821296a2c7 Binary files /dev/null and b/jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.webp differ diff --git a/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.png b/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.png deleted file mode 100644 index 6858367390e..00000000000 Binary files a/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.png and /dev/null differ diff --git a/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.webp b/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.webp new file mode 100644 index 00000000000..a8df827641b Binary files /dev/null and b/jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.webp differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.png b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.png deleted file mode 100644 index c4dd75aa3cb..00000000000 Binary files a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.webp b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.webp new file mode 100644 index 00000000000..655b23f8496 Binary files /dev/null and b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.webp differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.png b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.png deleted file mode 100644 index 624b1053ce9..00000000000 Binary files a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.webp b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.webp new file mode 100644 index 00000000000..f532cd8a456 Binary files /dev/null and b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.webp differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.png b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.png deleted file mode 100644 index 709ea79d347..00000000000 Binary files a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.webp b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.webp new file mode 100644 index 00000000000..dbe61deaba4 Binary files /dev/null and b/jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.webp differ diff --git a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.jpg b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.jpg deleted file mode 100644 index c172e739198..00000000000 Binary files a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.jpg and /dev/null differ diff --git a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.webp b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.webp new file mode 100644 index 00000000000..faff592b192 Binary files /dev/null and b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.webp differ diff --git a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.png b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.png deleted file mode 100644 index f657f61b26b..00000000000 Binary files a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.webp b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.webp new file mode 100644 index 00000000000..b1146c8ca30 Binary files /dev/null and b/jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.webp differ diff --git a/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.jpg b/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.jpg deleted file mode 100644 index 4a72d5ceb48..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.jpg and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.webp b/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.webp new file mode 100644 index 00000000000..0d5719f3a43 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.webp differ diff --git a/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.png b/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.png deleted file mode 100644 index 05f8f7a6c8c..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.webp b/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.webp new file mode 100644 index 00000000000..fc154219f05 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.png deleted file mode 100644 index a8a906e2ebb..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.webp new file mode 100644 index 00000000000..ad595c8afb3 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.png deleted file mode 100644 index b514d3e8642..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.webp new file mode 100644 index 00000000000..edd81962bea Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.png deleted file mode 100644 index ccd6f905663..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.webp new file mode 100644 index 00000000000..af2b008fc89 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.png deleted file mode 100644 index 0dcdc799e51..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.webp new file mode 100644 index 00000000000..30a52cbd372 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.png deleted file mode 100644 index 75888e1311c..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.webp new file mode 100644 index 00000000000..e1dd15c4f1a Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.png deleted file mode 100644 index 230491ae0f0..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.webp new file mode 100644 index 00000000000..d6236c427ed Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.png deleted file mode 100644 index 3010ac43d4c..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.webp new file mode 100644 index 00000000000..d044c91a0c8 Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.webp differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.png b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.png deleted file mode 100644 index b810871fd9b..00000000000 Binary files a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.png and /dev/null differ diff --git a/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.webp b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.webp new file mode 100644 index 00000000000..f7d52068dbf Binary files /dev/null and b/jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.jpg b/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.jpg deleted file mode 100644 index 707f516c0de..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.webp b/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.webp new file mode 100644 index 00000000000..f1155448329 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.png b/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.png deleted file mode 100644 index d36fc65cf47..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.webp b/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.webp new file mode 100644 index 00000000000..18700ff50ec Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.png b/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.png deleted file mode 100644 index 075b49327d3..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.webp b/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.webp new file mode 100644 index 00000000000..60f5227e18d Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.png b/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.png deleted file mode 100644 index d2baf28f37d..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.webp b/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.webp new file mode 100644 index 00000000000..8e3b2d704b4 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.png b/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.png deleted file mode 100644 index 336a54b48dc..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.webp b/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.webp new file mode 100644 index 00000000000..0d2aa3b503f Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.png b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.png deleted file mode 100644 index c2abea3b12f..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.webp b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.webp new file mode 100644 index 00000000000..9439aa43083 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.png b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.png deleted file mode 100644 index c6fd29d9508..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.webp b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.webp new file mode 100644 index 00000000000..0d2a7fff251 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.png b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.png deleted file mode 100644 index 4b92a65f241..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.webp b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.webp new file mode 100644 index 00000000000..84ca90ca1ea Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.png b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.png deleted file mode 100644 index 88e60165fde..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.webp b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.webp new file mode 100644 index 00000000000..8c4e8cfeb65 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.png b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.png deleted file mode 100644 index 893feb7a62b..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.webp b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.webp new file mode 100644 index 00000000000..10fb10e8375 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.webp differ diff --git a/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.png b/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.png deleted file mode 100644 index d6419298571..00000000000 Binary files a/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.png and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.webp b/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.webp new file mode 100644 index 00000000000..6ab76672335 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.webp differ diff --git a/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.jpeg b/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.jpeg deleted file mode 100644 index c8ebc3f51cf..00000000000 Binary files a/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.webp b/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.webp new file mode 100644 index 00000000000..907ad674458 Binary files /dev/null and b/jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.webp differ diff --git a/jekyll/assets/2021/05-gsod21-simin-proposal/profile.jpg b/jekyll/assets/2021/05-gsod21-simin-proposal/profile.jpg deleted file mode 100644 index 9d9bc0466f6..00000000000 Binary files a/jekyll/assets/2021/05-gsod21-simin-proposal/profile.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-gsod21-simin-proposal/profile.webp b/jekyll/assets/2021/05-gsod21-simin-proposal/profile.webp new file mode 100644 index 00000000000..5d3d5611a2c Binary files /dev/null and b/jekyll/assets/2021/05-gsod21-simin-proposal/profile.webp differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.png b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.png deleted file mode 100644 index 31902555d55..00000000000 Binary files a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.png and /dev/null differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.webp b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.webp new file mode 100644 index 00000000000..952cf4586e2 Binary files /dev/null and b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.webp differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.png b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.png deleted file mode 100644 index bd6d322e66f..00000000000 Binary files a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.png and /dev/null differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.webp b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.webp new file mode 100644 index 00000000000..4038e9e4aff Binary files /dev/null and b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.webp differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.png b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.png deleted file mode 100644 index cc9c0200ee7..00000000000 Binary files a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.png and /dev/null differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.webp b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.webp new file mode 100644 index 00000000000..a49d6deaca1 Binary files /dev/null and b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.webp differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.png b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.png deleted file mode 100644 index 437d9bbdb1d..00000000000 Binary files a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.png and /dev/null differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.webp b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.webp new file mode 100644 index 00000000000..db964212bac Binary files /dev/null and b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.webp differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.jpg b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.jpg deleted file mode 100644 index 4ce7c4a15f9..00000000000 Binary files a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.webp b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.webp new file mode 100644 index 00000000000..75fb0ac7606 Binary files /dev/null and b/jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.webp differ diff --git a/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.png b/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.png deleted file mode 100644 index 075b49327d3..00000000000 Binary files a/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.png and /dev/null differ diff --git a/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.webp b/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.webp new file mode 100644 index 00000000000..60f5227e18d Binary files /dev/null and b/jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.webp differ diff --git a/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.jpeg b/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.jpeg deleted file mode 100644 index 2d99a7ea4db..00000000000 Binary files a/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.webp b/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.webp new file mode 100644 index 00000000000..0ded94745e0 Binary files /dev/null and b/jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.webp differ diff --git a/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.png b/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.png deleted file mode 100644 index 7974bc22054..00000000000 Binary files a/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.png and /dev/null differ diff --git a/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.webp b/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.webp new file mode 100644 index 00000000000..7b9e850a3ed Binary files /dev/null and b/jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.webp differ diff --git a/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.jpeg b/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.jpeg deleted file mode 100644 index d8080c6ed82..00000000000 Binary files a/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.webp b/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.webp new file mode 100644 index 00000000000..3b4f4bdaf67 Binary files /dev/null and b/jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.webp differ diff --git a/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.jpeg b/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.jpeg deleted file mode 100644 index b871f81efde..00000000000 Binary files a/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.webp b/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.webp new file mode 100644 index 00000000000..268d358e4a2 Binary files /dev/null and b/jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.webp differ diff --git a/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.jpg b/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.jpg deleted file mode 100644 index 03279c03777..00000000000 Binary files a/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.webp b/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.webp new file mode 100644 index 00000000000..3c141e2cb0c Binary files /dev/null and b/jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.webp differ diff --git a/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.png b/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.png deleted file mode 100644 index 8ba416c91ab..00000000000 Binary files a/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.png and /dev/null differ diff --git a/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.webp b/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.webp new file mode 100644 index 00000000000..c8121c82f7c Binary files /dev/null and b/jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.webp differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.png b/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.png deleted file mode 100644 index 614dae460c1..00000000000 Binary files a/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.png and /dev/null differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.webp b/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.webp new file mode 100644 index 00000000000..9c7f71bf848 Binary files /dev/null and b/jekyll/assets/2021/05-simin-documentation-structure/cover_photo.webp differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/explanation.png b/jekyll/assets/2021/05-simin-documentation-structure/explanation.png deleted file mode 100644 index f670e630fce..00000000000 Binary files a/jekyll/assets/2021/05-simin-documentation-structure/explanation.png and /dev/null differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/explanation.webp b/jekyll/assets/2021/05-simin-documentation-structure/explanation.webp new file mode 100644 index 00000000000..02605599378 Binary files /dev/null and b/jekyll/assets/2021/05-simin-documentation-structure/explanation.webp differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.png b/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.png deleted file mode 100644 index 661efe0b075..00000000000 Binary files a/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.png and /dev/null differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.webp b/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.webp new file mode 100644 index 00000000000..46c5c4fd0b7 Binary files /dev/null and b/jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.webp differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.png b/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.png deleted file mode 100644 index e215905f5b2..00000000000 Binary files a/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.png and /dev/null differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.webp b/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.webp new file mode 100644 index 00000000000..03e98c9b84b Binary files /dev/null and b/jekyll/assets/2021/05-simin-documentation-structure/reference_guides.webp differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/tutorials.png b/jekyll/assets/2021/05-simin-documentation-structure/tutorials.png deleted file mode 100644 index 44658614122..00000000000 Binary files a/jekyll/assets/2021/05-simin-documentation-structure/tutorials.png and /dev/null differ diff --git a/jekyll/assets/2021/05-simin-documentation-structure/tutorials.webp b/jekyll/assets/2021/05-simin-documentation-structure/tutorials.webp new file mode 100644 index 00000000000..933c7ef6203 Binary files /dev/null and b/jekyll/assets/2021/05-simin-documentation-structure/tutorials.webp differ diff --git a/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.png b/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.png deleted file mode 100644 index fa2385075a3..00000000000 Binary files a/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.png and /dev/null differ diff --git a/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.webp b/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.webp new file mode 100644 index 00000000000..d570d09d1d2 Binary files /dev/null and b/jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.jpg deleted file mode 100644 index b04d4694fd4..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.webp new file mode 100644 index 00000000000..fb97c44bb88 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.jpg deleted file mode 100644 index 2e92ba97b84..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.webp new file mode 100644 index 00000000000..6b4300d19a0 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.jpg deleted file mode 100644 index c25edd8a1ca..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.webp new file mode 100644 index 00000000000..b23099e17f3 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.jpg deleted file mode 100644 index 6e7d662bff6..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.webp new file mode 100644 index 00000000000..a7c66fb1781 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.jpg deleted file mode 100644 index 61cd3767359..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.webp new file mode 100644 index 00000000000..0aa0718449d Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.jpg deleted file mode 100644 index 8a15a5affe7..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.webp new file mode 100644 index 00000000000..6b79a5ac1fa Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.jpg deleted file mode 100644 index 2bb66110655..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.webp new file mode 100644 index 00000000000..08fb3e7221c Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.jpg deleted file mode 100644 index f4b91665f46..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.webp new file mode 100644 index 00000000000..fb65e38f6c3 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.jpg deleted file mode 100644 index 3c2030f15a3..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.webp new file mode 100644 index 00000000000..777907bc4bb Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.jpg b/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.jpg deleted file mode 100644 index 6944448c26f..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.webp new file mode 100644 index 00000000000..fe81113def2 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.webp differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.png b/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.png deleted file mode 100644 index b6d382ad0cd..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.png and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.webp b/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.webp new file mode 100644 index 00000000000..c746a74647f Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-bible-chatbot/logo.webp differ diff --git a/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.jpeg b/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.jpeg deleted file mode 100644 index bb3d3a2b907..00000000000 Binary files a/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.jpeg and /dev/null differ diff --git a/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.webp b/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.webp new file mode 100644 index 00000000000..4aee84eb024 Binary files /dev/null and b/jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg deleted file mode 100644 index 8d0fb9a174f..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.webp new file mode 100644 index 00000000000..1316c3945e6 Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.jpg deleted file mode 100644 index 6f1cdb71cbf..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.webp new file mode 100644 index 00000000000..e64dce7eb46 Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.jpg deleted file mode 100644 index e7ca69530a0..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.webp new file mode 100644 index 00000000000..9d5c9e856dc Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.jpg deleted file mode 100644 index 4d64028fe29..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.webp new file mode 100644 index 00000000000..51fa94986d6 Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.jpg deleted file mode 100644 index 43e112d0dd6..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.webp new file mode 100644 index 00000000000..2fc373c337f Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.webp differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.jpg b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.jpg deleted file mode 100644 index 5a771a52de7..00000000000 Binary files a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.jpg and /dev/null differ diff --git a/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.webp b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.webp new file mode 100644 index 00000000000..5e0b43b1884 Binary files /dev/null and b/jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.jpg deleted file mode 100644 index 1dc24547616..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.webp new file mode 100644 index 00000000000..e51c7f78839 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.jpg deleted file mode 100644 index 80fca2126c9..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.webp new file mode 100644 index 00000000000..fd9e503748d Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.jpg deleted file mode 100644 index d6bbe013862..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.webp new file mode 100644 index 00000000000..87b8bcca342 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.png deleted file mode 100644 index 313219e1192..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.webp new file mode 100644 index 00000000000..0ceb845d698 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.png deleted file mode 100644 index 0a6b991b4e7..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.webp new file mode 100644 index 00000000000..73e052bc147 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.png deleted file mode 100644 index 4b87932127b..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.webp new file mode 100644 index 00000000000..8be1e04a517 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.png deleted file mode 100644 index e65f3cd27ee..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.webp new file mode 100644 index 00000000000..e6483316afd Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.png deleted file mode 100644 index 75c1d8ff376..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.webp new file mode 100644 index 00000000000..8e583334f47 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.png deleted file mode 100644 index 2b05c99940a..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.webp new file mode 100644 index 00000000000..0ec65a5cb88 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.png deleted file mode 100644 index 1cd081a27a1..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.webp new file mode 100644 index 00000000000..6aee90a154c Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.png deleted file mode 100644 index 7452e9821b3..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.webp new file mode 100644 index 00000000000..3fd7415a420 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.png deleted file mode 100644 index 7a5564c6092..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.webp new file mode 100644 index 00000000000..48fa372f8b0 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.png deleted file mode 100644 index 9b23871fc59..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.webp new file mode 100644 index 00000000000..fbccd5a1924 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.png deleted file mode 100644 index bd5b6b10bd7..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.webp new file mode 100644 index 00000000000..78fbd00e3ce Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.jpg deleted file mode 100644 index 48749ad181c..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.webp new file mode 100644 index 00000000000..4f4cf7950ff Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.png deleted file mode 100644 index 36ff0fdd4a6..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.webp new file mode 100644 index 00000000000..6a229e858d2 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.png deleted file mode 100644 index 1e35338929d..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.webp new file mode 100644 index 00000000000..e792c1ea173 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.jpg deleted file mode 100644 index 9638a1e3f58..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.webp new file mode 100644 index 00000000000..2e999caa119 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.jpg deleted file mode 100644 index 391c6a1d03d..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.webp new file mode 100644 index 00000000000..2ba71551ff8 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.jpg deleted file mode 100644 index 7615b4bcfdf..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.webp new file mode 100644 index 00000000000..dbaf69ea939 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.jpg deleted file mode 100644 index fda72d4cf43..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.webp new file mode 100644 index 00000000000..124c75b3dc4 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.jpg deleted file mode 100644 index 7855df93cec..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.webp new file mode 100644 index 00000000000..c28631f6d7d Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.jpg deleted file mode 100644 index bf6d06da11b..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.webp new file mode 100644 index 00000000000..68b85469cdd Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.jpg deleted file mode 100644 index 5f9b61ab02c..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.webp new file mode 100644 index 00000000000..50bc220aa32 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.jpg deleted file mode 100644 index 4da2e10dab1..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.webp new file mode 100644 index 00000000000..b6159dc5251 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.jpg deleted file mode 100644 index ded6a3402b1..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.webp new file mode 100644 index 00000000000..3710aaedc74 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.png deleted file mode 100644 index 4c96c873c70..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.webp new file mode 100644 index 00000000000..15f87a20c44 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.png deleted file mode 100644 index c9a3647dfe6..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.webp new file mode 100644 index 00000000000..718c802c8d8 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.png deleted file mode 100644 index 0dda0d9eaf6..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.webp new file mode 100644 index 00000000000..5de0fba351d Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.png deleted file mode 100644 index f72d2e533d2..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.webp new file mode 100644 index 00000000000..c39a0684e77 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.png deleted file mode 100644 index 9babdf470f0..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.webp new file mode 100644 index 00000000000..cd198be7c8c Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.png deleted file mode 100644 index dfe95e224f5..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.webp new file mode 100644 index 00000000000..334902f7b95 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.png deleted file mode 100644 index 6cae3e6553e..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.webp new file mode 100644 index 00000000000..9c9d9128cd2 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.png deleted file mode 100644 index 9352a5de12f..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.webp new file mode 100644 index 00000000000..c67df553be3 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.png deleted file mode 100644 index 56afe86c368..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.webp new file mode 100644 index 00000000000..e59f58a68d5 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.png deleted file mode 100644 index b5b66a37b94..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.webp new file mode 100644 index 00000000000..c6bbec0a7d3 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.png deleted file mode 100644 index af5f3847ff4..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.webp new file mode 100644 index 00000000000..ef709afe4c7 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.png b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.png deleted file mode 100644 index 717bd0a9ec7..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.png and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.webp new file mode 100644 index 00000000000..168ea49bf66 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.webp differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.jpg b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.jpg deleted file mode 100644 index ffc534c4fb5..00000000000 Binary files a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.webp b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.webp new file mode 100644 index 00000000000..7c8727c6d12 Binary files /dev/null and b/jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.webp differ diff --git a/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.png b/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.png deleted file mode 100644 index 68c291c6e86..00000000000 Binary files a/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.png and /dev/null differ diff --git a/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.webp b/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.webp new file mode 100644 index 00000000000..3d7ffd90754 Binary files /dev/null and b/jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.webp differ diff --git a/jekyll/assets/2021/06-summer-wechaty-guide/teaser.png b/jekyll/assets/2021/06-summer-wechaty-guide/teaser.png deleted file mode 100644 index 3f3b5e804c6..00000000000 Binary files a/jekyll/assets/2021/06-summer-wechaty-guide/teaser.png and /dev/null differ diff --git a/jekyll/assets/2021/06-summer-wechaty-guide/teaser.webp b/jekyll/assets/2021/06-summer-wechaty-guide/teaser.webp new file mode 100644 index 00000000000..db59fb684a5 Binary files /dev/null and b/jekyll/assets/2021/06-summer-wechaty-guide/teaser.webp differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.png b/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.png deleted file mode 100644 index 75f737e7890..00000000000 Binary files a/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.png and /dev/null differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.webp b/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.webp new file mode 100644 index 00000000000..1b59d4f1e87 Binary files /dev/null and b/jekyll/assets/2021/06-the-wechaty-way/meeting-notes.webp differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/pr.png b/jekyll/assets/2021/06-the-wechaty-way/pr.png deleted file mode 100644 index c81ee48b9cf..00000000000 Binary files a/jekyll/assets/2021/06-the-wechaty-way/pr.png and /dev/null differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/pr.webp b/jekyll/assets/2021/06-the-wechaty-way/pr.webp new file mode 100644 index 00000000000..2a9e205c800 Binary files /dev/null and b/jekyll/assets/2021/06-the-wechaty-way/pr.webp differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/rfc.png b/jekyll/assets/2021/06-the-wechaty-way/rfc.png deleted file mode 100644 index b845239ecf8..00000000000 Binary files a/jekyll/assets/2021/06-the-wechaty-way/rfc.png and /dev/null differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/rfc.webp b/jekyll/assets/2021/06-the-wechaty-way/rfc.webp new file mode 100644 index 00000000000..94192681656 Binary files /dev/null and b/jekyll/assets/2021/06-the-wechaty-way/rfc.webp differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/youtube-example.jpg b/jekyll/assets/2021/06-the-wechaty-way/youtube-example.jpg deleted file mode 100644 index e6e417c04c7..00000000000 Binary files a/jekyll/assets/2021/06-the-wechaty-way/youtube-example.jpg and /dev/null differ diff --git a/jekyll/assets/2021/06-the-wechaty-way/youtube-example.webp b/jekyll/assets/2021/06-the-wechaty-way/youtube-example.webp new file mode 100644 index 00000000000..35be1cf26c4 Binary files /dev/null and b/jekyll/assets/2021/06-the-wechaty-way/youtube-example.webp differ diff --git a/jekyll/assets/2021/06-wxrobot-backend-management/admin.png b/jekyll/assets/2021/06-wxrobot-backend-management/admin.png deleted file mode 100644 index e71141eb012..00000000000 Binary files a/jekyll/assets/2021/06-wxrobot-backend-management/admin.png and /dev/null differ diff --git a/jekyll/assets/2021/06-wxrobot-backend-management/admin.webp b/jekyll/assets/2021/06-wxrobot-backend-management/admin.webp new file mode 100644 index 00000000000..2c29943c8fe Binary files /dev/null and b/jekyll/assets/2021/06-wxrobot-backend-management/admin.webp differ diff --git a/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.jpg b/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.jpg deleted file mode 100644 index 215af19003e..00000000000 Binary files a/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.jpg and /dev/null differ diff --git a/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.png b/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.png deleted file mode 100644 index 215af19003e..00000000000 Binary files a/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.png and /dev/null differ diff --git a/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.webp b/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.webp new file mode 100644 index 00000000000..6e94e40837c Binary files /dev/null and b/jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.webp differ diff --git a/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.png b/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.png deleted file mode 100644 index e02a0da4764..00000000000 Binary files a/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.png and /dev/null differ diff --git a/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.webp b/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.webp new file mode 100644 index 00000000000..3bfe6fed978 Binary files /dev/null and b/jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif deleted file mode 100644 index e654d4d9d2d..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.webp new file mode 100644 index 00000000000..fe429513b5c Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.png b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.png deleted file mode 100644 index f8d02212889..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.png and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.webp new file mode 100644 index 00000000000..31a347a1d9d Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif deleted file mode 100644 index fd7b7806b81..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.webp new file mode 100644 index 00000000000..0a2bf7f6456 Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif deleted file mode 100644 index 6908931bb0a..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.webp new file mode 100644 index 00000000000..5ceeaf7a54b Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.png b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.png deleted file mode 100644 index 11cc3f0380a..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.png and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.webp new file mode 100644 index 00000000000..6cbdfaa3e8e Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.png b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.png deleted file mode 100644 index a2dd938696b..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.png and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.webp new file mode 100644 index 00000000000..9408ee86450 Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.png b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.png deleted file mode 100644 index 387e8b7c013..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.png and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.webp new file mode 100644 index 00000000000..a3ffbe82cb1 Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.webp differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif deleted file mode 100644 index 4c4ef5e253c..00000000000 Binary files a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif and /dev/null differ diff --git a/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.webp b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.webp new file mode 100644 index 00000000000..6a06690d75b Binary files /dev/null and b/jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.webp differ diff --git a/jekyll/assets/images/bio-photo.png b/jekyll/assets/images/bio-photo.png deleted file mode 100644 index f76b41dc6a9..00000000000 Binary files a/jekyll/assets/images/bio-photo.png and /dev/null differ diff --git a/jekyll/assets/images/bio-photo.webp b/jekyll/assets/images/bio-photo.webp new file mode 100644 index 00000000000..0fe14576a60 Binary files /dev/null and b/jekyll/assets/images/bio-photo.webp differ diff --git a/jekyll/assets/images/logo.png b/jekyll/assets/images/logo.png deleted file mode 100644 index b42269c118f..00000000000 Binary files a/jekyll/assets/images/logo.png and /dev/null differ diff --git a/jekyll/assets/images/logo.webp b/jekyll/assets/images/logo.webp new file mode 100644 index 00000000000..34c45eed578 Binary files /dev/null and b/jekyll/assets/images/logo.webp differ diff --git a/jekyll/assets/js/viewer-js/images/kogmbh.png b/jekyll/assets/js/viewer-js/images/kogmbh.png deleted file mode 100644 index 00e8f4debdd..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/kogmbh.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/kogmbh.webp b/jekyll/assets/js/viewer-js/images/kogmbh.webp new file mode 100644 index 00000000000..0da33e36b4d Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/kogmbh.webp differ diff --git a/jekyll/assets/js/viewer-js/images/nlnet.png b/jekyll/assets/js/viewer-js/images/nlnet.png deleted file mode 100644 index e75ab2e8f0c..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/nlnet.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/nlnet.webp b/jekyll/assets/js/viewer-js/images/nlnet.webp new file mode 100644 index 00000000000..dc6b2694b2c Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/nlnet.webp differ diff --git a/jekyll/assets/js/viewer-js/images/texture.png b/jekyll/assets/js/viewer-js/images/texture.png deleted file mode 100644 index df008649323..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/texture.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/texture.webp b/jekyll/assets/js/viewer-js/images/texture.webp new file mode 100644 index 00000000000..18518c9b833 Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/texture.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-download.png b/jekyll/assets/js/viewer-js/images/toolbarButton-download.png deleted file mode 100644 index 8676d8e2c2c..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-download.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-download.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-download.webp new file mode 100644 index 00000000000..b06db530a1e Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-download.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.png b/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.png deleted file mode 100644 index fa730955054..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.webp new file mode 100644 index 00000000000..6fcd175700c Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.png b/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.png deleted file mode 100644 index 31b06b5af9e..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.webp new file mode 100644 index 00000000000..5d6e0399c8f Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.png b/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.png deleted file mode 100644 index 762ac43e08c..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.webp new file mode 100644 index 00000000000..6d28909a7f0 Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.png b/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.png deleted file mode 100644 index 3155b8bd235..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.webp new file mode 100644 index 00000000000..403a44b4b1a Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.png b/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.png deleted file mode 100644 index 0f224232b8c..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.webp new file mode 100644 index 00000000000..689c6ac77cc Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-presentation.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.png b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.png deleted file mode 100644 index 670acd93f53..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.webp new file mode 100644 index 00000000000..12779898f77 Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.webp differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.png b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.png deleted file mode 100644 index 810fbf9895d..00000000000 Binary files a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.png and /dev/null differ diff --git a/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.webp b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.webp new file mode 100644 index 00000000000..f98ee366aae Binary files /dev/null and b/jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.webp differ diff --git a/package.json b/package.json index 87143175d92..0da7d2eeacf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wechaty.js.org", - "version": "0.10.17", + "version": "0.10.22", "description": "Wechaty Official Website for News, Blogs, Contributor Profiles, and Documentations", "private": true, "type": "module", @@ -16,7 +16,7 @@ "lint:fn": "file-name-linter .file-name-linter.json", "lint:yml": "true || yamllint jekyll/_data/*.yml", "test": "npm-run-all lint test:unit", - "test:unit": "tap --node-arg=--loader=ts-node/esm --node-arg=--no-warnings \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\"", + "test:unit": "cross-env TAP_TIMEOUT=60 NODE_OPTIONS=\"--no-warnings --loader=ts-node/esm\" tap \"src/**/*.spec.ts\" \"tests/**/*.spec.ts\"", "build": "npm-run-all build:docusaurus build:jekyll", "build:jekyll": "cd jekyll && make build", "build:docusaurus": "cd docusaurus && npm run build" @@ -63,7 +63,7 @@ "node-fetch": "^2.6.1", "npm-run-all": "^4.1.5", "probe-image-size": "^7.2.1", - "tstest": "^0.5.16", + "tstest": "^0.7.3", "typescript": "^4.4.3", "uuid": "^8.3.2", "yaml": "^1.10.2", diff --git a/src/jekyll/get-frontmatter-teaser-list.spec.ts b/src/jekyll/get-frontmatter-teaser-list.spec.ts index 8cf39f88023..1d4a7101446 100755 --- a/src/jekyll/get-frontmatter-teaser-list.spec.ts +++ b/src/jekyll/get-frontmatter-teaser-list.spec.ts @@ -14,7 +14,7 @@ test('getFrontmatterTeaserList', async t => { '2021-01-15-carpool-bot-with-wechaty-1.md', ) const EXPECTED_TEASER_NUM = 1 - const EXPECTED_TEASER_URL = '/assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg' + const EXPECTED_TEASER_URL = '/assets/2021/01-carpool-bot-with-wechaty-1/4.webp' const imageList = getFrontmatterTeaserList(FILE) diff --git a/src/jekyll/get-markdown-image-list.spec.ts b/src/jekyll/get-markdown-image-list.spec.ts index 042c006309b..35482e93a72 100755 --- a/src/jekyll/get-markdown-image-list.spec.ts +++ b/src/jekyll/get-markdown-image-list.spec.ts @@ -14,9 +14,9 @@ test('getMarkdownImageList', async t => { '2021-01-15-carpool-bot-with-wechaty-1.md', ) const EXPECTED_IMAGE_LIST = [ - '/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg', - '/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg', - '/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg', + '/assets/2021/01-carpool-bot-with-wechaty-1/1.webp', + '/assets/2021/01-carpool-bot-with-wechaty-1/2.webp', + '/assets/2021/01-carpool-bot-with-wechaty-1/3.webp', ].sort() const imageList = getMarkdownImageList(FILE).sort() t.deepEqual(imageList, EXPECTED_IMAGE_LIST, 'should get markdown image list') diff --git a/tests/jekyll/image-existance.spec.ts b/tests/jekyll/image-existance.spec.ts index c2d42f6c66d..3a942965e61 100755 --- a/tests/jekyll/image-existance.spec.ts +++ b/tests/jekyll/image-existance.spec.ts @@ -1,6 +1,9 @@ #!/usr/bin/env -S node --no-warnings --loader ts-node/esm -import { test } from 'tstest' +import { + tap, + test, +} from 'tstest' import fs from 'fs' import path from 'path' @@ -35,6 +38,9 @@ const getLocalImageList = async () => { return localImageList } +// Increase the timeout because we might need to wait network io for a long time. +tap.setTimeout(60 * 1000) + test('all remote images linked from the post should be exist.', async t => { // Get rid of duplicated urls diff --git a/tests/workaround.ts b/tests/workaround.ts index 176d5d3b197..48466c2793e 100644 --- a/tests/workaround.ts +++ b/tests/workaround.ts @@ -30,1203 +30,6 @@ const NOT_WEBP_TO_BE_FIXED_FILE_LIST = [ 'docusaurus/static/img/docs/tutorials/using-vorpal-with-wechaty/wechaty-vorpal-hacker-news-qr.png', 'docusaurus/static/img/docs/tutorials/using-vorpal-with-wechaty/wechaty-vorpal-hacker-news.png', 'docusaurus/static/img/icon.png', - 'jekyll/assets/2016/ghostcloud-banner.jpg', - 'jekyll/assets/2016/ghostcloud-log.jpg', - 'jekyll/assets/2016/ghostcloud-message.jpg', - 'jekyll/assets/2016/ghostcloud-qrcode.jpg', - 'jekyll/assets/2016/gitchat-lijiarui-interview.jpg', - 'jekyll/assets/2016/jaslin-case-study.jpg', - 'jekyll/assets/2016/jaslin-use-case-record.jpg', - 'jekyll/assets/2016/jaslin-use-case-send.jpg', - 'jekyll/assets/2016/jaslin-use-case-statistics.jpg', - 'jekyll/assets/2016/nodeparty-banner.jpg', - 'jekyll/assets/2016/nodeparty-speaker.jpg', - 'jekyll/assets/2016/nodeparty-speaker2.jpg', - 'jekyll/assets/2016/ruirui-dance.jpg', - 'jekyll/assets/2017/add-wechaty-jsdoc-automate-all-the-things.jpg', - 'jekyll/assets/2017/antonia0912-issue-4-seminar.jpg', - 'jekyll/assets/2017/binsee-wechaty-structure.png', - 'jekyll/assets/2017/dcsan-dashbot.jpg', - 'jekyll/assets/2017/dcsan-shanghai-meetup.jpg', - 'jekyll/assets/2017/gcaufy-hot-reload-screencast.gif', - 'jekyll/assets/2017/h4dex-inject.png', - 'jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-1.png', - 'jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-2.jpg', - 'jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-3.png', - 'jekyll/assets/2017/hczhcz-run-your-telegram-bot-with-wechaty-4.png', - 'jekyll/assets/2017/helen-screenshot-doc.png', - 'jekyll/assets/2017/helen-screenshot-testing.jpg', - 'jekyll/assets/2017/huan-wechaty-new-version-0.9.0.png', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-1.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-2.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-3.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-4.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-5.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-6.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-7.jpg', - 'jekyll/assets/2017/itdakashuo-how-to-build-a-chatbot-8.jpg', - 'jekyll/assets/2017/iyjian-1.png', - 'jekyll/assets/2017/iyjian-2.png', - 'jekyll/assets/2017/iyjian-3.jpg', - 'jekyll/assets/2017/leinue-bot.jpg', - 'jekyll/assets/2017/leinue-screenshot.png', - 'jekyll/assets/2017/lijiarui-speech-nodejs.jpg', - 'jekyll/assets/2017/lijiarui-wechaty-quick-start-guide-video.jpg', - 'jekyll/assets/2017/lijiarui-write-bot-docker-pull.jpeg', - 'jekyll/assets/2017/lijiarui-write-bot-qr-code.jpeg', - 'jekyll/assets/2017/lijiarui-write-bot-run-ding.jpeg', - 'jekyll/assets/2017/lijiarui-write-bot-wechaty-pic.jpeg', - 'jekyll/assets/2017/mukaiu-ding-code.jpg', - 'jekyll/assets/2017/samrais-ss-1.png', - 'jekyll/assets/2017/samurais-the-matrix.jpg', - 'jekyll/assets/2017/samurias-hifive.jpg', - 'jekyll/assets/2017/wechat-meeting.jpg', - 'jekyll/assets/2017/wechaty-connect-chatbots.jpg', - 'jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service1.jpg', - 'jekyll/assets/2017/wechaty-electron-making-your-wachaty-as-a-client-service3.jpg', - 'jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service2.jpg', - 'jekyll/assets/2017/wechaty-electron-making-your-wechaty-as-a-client-service4.jpg', - 'jekyll/assets/2017/wechaty-email-demo.jpeg', - 'jekyll/assets/2017/wechaty-email.png', - 'jekyll/assets/2017/wechaty-selfie-demo-screenshoot.jpg', - 'jekyll/assets/2017/wechaty-selfie-pear.jpg', - 'jekyll/assets/2017/wechaty-sticker-ipad.jpg', - 'jekyll/assets/2017/wechaty-sticker-mac-inside.jpg', - 'jekyll/assets/2017/wechaty-sticker-mac.jpg', - 'jekyll/assets/2017/wechaty-sticker-size.jpg', - 'jekyll/assets/2017/wechaty-sticker-windows.jpg', - 'jekyll/assets/2017/wechaty-sticker.jpg', - 'jekyll/assets/2017/wechaty-wwdc.jpg', - 'jekyll/assets/2017/wildcat-rails-admin-panel.png', - 'jekyll/assets/2017/wildcat-rails-architecture-1.png', - 'jekyll/assets/2017/wildcat-rails-architecture-2.png', - 'jekyll/assets/2017/wildcat-rails-db-initial-structure.png', - 'jekyll/assets/2017/wildcat-tf-from-go-to-chatbot.png', - 'jekyll/assets/2017/wildcat-tf-screenshot-bot-in-wechat.jpg', - 'jekyll/assets/2017/wildcat-tf-screenshot-simple-ui.jpg', - 'jekyll/assets/2017/wildcat-tf-screenshot-testing.png', - 'jekyll/assets/2017/wildcat-tf-screenshot-training.png', - 'jekyll/assets/2017/wildcat-tf-wechaty-and-tensorflow-featured-image.png', - 'jekyll/assets/2018/08-heroku-deploy-button-for-wechaty-starter-template/heroku-wechaty.png', - 'jekyll/assets/2018/abstract-info.png', - 'jekyll/assets/2018/agent-smith-clone-anderson.jpg', - 'jekyll/assets/2018/birthday-cake-chickens.gif', - 'jekyll/assets/2018/birthday-cake-cut.png', - 'jekyll/assets/2018/birthday-cake-parents.png', - 'jekyll/assets/2018/blessed-twins-bot.png', - 'jekyll/assets/2018/botframework.jpg', - 'jekyll/assets/2018/code-migration-en.png', - 'jekyll/assets/2018/code-migration-zh.png', - 'jekyll/assets/2018/country-wide-developer-conference.jpg', - 'jekyll/assets/2018/h4dex-wechatprotocol.jpeg', - 'jekyll/assets/2018/helen-docker-screenshot.png', - 'jekyll/assets/2018/helen-node-screenshot.png', - 'jekyll/assets/2018/helen-techie-festival.jpeg', - 'jekyll/assets/2018/helen-weixin.jpg', - 'jekyll/assets/2018/hi-ai.jpg', - 'jekyll/assets/2018/huan-reduce-weight.jpg', - 'jekyll/assets/2018/huan-wechaty-new-version-0.16.png', - 'jekyll/assets/2018/kaiyuanshe.png', - 'jekyll/assets/2018/microsoft-hol-chatbot.jpeg', - 'jekyll/assets/2018/microsoft-hol-demo.png', - 'jekyll/assets/2018/microsoft-hol-integrate-1.png', - 'jekyll/assets/2018/microsoft-hol-integrate-2.png', - 'jekyll/assets/2018/microsoft-hol-integrate-3.png', - 'jekyll/assets/2018/microsoft-hol-integrate-4.png', - 'jekyll/assets/2018/microsoft-hol-luis-1.png', - 'jekyll/assets/2018/microsoft-hol-luis-10.png', - 'jekyll/assets/2018/microsoft-hol-luis-11.png', - 'jekyll/assets/2018/microsoft-hol-luis-12.png', - 'jekyll/assets/2018/microsoft-hol-luis-13.png', - 'jekyll/assets/2018/microsoft-hol-luis-14.png', - 'jekyll/assets/2018/microsoft-hol-luis-15.png', - 'jekyll/assets/2018/microsoft-hol-luis-2.png', - 'jekyll/assets/2018/microsoft-hol-luis-3.png', - 'jekyll/assets/2018/microsoft-hol-luis-4.png', - 'jekyll/assets/2018/microsoft-hol-luis-5.png', - 'jekyll/assets/2018/microsoft-hol-luis-6.png', - 'jekyll/assets/2018/microsoft-hol-luis-7.png', - 'jekyll/assets/2018/microsoft-hol-luis-8.png', - 'jekyll/assets/2018/microsoft-hol-luis-9.png', - 'jekyll/assets/2018/microsoft-hol-luis.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-1.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-2.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-3.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-4.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-5.png', - 'jekyll/assets/2018/microsoft-hol-wechaty-6.png', - 'jekyll/assets/2018/techiefestival-1.jpg', - 'jekyll/assets/2018/techiefestival-10.gif', - 'jekyll/assets/2018/techiefestival-11.gif', - 'jekyll/assets/2018/techiefestival-12.jpeg', - 'jekyll/assets/2018/techiefestival-13.jpg', - 'jekyll/assets/2018/techiefestival-14.jpg', - 'jekyll/assets/2018/techiefestival-15.png', - 'jekyll/assets/2018/techiefestival-16.png', - 'jekyll/assets/2018/techiefestival-17.gif', - 'jekyll/assets/2018/techiefestival-18.jpeg', - 'jekyll/assets/2018/techiefestival-19.jpg', - 'jekyll/assets/2018/techiefestival-2.jpg', - 'jekyll/assets/2018/techiefestival-20.jpeg', - 'jekyll/assets/2018/techiefestival-21.gif', - 'jekyll/assets/2018/techiefestival-22.jpeg', - 'jekyll/assets/2018/techiefestival-23.jpg', - 'jekyll/assets/2018/techiefestival-24.gif', - 'jekyll/assets/2018/techiefestival-25.jpeg', - 'jekyll/assets/2018/techiefestival-3.jpg', - 'jekyll/assets/2018/techiefestival-4.jpeg', - 'jekyll/assets/2018/techiefestival-5.jpeg', - 'jekyll/assets/2018/techiefestival-6.jpg', - 'jekyll/assets/2018/techiefestival-7.jpg', - 'jekyll/assets/2018/techiefestival-8.jpeg', - 'jekyll/assets/2018/techiefestival-9.gif', - 'jekyll/assets/2018/typescript-logo.png', - 'jekyll/assets/2018/wechaty-blinder-1.jpg', - 'jekyll/assets/2018/wechaty-blinder-10.jpg', - 'jekyll/assets/2018/wechaty-blinder-11.jpg', - 'jekyll/assets/2018/wechaty-blinder-12.jpg', - 'jekyll/assets/2018/wechaty-blinder-13.jpg', - 'jekyll/assets/2018/wechaty-blinder-14.jpg', - 'jekyll/assets/2018/wechaty-blinder-15.jpg', - 'jekyll/assets/2018/wechaty-blinder-16.jpg', - 'jekyll/assets/2018/wechaty-blinder-17.jpeg', - 'jekyll/assets/2018/wechaty-blinder-2.jpg', - 'jekyll/assets/2018/wechaty-blinder-3.jpg', - 'jekyll/assets/2018/wechaty-blinder-4.jpg', - 'jekyll/assets/2018/wechaty-blinder-5.jpg', - 'jekyll/assets/2018/wechaty-blinder-6.jpg', - 'jekyll/assets/2018/wechaty-blinder-7.jpg', - 'jekyll/assets/2018/wechaty-blinder-8.jpg', - 'jekyll/assets/2018/wechaty-blinder-9.jpg', - 'jekyll/assets/2018/wechaty-contributor-dinner-data-girl.jpg', - 'jekyll/assets/2018/wechaty-installation-in-windows.png', - 'jekyll/assets/2018/wechaty-lightbot-1.png', - 'jekyll/assets/2018/wechaty-lightbot-2.png', - 'jekyll/assets/2018/wechaty-lightbot-3.png', - 'jekyll/assets/2018/wechaty-lightbot-4.png', - 'jekyll/assets/2018/wechaty-lightbot-5.png', - 'jekyll/assets/2018/wechaty-lightbot-6.png', - 'jekyll/assets/2018/wechaty-lightbot-7.png', - 'jekyll/assets/2018/wechaty-lightbot-logo.jpg', - 'jekyll/assets/2018/wechaty-xiaoli.jpeg', - 'jekyll/assets/2018/xiaoli-1.jpeg', - 'jekyll/assets/2018/xiaoli-2.jpeg', - 'jekyll/assets/2019/bot5-seminar-0/after-party.jpg', - 'jekyll/assets/2019/bot5-seminar-0/group-photo.jpg', - 'jekyll/assets/2019/bot5-seminar-2/after-party.png', - 'jekyll/assets/2019/bot5-seminar-2/group-photo.png', - 'jekyll/assets/2019/bot5-seminar-2/people.png', - 'jekyll/assets/2019/chatie-devops-toolset.gif', - 'jekyll/assets/2019/chatie-eslint-config.jpg', - 'jekyll/assets/2019/chatie-git-scripts.gif', - 'jekyll/assets/2019/chatie-semver.png', - 'jekyll/assets/2019/chatie-tsconfig.jpg', - 'jekyll/assets/2019/chatie-wwdc-in-sv-110718.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/brick-carrier.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/chat-history-large.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/chat-history.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/convert-flow-large.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/copy-paste-from-so.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/on-my-knees.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/privacy-leak.jpg', - 'jekyll/assets/2019/dotnetclub-chaty/quit-baidu.png', - 'jekyll/assets/2019/dotnetclub-chaty/wechaty.jpg', - 'jekyll/assets/2019/everyday-1.png', - 'jekyll/assets/2019/everyday-10.png', - 'jekyll/assets/2019/everyday-11.png', - 'jekyll/assets/2019/everyday-12.png', - 'jekyll/assets/2019/everyday-13.png', - 'jekyll/assets/2019/everyday-14.png', - 'jekyll/assets/2019/everyday-15.png', - 'jekyll/assets/2019/everyday-16.png', - 'jekyll/assets/2019/everyday-17.png', - 'jekyll/assets/2019/everyday-2.png', - 'jekyll/assets/2019/everyday-3.png', - 'jekyll/assets/2019/everyday-4.png', - 'jekyll/assets/2019/everyday-5.png', - 'jekyll/assets/2019/everyday-6.png', - 'jekyll/assets/2019/everyday-7.png', - 'jekyll/assets/2019/everyday-8.png', - 'jekyll/assets/2019/everyday-9.png', - 'jekyll/assets/2019/everyday-header.png', - 'jekyll/assets/2019/koa-wechaty-1.jpeg', - 'jekyll/assets/2019/koa-wechaty-10.jpeg', - 'jekyll/assets/2019/koa-wechaty-2.jpeg', - 'jekyll/assets/2019/koa-wechaty-3.jpeg', - 'jekyll/assets/2019/koa-wechaty-4.jpeg', - 'jekyll/assets/2019/koa-wechaty-5.jpeg', - 'jekyll/assets/2019/koa-wechaty-6.jpeg', - 'jekyll/assets/2019/koa-wechaty-7.jpeg', - 'jekyll/assets/2019/koa-wechaty-8.jpeg', - 'jekyll/assets/2019/koa-wechaty-9.jpeg', - 'jekyll/assets/2019/koa-wechaty.jpg', - 'jekyll/assets/2019/maodou-ketang-demo.png', - 'jekyll/assets/2019/maodou-ketang-invite-qrcode.png', - 'jekyll/assets/2019/maodou-ketang-qrcode.png', - 'jekyll/assets/2019/maodou-miniprogram-spec.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-1.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-10.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-11.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-12.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-13.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-14.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-15.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-16.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-17.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-18.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-19.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-2.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-20.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-21.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-22.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-23.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-24.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-25.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-26.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-3.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-4.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-5.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-6.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-7.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-8.png', - 'jekyll/assets/2019/microsoft-ai-global-training-camp/image-9.png', - 'jekyll/assets/2019/node-wechaty-1.jpeg', - 'jekyll/assets/2019/node-wechaty-2.jpeg', - 'jekyll/assets/2019/node-wechaty-3.jpeg', - 'jekyll/assets/2019/pkg-jq.gif', - 'jekyll/assets/2019/rasa-1.png', - 'jekyll/assets/2019/rasa-2.png', - 'jekyll/assets/2019/rasa-3.png', - 'jekyll/assets/2019/recruit-bot-img-1.png', - 'jekyll/assets/2019/recruit-bot-img-2.png', - 'jekyll/assets/2019/remind-eat-1.jpg', - 'jekyll/assets/2019/remind-eat-2.jpg', - 'jekyll/assets/2019/tstest.png', - 'jekyll/assets/2019/wechaty-pay-botorange.png', - 'jekyll/assets/2019/wechaty-pay-paycompare.png', - 'jekyll/assets/2019/wechaty-pay-paymentsx.jpg', - 'jekyll/assets/2019/wechaty-pay-paypic.png', - 'jekyll/assets/2019/wechaty-pay-wechat.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/pku-liming.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/pku-liming2.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-arch.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-bot-friday.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-community.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-lecture2.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-pku-mdktxzs.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/wechaty-summary.jpeg', - 'jekyll/assets/2019/wechaty-pku-lecture/xzs-workflow.jpeg', - 'jekyll/assets/2019/wechaty-ricepo/logo.png', - 'jekyll/assets/2019/wechaty-ricepo/order.png', - 'jekyll/assets/2019/wechaty-ricepo/ricepo.png', - 'jekyll/assets/2019/wechaty-ricepo/slack.png', - 'jekyll/assets/2019/wechaty-ricepo/wechat.png', - 'jekyll/assets/2019/wewe-screenshot.png', - 'jekyll/assets/2019/wewe-timbot.jpg', - 'jekyll/assets/2020/03-slash-huan-kaiyuanshe/aka.png', - 'jekyll/assets/2020/03-slash-huan-kaiyuanshe/huan-github.png', - 'jekyll/assets/2020/03-slash-huan-kaiyuanshe/slash-huan.png', - 'jekyll/assets/2020/08-gitter/gitter.png', - 'jekyll/assets/2020/08-gitter/wechaty-gitter.png', - 'jekyll/assets/2020/08-zizz/zizz-discussion.jpg', - 'jekyll/assets/2020/08-zizz/zizz.png', - 'jekyll/assets/2020/09-soc-go-plugin/2020-09-27-go-wechaty-plugin.png', - 'jekyll/assets/2020/10-use-wechaty-to-predict-image/screenshot.jpg', - 'jekyll/assets/2020/11-chatie-status-page/chatie-status.png', - 'jekyll/assets/2020/11-chatie-status-page/hostie-concurrency.png', - 'jekyll/assets/2020/11-lets-water/letswater.png', - 'jekyll/assets/2020/11-summer-2020-summit-talks/four.jpg', - 'jekyll/assets/2020/11-summer-2020-summit-talks/six.jpg', - 'jekyll/assets/2020/11-summer-2020-wechaty/student-project-list.png', - 'jekyll/assets/2020/11-summer-2020-wechaty/summer-2020-banner.png', - 'jekyll/assets/2020/11-summer-2020-wechaty/summer-2020.png', - 'jekyll/assets/2020/11-summer-2020-wechaty/wechaty-logo.png', - 'jekyll/assets/2020/12-07-rock/rock.jpeg', - 'jekyll/assets/2020/12-07-wxwork/wecom.png', - 'jekyll/assets/2020/12-dotnet-wechaty/add-wechaty-nuget.png', - 'jekyll/assets/2020/12-dotnet-wechaty/console-project.png', - 'jekyll/assets/2020/12-dotnet-wechaty/dotnet-wechaty.png', - 'jekyll/assets/2020/12-johnwang71/avartar.png', - 'jekyll/assets/2020/12-johnwang71/wechaty-integration.png', - 'jekyll/assets/2020/12-open-source-award-wechaty/oss-award-rui.jpg', - 'jekyll/assets/2020/12-open-source-award-wechaty/oss-honor.jpg', - 'jekyll/assets/2020/12-open-source-pioneer-huan/pioneer.png', - 'jekyll/assets/2020/12-open-source-pioneer-huan/segmentfault-oss-award-huan.jpg', - 'jekyll/assets/2020/12-summer-2020-student-developers/award.png', - 'jekyll/assets/2020/12-summer-2020-student-developers/summer-2020.png', - 'jekyll/assets/2020/12-wechaty-2020-dinner-666/group-photo.jpg', - 'jekyll/assets/2020/12-wechaty-2020-dinner-666/splash.jpg', - 'jekyll/assets/2020/12-wechaty-2020-dinner-666/stickers.jpg', - 'jekyll/assets/2020/12-wechaty-robot-lite/code-structure.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/example-1.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/example-2.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/example-3.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login-error.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/qrcode-login.png', - 'jekyll/assets/2020/12-wechaty-robot-lite/web-example.png', - 'jekyll/assets/2020/2020-12-23-wxwork-and-donut/avatar.jpeg', - 'jekyll/assets/2020/2020-12-23-wxwork-and-donut/chatbot-img.png', - 'jekyll/assets/2020/2020-12-23-wxwork-and-donut/example1.png', - 'jekyll/assets/2020/2020-12-23-wxwork-and-donut/example2.png', - 'jekyll/assets/2020/910taobot/panda.jpg', - 'jekyll/assets/2020/add-video-to-wechaty-blog/header.png', - 'jekyll/assets/2020/ads-filter-groupbot/ads-filter-groupbot.jpeg', - 'jekyll/assets/2020/alter-padplus/login.png', - 'jekyll/assets/2020/archyshuo-anki-assistant/archybots.jpg', - 'jekyll/assets/2020/archyshuo-anki-assistant/cat.gif', - 'jekyll/assets/2020/archyshuo-anki-assistant/demo.jpg', - 'jekyll/assets/2020/archyshuo-anki-assistant/demo2.png', - 'jekyll/assets/2020/archyshuo-anki-assistant/demo3.5.png', - 'jekyll/assets/2020/archyshuo-anki-assistant/demo3.png', - 'jekyll/assets/2020/archyshuo-anki-assistant/informal-uml.png', - 'jekyll/assets/2020/archyshuo-anki-assistant/tt.jpg', - 'jekyll/assets/2020/archyshuo-anki-assistant/wx.jpg', - 'jekyll/assets/2020/azure-show/azure-show-huan.png', - 'jekyll/assets/2020/azure-show/azure-show-mvp.png', - 'jekyll/assets/2020/azure-show/azure-show-rui.png', - 'jekyll/assets/2020/azure-show/azure-show.png', - 'jekyll/assets/2020/chassist-final/logo.png', - 'jekyll/assets/2020/chassist-final/uml.png', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-1.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-10.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-11.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-12.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-13.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-14.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-2.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-3.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-4.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-5.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-6.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-7.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-8.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/slide-9.jpg', - 'jekyll/assets/2020/chatbot-on-uniqueway/teaser.jpg', - 'jekyll/assets/2020/commandline-filter/0.jpg', - 'jekyll/assets/2020/commandline-filter/1.jpg', - 'jekyll/assets/2020/commandline-filter/2.jpg', - 'jekyll/assets/2020/commandline-filter/3.jpg', - 'jekyll/assets/2020/commandline-filter/logo.png', - 'jekyll/assets/2020/coupon-wechat-bot/coupon-wechat-bot.jpg', - 'jekyll/assets/2020/cps-bot/qrcode.jpg', - 'jekyll/assets/2020/cps-chat-bot/goodsmsg.jpeg', - 'jekyll/assets/2020/daily-message-and-chatbot/daily-message.png', - 'jekyll/assets/2020/daily-message-and-chatbot/keyword-push.png', - 'jekyll/assets/2020/daily-message-and-chatbot/push-contact.png', - 'jekyll/assets/2020/daily-message-and-chatbot/talk-to-bot.png', - 'jekyll/assets/2020/daily-push-wechat-robot/emoji.png', - 'jekyll/assets/2020/daily-push-wechat-robot/fake-robot.jpg', - 'jekyll/assets/2020/daily-push-wechat-robot/intro.png', - 'jekyll/assets/2020/daily-push-wechat-robot/push-inroom.png', - 'jekyll/assets/2020/daily-push-wechat-robot/push-per.png', - 'jekyll/assets/2020/daily-push-wechat-robot/whether.png', - 'jekyll/assets/2020/deploy-wechaty-in-aws/ec2-running.png', - 'jekyll/assets/2020/deploy-wechaty-in-aws/wechaty-aws.png', - 'jekyll/assets/2020/early-bird-chatbot/bird.png', - 'jekyll/assets/2020/early-bird-chatbot/covid.png', - 'jekyll/assets/2020/early-bird-chatbot/job.png', - 'jekyll/assets/2020/file-assistant-bot/file-assistant-bot-img.png', - 'jekyll/assets/2020/financial-marketing/2020-03-30-wechat-bot-demo.jpg', - 'jekyll/assets/2020/financial-marketing/2020-03-30-wechaty-bond-bot.png', - 'jekyll/assets/2020/go-wechaty-gh-actions-optimization-final-poc/header.png', - 'jekyll/assets/2020/go-wechaty-github-action-optimization-poc/header.jpg', - 'jekyll/assets/2020/go-wechaty-github-action-optimization/header.jpg', - 'jekyll/assets/2020/go-wechaty-plugin-midterm/2020-08-19-go-wechaty.png', - 'jekyll/assets/2020/go-wechaty-plugin-soc/2020-07-21-go-wechaty.png', - 'jekyll/assets/2020/go-wechaty/2020-06-29-go-wechaty.png', - 'jekyll/assets/2020/go-wechaty/2020-06-29-image1.jpeg', - 'jekyll/assets/2020/group-wechat-bot/2020-06-04-group-wechat-bot.png', - 'jekyll/assets/2020/groupchat-assistant-bot-poc/header.png', - 'jekyll/assets/2020/groupchat-assistant-bot/header.jpeg', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-01.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-02.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-03.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-04.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-05.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-06.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-07.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-08.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-09.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-10.png', - 'jekyll/assets/2020/harrisonqi/2020-12-28-auto-push-news-banner.jpg', - 'jekyll/assets/2020/im-game-robot/a.png', - 'jekyll/assets/2020/im-game-robot/b.png', - 'jekyll/assets/2020/im-game-robot/c.png', - 'jekyll/assets/2020/im-game-robot/qrbread.jpg', - 'jekyll/assets/2020/im-game-robot/qrcat.jpg', - 'jekyll/assets/2020/info-subtotal/head.jpeg', - 'jekyll/assets/2020/issue-feedback-room-monitor/chat-insert-into-db.jpg', - 'jekyll/assets/2020/issue-feedback-room-monitor/feedback-template.jpg', - 'jekyll/assets/2020/issue-feedback-room-monitor/qrcode-push.png', - 'jekyll/assets/2020/issue-feedback-room-monitor/way.jpg', - 'jekyll/assets/2020/java-group-message-sync-bot/wechaty-java.png', - 'jekyll/assets/2020/java-puppet-manager/after-manage.png', - 'jekyll/assets/2020/java-puppet-manager/java-wechaty-logo.png', - 'jekyll/assets/2020/java-puppet-manager/manage-mapping.png', - 'jekyll/assets/2020/java-puppet-manager/manager-backgroud.png', - 'jekyll/assets/2020/java-wechaty-transplant-midpoc/java-wechaty-transplant-midpoc.jpg', - 'jekyll/assets/2020/java-wechaty-transplant/java-wechaty-transplant.jpg', - 'jekyll/assets/2020/java-wechaty/2020-06-15-java-wechaty.png', - 'jekyll/assets/2020/juzi-iot/0.jpg', - 'jekyll/assets/2020/juzi-iot/1.jpg', - 'jekyll/assets/2020/juzi-iot/2.jpg', - 'jekyll/assets/2020/juzi-iot/3.jpg', - 'jekyll/assets/2020/juzi-iot/4.jpg', - 'jekyll/assets/2020/kotlin-wechaty-simple-shell/example.png', - 'jekyll/assets/2020/kotlin-wechaty-simple-shell/home.jpeg', - 'jekyll/assets/2020/kuakua-wechaty/goodmorning.png', - 'jekyll/assets/2020/kuakua-wechaty/kuakua.jpg', - 'jekyll/assets/2020/kuakua-wechaty/titleimage.png', - 'jekyll/assets/2020/kuakua-wechaty/weather.png', - 'jekyll/assets/2020/lark-puppet/wechaty-lark-final.png', - 'jekyll/assets/2020/lark-puppet/wechaty-lark-mid-term.png', - 'jekyll/assets/2020/lark-puppet/wechaty-lark.png', - 'jekyll/assets/2020/manage-ur-customers/2020-0517-wechat.jpeg', - 'jekyll/assets/2020/market-wechat-robot/teaser.jpeg', - 'jekyll/assets/2020/matrix-wechaty/2020-03-matrix-appservice-wechaty.png', - 'jekyll/assets/2020/meeting-notes/07-05-final-smile-picture.png', - 'jekyll/assets/2020/meeting-notes/07-05-gao-yuan-agenda.png', - 'jekyll/assets/2020/meeting-notes/07-05-gao-yuan-how-to-define-stable.png', - 'jekyll/assets/2020/meeting-notes/07-05-head-picture.jpg', - 'jekyll/assets/2020/meeting-notes/07-05-head-picture.png', - 'jekyll/assets/2020/meeting-notes/07-05-hook-restful-api.png', - 'jekyll/assets/2020/meeting-notes/07-05-how-to-make-it-stable.png', - 'jekyll/assets/2020/meeting-notes/07-05-mock-is-required.png', - 'jekyll/assets/2020/meeting-notes/07-05-mock-server-can-test-more.png', - 'jekyll/assets/2020/meeting-notes/07-05-mocker.png', - 'jekyll/assets/2020/meeting-notes/07-05-puppet-mock-template.png', - 'jekyll/assets/2020/meeting-notes/07-05-python-wechaty-plugin-page.png', - 'jekyll/assets/2020/meeting-notes/07-05-python-wechaty-restful-api.png', - 'jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-asyncio.png', - 'jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-bot.png', - 'jekyll/assets/2020/meeting-notes/07-05-python-wechaty-web-functions.png', - 'jekyll/assets/2020/meeting-notes/07-05-the-target-of-test.png', - 'jekyll/assets/2020/meeting-notes/07-05-user-test.png', - 'jekyll/assets/2020/meeting-notes/07-05-wechaty-plugin-in-server.png', - 'jekyll/assets/2020/meeting-notes/07-05-why-puppet-is-not-stable.png', - 'jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-experience.png', - 'jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-think.png', - 'jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-01.png', - 'jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking-02.png', - 'jekyll/assets/2020/meeting-notes/07-05-xiaoyu-some-thinking.png', - 'jekyll/assets/2020/meme-bot/07-19-wechaty-meme-bot.png', - 'jekyll/assets/2020/meme-bot/08-13-wechaty-meme-bot-mid-term.png', - 'jekyll/assets/2020/meme-bot/09-27-flow-chart.png', - 'jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0001.png', - 'jekyll/assets/2020/meme-bot/09-27-wechaty-meme-bot-0002.png', - 'jekyll/assets/2020/meta-puppet-for-python/2020-03-meta-puppet-for-python.jpg', - 'jekyll/assets/2020/mqbot/denglu1.png', - 'jekyll/assets/2020/mqbot/ewm1.jpeg', - 'jekyll/assets/2020/mqbot/fasong1.jpg', - 'jekyll/assets/2020/mqbot/qrcode.png', - 'jekyll/assets/2020/mqbot/wancheng1.jpg', - 'jekyll/assets/2020/ms-lijiarui-interview/intro.jpg', - 'jekyll/assets/2020/ms-lijiarui-interview/teaser.png', - 'jekyll/assets/2020/ms-lijiarui-interview/wechaty.jpg', - 'jekyll/assets/2020/ms-lijiarui-interview/weiqing.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-1.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/agenda-2.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-3.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-4.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-5.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/chaofei-talk-6.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/community-org.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/go-wechaty.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/group-photo.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/huan-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/java-wechaty.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-3.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jcai-talk-4.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-can-do.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-developers.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/jing-talk-ding-dong-bot.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language-teaser.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/multi-language.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/python-wechaty.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/rui-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/scala-wechaty.png', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-3.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-4.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xiaoya-talk-5.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday-gallary.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xilidou-happy-birthday.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-3.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-4.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-5.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-6.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-7.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/xin-talk-8.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-1.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-10.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-11.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-12.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-13.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-2.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-3.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-4.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-5.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-6.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-7.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-8.jpg', - 'jekyll/assets/2020/multi-language-wechaty-beta-released/yuan-talk-9.jpg', - 'jekyll/assets/2020/my-first-wechaty-bot/1.png', - 'jekyll/assets/2020/my-first-wechaty-bot/2.png', - 'jekyll/assets/2020/my-first-wechaty-bot/2020-09-my-first-wechaty-bot.png', - 'jekyll/assets/2020/my-first-wechaty-bot/3.png', - 'jekyll/assets/2020/nio-bot/bio-photo.jpg', - 'jekyll/assets/2020/nio-bot/welcome.jpeg', - 'jekyll/assets/2020/official-account/wechaty-puppet-official-account.png', - 'jekyll/assets/2020/padlocal/logo.png', - 'jekyll/assets/2020/padlocal/topological-graph.png', - 'jekyll/assets/2020/paipiange-bot/1.png', - 'jekyll/assets/2020/paipiange-bot/2.png', - 'jekyll/assets/2020/paipiange-bot/4.png', - 'jekyll/assets/2020/post-ts-to-python/screenshot.jpg', - 'jekyll/assets/2020/promote-bot/banner.png', - 'jekyll/assets/2020/promote-bot/result.jpg', - 'jekyll/assets/2020/promote-bot/result1.png', - 'jekyll/assets/2020/python-wechaty-cps-bot/jdyangli.jpg', - 'jekyll/assets/2020/python-wechaty/live-coding.png', - 'jekyll/assets/2020/python-wechaty/python-wechaty-logo.png', - 'jekyll/assets/2020/python-wechaty/simple-bot.png', - 'jekyll/assets/2020/python-wechaty/wechaty-nanjing-picture.jpg', - 'jekyll/assets/2020/python-wechaty/wujing-weixin.png', - 'jekyll/assets/2020/qijibot/first.jpeg', - 'jekyll/assets/2020/qijibot/jukebao.jpeg', - 'jekyll/assets/2020/qijibot/qijibot.jpg', - 'jekyll/assets/2020/qijibot/talk1.jpg', - 'jekyll/assets/2020/rae-oa-wechaty/birth.png', - 'jekyll/assets/2020/rae-oa-wechaty/catalogue.png', - 'jekyll/assets/2020/rae-oa-wechaty/daily.png', - 'jekyll/assets/2020/rae-oa-wechaty/schecdule.png', - 'jekyll/assets/2020/rcbot/rcbot.jpg', - 'jekyll/assets/2020/rebate-robot/chaxun.png', - 'jekyll/assets/2020/rebate-robot/help.png', - 'jekyll/assets/2020/rebate-robot/taokouling.png', - 'jekyll/assets/2020/rebate-robot/tixian.png', - 'jekyll/assets/2020/rebate-robot/zhuanqian.jpg', - 'jekyll/assets/2020/repe-assistant/2020-05-16-repe-assistant.png', - 'jekyll/assets/2020/retarded-robot/private-feat.png', - 'jekyll/assets/2020/retarded-robot/private-menu.png', - 'jekyll/assets/2020/retarded-robot/room-feat.png', - 'jekyll/assets/2020/rock/rock.jpeg', - 'jekyll/assets/2020/room-manager/bio-photo.png', - 'jekyll/assets/2020/runwechatyonpi/head.png', - 'jekyll/assets/2020/runwechatyonpi/pi.jpg', - 'jekyll/assets/2020/runwechatyonpi/qrcode.jpg', - 'jekyll/assets/2020/runwechatyonpi/run.jpg', - 'jekyll/assets/2020/smwsk-java-wechaty-bot/code.jpg', - 'jekyll/assets/2020/smwsk-java-wechaty-bot/home.jpg', - 'jekyll/assets/2020/smwsk-java-wechaty-bot/results-1.jpg', - 'jekyll/assets/2020/smwsk-java-wechaty-bot/results-2.jpg', - 'jekyll/assets/2020/smwsk-java-wechaty-bot/results-3.jpg', - 'jekyll/assets/2020/sqlite-wechat/2020-03-sqlite-wechat-assistant.jpeg', - 'jekyll/assets/2020/tiny-bot/menu.jpeg', - 'jekyll/assets/2020/tiny-bot/ocr.jpeg', - 'jekyll/assets/2020/tiny-bot/qr.jpeg', - 'jekyll/assets/2020/tiny-bot/teaser.jpeg', - 'jekyll/assets/2020/tom-chat/zelda.jpg', - 'jekyll/assets/2020/umiuni/architecture.png', - 'jekyll/assets/2020/umiuni/icon.png', - 'jekyll/assets/2020/wanke-bot/20201015105732.png', - 'jekyll/assets/2020/wanke-bot/20201015112724.png', - 'jekyll/assets/2020/wanke-bot/20201015141509.png', - 'jekyll/assets/2020/wanke-bot/banner.jpg', - 'jekyll/assets/2020/web-panel-plugin/event.png', - 'jekyll/assets/2020/web-panel-plugin/everyday.png', - 'jekyll/assets/2020/web-panel-plugin/func.jpeg', - 'jekyll/assets/2020/web-panel-plugin/material.png', - 'jekyll/assets/2020/web-panel-plugin/news.jpeg', - 'jekyll/assets/2020/web-panel-plugin/qr.png', - 'jekyll/assets/2020/web-panel-plugin/qrcode-s.png', - 'jekyll/assets/2020/web-panel-plugin/qrcode.png', - 'jekyll/assets/2020/web-panel-plugin/schedule.png', - 'jekyll/assets/2020/web-panel-plugin/user-center.png', - 'jekyll/assets/2020/web-panel-plugin/web-head.png', - 'jekyll/assets/2020/web-panel/panel-1.png', - 'jekyll/assets/2020/web-panel/panel-2.png', - 'jekyll/assets/2020/web-panel/panel-3.png', - 'jekyll/assets/2020/web-panel/panel-4.png', - 'jekyll/assets/2020/web-panel/panel-5.png', - 'jekyll/assets/2020/web-panel/panel-6.png', - 'jekyll/assets/2020/web-panel/panel-7.png', - 'jekyll/assets/2020/web-panel/qr.png', - 'jekyll/assets/2020/web-panel/web-head.png', - 'jekyll/assets/2020/wechat-bot/header.jpg', - 'jekyll/assets/2020/wechat-calc/demo.jpg', - 'jekyll/assets/2020/wechat-calc/header.jpg', - 'jekyll/assets/2020/wechat-daycard/demo.jpg', - 'jekyll/assets/2020/wechat-daycard/header.png', - 'jekyll/assets/2020/wechat-fanli-robot/appkey.png', - 'jekyll/assets/2020/wechat-fanli-robot/detail.png', - 'jekyll/assets/2020/wechat-fanli-robot/meiti.png', - 'jekyll/assets/2020/wechat-fanli-robot/tuiguang.png', - 'jekyll/assets/2020/wechat-fanli-robot/weixin.png', - 'jekyll/assets/2020/wechat-fanli-robot/yingyong.png', - 'jekyll/assets/2020/wechat-for-data-bau/wechat-reply-night.jpg', - 'jekyll/assets/2020/wechat-group-integral-robot/header.jpg', - 'jekyll/assets/2020/wechat-group-integral-robot/wxscreen.png', - 'jekyll/assets/2020/wechat-official-helper/teaser.png', - 'jekyll/assets/2020/wechat-poem-robot/chat.png', - 'jekyll/assets/2020/wechat-poem-robot/pm2.png', - 'jekyll/assets/2020/wechat-poem-robot/regex101-debug.png', - 'jekyll/assets/2020/wechat-poem-robot/regex101.png', - 'jekyll/assets/2020/wechat-purchasing-robot/chat.png', - 'jekyll/assets/2020/wechat-purchasing-robot/header.jpg', - 'jekyll/assets/2020/wechat-purchasing-robot/sell.png', - 'jekyll/assets/2020/wechat-robot-seller/chat.jpeg', - 'jekyll/assets/2020/wechat-robot-seller/page.jpeg', - 'jekyll/assets/2020/wechat-roommessage-bot/answer.png', - 'jekyll/assets/2020/wechat-roommessage-bot/notice.png', - 'jekyll/assets/2020/wechat-roommessage-bot/query.png', - 'jekyll/assets/2020/wechat-roommessage-bot/teaser.png', - 'jekyll/assets/2020/wechaty-bot-hostie/img-func.jpeg', - 'jekyll/assets/2020/wechaty-check-in-robot/notice.png', - 'jekyll/assets/2020/wechaty-daily/daily.png', - 'jekyll/assets/2020/wechaty-daily/daily2.png', - 'jekyll/assets/2020/wechaty-daily/daily3.png', - 'jekyll/assets/2020/wechaty-daily/daily4.png', - 'jekyll/assets/2020/wechaty-daily/daily5.png', - 'jekyll/assets/2020/wechaty-daily/daily6.png', - 'jekyll/assets/2020/wechaty-electron/header.png', - 'jekyll/assets/2020/wechaty-electron/pic01.jpg', - 'jekyll/assets/2020/wechaty-electron/pic02.jpg', - 'jekyll/assets/2020/wechaty-english-learning-assistant/header.jpg', - 'jekyll/assets/2020/wechaty-english-learning-assistant/pic01.jpg', - 'jekyll/assets/2020/wechaty-english-learning-assistant/pic02.jpg', - 'jekyll/assets/2020/wechaty-english-learning-assistant/pic03.jpg', - 'jekyll/assets/2020/wechaty-english-learning-assistant/pic04.jpg', - 'jekyll/assets/2020/wechaty-forwardbot/header.png', - 'jekyll/assets/2020/wechaty-group-chat-robot/demo.jpg', - 'jekyll/assets/2020/wechaty-guangzhou-gathering/pic1.jpg', - 'jekyll/assets/2020/wechaty-guangzhou-gathering/pic2.jpg', - 'jekyll/assets/2020/wechaty-guangzhou-gathering/pic3.jpg', - 'jekyll/assets/2020/wechaty-guangzhou-gathering/pic4.jpg', - 'jekyll/assets/2020/wechaty-guangzhou-gathering/pic5.jpg', - 'jekyll/assets/2020/wechaty-log-monitor/archy-demo.gif', - 'jekyll/assets/2020/wechaty-log-monitor/demo.jpeg', - 'jekyll/assets/2020/wechaty-log-monitor/demo2.jpeg', - 'jekyll/assets/2020/wechaty-log-monitor/gtp3.jpeg', - 'jekyll/assets/2020/wechaty-log-monitor/qr.jpeg', - 'jekyll/assets/2020/wechaty-log-monitor/restart.jpeg', - 'jekyll/assets/2020/wechaty-log-monitor/thumbup.jpeg', - 'jekyll/assets/2020/wechaty-lottery/lottery-header.jpg', - 'jekyll/assets/2020/wechaty-lottery/pic01.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/gcaufy1.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/gcaufy2.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/gcaufy3.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/huan1.png', - 'jekyll/assets/2020/wechaty-plugin-milestone/huan2.png', - 'jekyll/assets/2020/wechaty-plugin-milestone/jessie1.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/jessie2.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/plugin.png', - 'jekyll/assets/2020/wechaty-plugin-milestone/yuan1.jpg', - 'jekyll/assets/2020/wechaty-plugin-milestone/yuan2.jpg', - 'jekyll/assets/2020/wechaty-plugin-xyao/arc.png', - 'jekyll/assets/2020/wechaty-plugin-xyao/interaction-sample.png', - 'jekyll/assets/2020/wechaty-puppet-dingtalk/logo.png', - 'jekyll/assets/2020/wechaty-puppet-douyin/wechaty-puppet-douyin-logo.jpg', - 'jekyll/assets/2020/wechaty-puppet-kuaishou-mid-term/wechaty-puppet-kuaishou-mid-term.jpeg', - 'jekyll/assets/2020/wechaty-puppet-kuaishou/wechaty-puppet-kuaishou-logo.jpeg', - 'jekyll/assets/2020/wechaty-puppet-maker/architecture.png', - 'jekyll/assets/2020/wechaty-puppet-maker/bohao1.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/bohao2.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/huan1.png', - 'jekyll/assets/2020/wechaty-puppet-maker/huan2.png', - 'jekyll/assets/2020/wechaty-puppet-maker/huan3.png', - 'jekyll/assets/2020/wechaty-puppet-maker/huan4.png', - 'jekyll/assets/2020/wechaty-puppet-maker/puppet.png', - 'jekyll/assets/2020/wechaty-puppet-maker/suchang1.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/suchang2.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/yuan1.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/yuan2.jpg', - 'jekyll/assets/2020/wechaty-puppet-maker/yuan3.jpg', - 'jekyll/assets/2020/wechaty-rainbowbot/pic1.png', - 'jekyll/assets/2020/wechaty-rainbowbot/rainbow.jpg', - 'jekyll/assets/2020/wechaty-shenzhen-meetup/book.jpg', - 'jekyll/assets/2020/wechaty-shenzhen-meetup/wechaty-shenzhen-meetup.jpg', - 'jekyll/assets/2020/wechaty-soc-kick-off-meeting/group-photo.png', - 'jekyll/assets/2020/wechaty-soc-kick-off-meeting/soc.png', - 'jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-get-wxg-id.png', - 'jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-result.png', - 'jekyll/assets/2020/wechaty-speaker-mention/speaker-mention-scan.png', - 'jekyll/assets/2020/wechaty-speaker-mention/speaker-mention.png', - 'jekyll/assets/2020/wechaty-stock-bot/header.jpg', - 'jekyll/assets/2020/wechaty-stock-bot/pic01.png', - 'jekyll/assets/2020/wechaty-stock-bot/pic02.png', - 'jekyll/assets/2020/wechaty-subscription-bot/teaser.png', - 'jekyll/assets/2020/wechaty-subscription-bot/wx_easecloud.jpg', - 'jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot0.jpg', - 'jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot1.jpg', - 'jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot2.jpg', - 'jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot3.jpg', - 'jekyll/assets/2020/wechaty-team-robot/2020-05-20-wechaty-team-robot4.jpg', - 'jekyll/assets/2020/wechaty-teamin-chatbot/chat-01.jpg', - 'jekyll/assets/2020/wechaty-teamin-chatbot/chat-02.jpg', - 'jekyll/assets/2020/wechaty-teamin-chatbot/home-01.jpg', - 'jekyll/assets/2020/wechaty-teamin-chatbot/structure.png', - 'jekyll/assets/2020/wechaty-teamin-chatbot/teamin-assistant.png', - 'jekyll/assets/2020/wechaty-twitter2wechat/core-code.jpg', - 'jekyll/assets/2020/wechaty-twitter2wechat/wechaty-twitter2wechat-header.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/final-screenshot.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/mobile-screenshot-1.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/openai-banner.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/openai-config.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/openai-qna.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/openai-screenshot.jpg', - 'jekyll/assets/2020/wechaty-weixin-openai/teaser-image.png', - 'jekyll/assets/2020/wechaty-words-per-day-plugin-final/logo.png', - 'jekyll/assets/2020/wechaty-words-per-day-plugin-mid-term/header.png', - 'jekyll/assets/2020/wechaty-words-per-day-plugin-plan/header.jpg', - 'jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4418.jpg', - 'jekyll/assets/2020/wechaty-xiaowang-learning-tool/img-4425.jpg', - 'jekyll/assets/2020/wechaty-xiaowang-learning-tool/teaser.jpg', - 'jekyll/assets/2020/wetchat-bot-chat/demo.jpg', - 'jekyll/assets/2020/when-bus-come/teaser.jpg', - 'jekyll/assets/2020/wonderful-wechaty-devops-tools/git-hooks-explain.png', - 'jekyll/assets/2020/wonderful-wechaty-devops-tools/git-push-error.jpg', - 'jekyll/assets/2020/wonderful-wechaty-devops-tools/question-face.png', - 'jekyll/assets/2020/wonderful-wechaty-devops-tools/teaser-image.png', - 'jekyll/assets/2020/wonderful-wechaty-devops-tools/version-intro.png', - 'jekyll/assets/2020/work-puppet/pic.jpg', - 'jekyll/assets/2020/work-puppet/pic2.jpg', - 'jekyll/assets/2020/work-puppet/pic3.jpg', - 'jekyll/assets/2020/wx-group-assistant-bot/wx-bot.jpg', - 'jekyll/assets/2020/wxbot-admin/admin.png', - 'jekyll/assets/2020/wxbot-admin/screenshot.png', - 'jekyll/assets/2020/wxbot/admin1.jpg', - 'jekyll/assets/2020/wxbot/err1.jpg', - 'jekyll/assets/2020/wxbot/qrcode.png', - 'jekyll/assets/2020/wxbot/wx0.jpg', - 'jekyll/assets/2020/wxbot/wx1.jpg', - 'jekyll/assets/2020/wxbot/wx2.jpg', - 'jekyll/assets/2020/yanbot/yanbot.jpg', - 'jekyll/assets/2020/yibot/1.jpg', - 'jekyll/assets/2020/yibot/2.jpg', - 'jekyll/assets/2020/youdao-plugin/1.jpeg', - 'jekyll/assets/2020/youdao-plugin/head.jpeg', - 'jekyll/assets/2020/your-wechat-bot/banner.png', - 'jekyll/assets/2020/your-wechat-bot/demo.gif', - 'jekyll/assets/2021/01-carpool-bot-with-wechaty-1/1.jpg', - 'jekyll/assets/2021/01-carpool-bot-with-wechaty-1/2.jpg', - 'jekyll/assets/2021/01-carpool-bot-with-wechaty-1/3.jpg', - 'jekyll/assets/2021/01-carpool-bot-with-wechaty-1/4.jpeg', - 'jekyll/assets/2021/01-csharp-wechaty-for-padlocal-puppet-service/dotnet-wechaty.png', - 'jekyll/assets/2021/01-summer-2020-summit-okr/goal.png', - 'jekyll/assets/2021/01-summer-2020-summit-okr/what-is-okr.png', - 'jekyll/assets/2021/01-wechaty-api-1/luyomo.png', - 'jekyll/assets/2021/01-wechaty-charbot-lite/1.png', - 'jekyll/assets/2021/01-wechaty-charbot-lite/2.png', - 'jekyll/assets/2021/01-wechaty-charbot-lite/3.png', - 'jekyll/assets/2021/01-wechaty-puppet-service/5-puppets.jpg', - 'jekyll/assets/2021/02-google-cloud-shell-tutorials/google-cloud-platform.jpg', - 'jekyll/assets/2021/02-google-cloud-shell-tutorials/wechaty-google-cloud-shell-tutorial.png', - 'jekyll/assets/2021/02-how-to-use-wechaty-to-ask-for-payment-before-user-joining-the-group/paying-by-qrcode.png', - 'jekyll/assets/2021/02-matrix-with-wechaty/2020-03-matrix-appservice-wechaty.png', - 'jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/logo.png', - 'jekyll/assets/2021/02-publishment-of-wechaty-whatsapp-puppet/wechaty-puppet-whatsapp-demo.png', - 'jekyll/assets/2021/02-python-wechaty-for-padlocal-puppet-service/python-wechaty-logo.png', - 'jekyll/assets/2021/02-summer-wechaty-nanjing-summit-journey/front.jpg', - 'jekyll/assets/2021/02-wechat-chatroom-assistant/demo.jpg', - 'jekyll/assets/2021/02-wechat-chatroom-assistant/header.jpg', - 'jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_input.png', - 'jekyll/assets/2021/02-ziki-wechaty-helper/ziki_bot_query.png', - 'jekyll/assets/2021/02-ziki-wechaty-helper/ziki_glance.png', - 'jekyll/assets/2021/03-google-season-of-docs-documentation-system/doc-sys-overview.png', - 'jekyll/assets/2021/03-google-season-of-docs-documentation-system/doctypes.png', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step1.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step10.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step2.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step3.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step4.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step5.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step6.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step7.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step8.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/bot_step9.jpeg', - 'jekyll/assets/2021/03-node-wechaty-and-wechaty-puppet-padlocal/grouupmaster.png', - 'jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/arch.png', - 'jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/cloud-virtual-machine.png', - 'jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/python-wechaty-logo9.png', - 'jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/qrcode.png', - 'jekyll/assets/2021/03-python-wechaty-and-wechaty-puppet-padlocal/testing.png', - 'jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-bot.jpg', - 'jekyll/assets/2021/03-rcs-messaging-chatbot/rcs-screen.png', - 'jekyll/assets/2021/03-summer-2021-kick-off-meeting/summer2021.png', - 'jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/archetecture.png', - 'jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/btc-autoreply.png', - 'jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-btc.png', - 'jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/tag-unicorn.png', - 'jekyll/assets/2021/03-tag-based-bot-detect-vip-customer/unicorn-autoreply.png', - 'jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/avatar.jpeg', - 'jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/result.jpg', - 'jekyll/assets/2021/03-wechaty-cryptocurrency-websocket/wechaty-btc.jpg', - 'jekyll/assets/2021/03-wechaty-puppet-providers-trends/wechaty-puppet-providers-trends.png', - 'jekyll/assets/2021/04-ai-chatbot-paddlehub/banner.png', - 'jekyll/assets/2021/04-chatie-api-server-down/system-down.jpeg', - 'jekyll/assets/2021/04-go-wechaty-use-web/ding.jpeg', - 'jekyll/assets/2021/04-go-wechaty-use-web/struct.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/01.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/02.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/03.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/04.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/05.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/06.png', - 'jekyll/assets/2021/04-how-to-publish-blog-on-wechaty/rare-book.jpeg', - 'jekyll/assets/2021/04-python-wechaty-use-web/wechaty-love-wechaty-desktop.png', - 'jekyll/assets/2021/04-wechat-group-chat-interactive-robot/bind.png', - 'jekyll/assets/2021/04-wechat-group-chat-interactive-robot/header.png', - 'jekyll/assets/2021/04-wechat-group-chat-interactive-robot/start.png', - 'jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/header.jpg', - 'jekyll/assets/2021/04-wechat-group-cryptocurrency-robot/result.png', - 'jekyll/assets/2021/04-wechaty-contributor-meetup/cheers.jpg', - 'jekyll/assets/2021/04-wechaty-uos-web/wechaty-puppet-wechat.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/completion-invite.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/eliza.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/header.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/logs.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/qrcode.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-cpu.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-paddlehub.png', - 'jekyll/assets/2021/04-wechaty-with-paddlepaddle/wechaty-structure.png', - 'jekyll/assets/2021/05-gsod-2021-applicant-jaya2320/profile.jpg', - 'jekyll/assets/2021/05-gsod-2021-applicant-sbis04/wechaty_contributor_gsod_2021.png', - 'jekyll/assets/2021/05-gsod-2021-how-to-guide-team-proposal/gsod.png', - 'jekyll/assets/2021/05-gsod-2021-improve-introduction-and-explanation-project-joint-proposal/introduction-and-explanation.png', - 'jekyll/assets/2021/05-gsod-2021-proposal-for-improve-the-grpc-and-openapi-ecosystem/gsod-2021.png', - 'jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/example-lp.png', - 'jekyll/assets/2021/05-gsod-2021-reconstruct-landing-page-team-proposal/gsod-reconstruct-lp.png', - 'jekyll/assets/2021/05-gsod-2021-selected-technical-writers/do-not-go-out-of-scope.png', - 'jekyll/assets/2021/05-gsod-2021-selected-technical-writers/doc-sys-overview.png', - 'jekyll/assets/2021/05-gsod-2021-selected-technical-writers/gsod-banner.png', - 'jekyll/assets/2021/05-gsod-2021-team-proposal-tutorials/wechaty-tutorials-proposal.png', - 'jekyll/assets/2021/05-gsod-project-proposal-shwetal-wechaty/profilepic.jpeg', - 'jekyll/assets/2021/05-gsod21-simin-proposal/profile.jpg', - 'jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/bright.png', - 'jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/contract.png', - 'jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/framework.png', - 'jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/gamma.png', - 'jekyll/assets/2021/05-how-to-build-a-panda-face-generator-with-paddlepaddle/shut-up-and-kiss-me.jpg', - 'jekyll/assets/2021/05-interactive-tutorials-for-newcomers/gsod_s.png', - 'jekyll/assets/2021/05-joseph-mawa-google-season-of-docs-project-technical-proposal/lemur.jpeg', - 'jekyll/assets/2021/05-landing-page-value-proposition/value-creation-process.png', - 'jekyll/assets/2021/05-rohitesh-applicant-for-volunteering-gsod/rohitesh.jpeg', - 'jekyll/assets/2021/05-sajen-sarvajith-blog-post/profile-pic.jpeg', - 'jekyll/assets/2021/05-shraddhavp-interactive-wechaty-tutorial/shraddhapic.jpg', - 'jekyll/assets/2021/05-shraddhavp-soumi-combined-reference-proposal/gsod_s.png', - 'jekyll/assets/2021/05-simin-documentation-structure/cover_photo.png', - 'jekyll/assets/2021/05-simin-documentation-structure/explanation.png', - 'jekyll/assets/2021/05-simin-documentation-structure/how-to_guides.png', - 'jekyll/assets/2021/05-simin-documentation-structure/reference_guides.png', - 'jekyll/assets/2021/05-simin-documentation-structure/tutorials.png', - 'jekyll/assets/2021/05-vasvi-applicant-for-technical-writer-gsod/vasvi.png', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-01.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-02.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-03.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-04.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-05.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-06.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-07.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-08.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/03-09.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/04-01.jpg', - 'jekyll/assets/2021/05-wechaty-bible-chatbot/logo.png', - 'jekyll/assets/2021/05-wechaty-local-forums-and-past-events/community-events.jpeg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/ding-dong.jpg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-build-web.jpg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/docker-status.jpg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/multi-bot.jpg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/run-python.jpg', - 'jekyll/assets/2021/05-win10-use-docker-build-web-protocol-server-develop-bot/scan-qrcode.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/0.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-1.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-1-2.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-10.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-11.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-12.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-13.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-14.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-15.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-16-2.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-17.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-18.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-19.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-2.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-20.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-21.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-1.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-22-2.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-23.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-3.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-4.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-5.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-6.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-7.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-8.jpg', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/1-9.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-2.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1-3.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-2.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-3.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/2-4-4.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-0-2.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/3-1.png', - 'jekyll/assets/2021/06-how-to-get-a-weixin-chatbot-with-python-wechaty-and-paddlehub-and-aliyun/cover.jpg', - 'jekyll/assets/2021/06-ospp-startup-discussion/ospp-meeting-image.png', - 'jekyll/assets/2021/06-puppet-simplepad-hello/logo.png', - 'jekyll/assets/2021/06-puppet-simplepad-hello/process.png', - 'jekyll/assets/2021/06-summer-2021-open-source/002.webp', - 'jekyll/assets/2021/06-summer-wechaty-guide/teaser.png', - 'jekyll/assets/2021/06-the-wechaty-way/meeting-notes.png', - 'jekyll/assets/2021/06-the-wechaty-way/pr.png', - 'jekyll/assets/2021/06-the-wechaty-way/rfc.png', - 'jekyll/assets/2021/06-the-wechaty-way/teaser.png', - 'jekyll/assets/2021/06-the-wechaty-way/youtube-example.jpg', - 'jekyll/assets/2021/06-wxrobot-backend-management/admin.png', - 'jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.jpg', - 'jekyll/assets/2021/07-code-like-poetry-bot-like-song/cover.png', - 'jekyll/assets/2021/07-puppet-laozhang-wechat-bot/wechat_bot.png', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/header.png', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/prize.png', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/qr.png', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/qrcode.png', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif', - 'jekyll/assets/contributors/7sdream/avatar.png', - 'jekyll/assets/contributors/abhishek/avatar.png', - 'jekyll/assets/contributors/alienfist/avatar.png', - 'jekyll/assets/contributors/antonia0912/avatar.png', - 'jekyll/assets/contributors/archy/avatar.png', - 'jekyll/assets/contributors/areigna/avatar.png', - 'jekyll/assets/contributors/atorber/avatar.png', - 'jekyll/assets/contributors/basicthinker/avatar.jpg', - 'jekyll/assets/contributors/bikaiqiao/avatar.png', - 'jekyll/assets/contributors/binsee/avatar.png', - 'jekyll/assets/contributors/biofer/avatar.png', - 'jekyll/assets/contributors/blueseashore/avatar.png', - 'jekyll/assets/contributors/bukaqiaqia/avatar.png', - 'jekyll/assets/contributors/cavoncheng/avatar.jpg', - 'jekyll/assets/contributors/chaogan-yan/avatar.png', - 'jekyll/assets/contributors/charles-wu-chen/avatar.jpeg', - 'jekyll/assets/contributors/chengaopan/avatar.png', - 'jekyll/assets/contributors/chenj-freedom/avatar.png', - 'jekyll/assets/contributors/chianquan/avatar.png', - 'jekyll/assets/contributors/chs97/avatar.png', - 'jekyll/assets/contributors/cixingguangming55555/avatar.png', - 'jekyll/assets/contributors/coderwhocode/avatar.png', - 'jekyll/assets/contributors/cr4fun/avatar.png', - 'jekyll/assets/contributors/crossly/avatar.png', - 'jekyll/assets/contributors/csjuxyz/avatar.png', - 'jekyll/assets/contributors/cubesky/avatar.png', - 'jekyll/assets/contributors/cunkoulaocai/avatar.jpg', - 'jekyll/assets/contributors/cunkoulaocai/cunkoulaocai.jpg', - 'jekyll/assets/contributors/darkli/avatar.png', - 'jekyll/assets/contributors/dchaofei/avatar.png', - 'jekyll/assets/contributors/dcsan/avatar.png', - 'jekyll/assets/contributors/diaozxin007/avatar.png', - 'jekyll/assets/contributors/ershing/avatar.png', - 'jekyll/assets/contributors/evany/avatar.png', - 'jekyll/assets/contributors/evilbt/avatar.jpg', - 'jekyll/assets/contributors/exctech/avatar.png', - 'jekyll/assets/contributors/fangmuke/avatar.jpg', - 'jekyll/assets/contributors/finctive/avatar.png', - 'jekyll/assets/contributors/fish-ball/avatar.png', - 'jekyll/assets/contributors/garyboygo/avatar.jpeg', - 'jekyll/assets/contributors/gcaufy/avatar.png', - 'jekyll/assets/contributors/generalbao/avatar.png', - 'jekyll/assets/contributors/gileswong/avatar.png', - 'jekyll/assets/contributors/godkillerxiao/avatar.png', - 'jekyll/assets/contributors/greatgeekgrace/avatar.png', - 'jekyll/assets/contributors/guoyingxu/avatar.png', - 'jekyll/assets/contributors/h3llotom/avatar.png', - 'jekyll/assets/contributors/h4dex/avatar.png', - 'jekyll/assets/contributors/hailiang-wang/avatar.png', - 'jekyll/assets/contributors/harrisonqi/avatar.jpg', - 'jekyll/assets/contributors/hczhcz/avatar.png', - 'jekyll/assets/contributors/henryfanyiye/avatar.png', - 'jekyll/assets/contributors/heygum/avatar.png', - 'jekyll/assets/contributors/huan/avatar.jpg', - 'jekyll/assets/contributors/huan/wechat-qrcode.jpg', - 'jekyll/assets/contributors/hurely/avatar.jpg', - 'jekyll/assets/contributors/huyingxi/avatar.png', - 'jekyll/assets/contributors/hywhuangyuwei/avatar.jpg', - 'jekyll/assets/contributors/hzhuhao/avatar.jpg', - 'jekyll/assets/contributors/hzzzzzz/avatar.png', - 'jekyll/assets/contributors/iamrajiv/avatar.jpeg', - 'jekyll/assets/contributors/iivveess/avatar.png', - 'jekyll/assets/contributors/imwildcat/avatar.png', - 'jekyll/assets/contributors/itingle/avatar.png', - 'jekyll/assets/contributors/iyjian/avatar.png', - 'jekyll/assets/contributors/jaslin/avatar.png', - 'jekyll/assets/contributors/jasonlovesharon/avatar.png', - 'jekyll/assets/contributors/jaya2320/avatar.jpg', - 'jekyll/assets/contributors/jcai/avatar.png', - 'jekyll/assets/contributors/jcq15/avatar.png', - 'jekyll/assets/contributors/jellyzhang/avatar.jpeg', - 'jekyll/assets/contributors/jesn/avatar.png', - 'jekyll/assets/contributors/jesseweb/avatar.png', - 'jekyll/assets/contributors/jiangxiaotao1024/avatar.png', - 'jekyll/assets/contributors/jihuayu/avatar.png', - 'jekyll/assets/contributors/jijiechen/avatar.jpg', - 'jekyll/assets/contributors/jiucl/avatar.png', - 'jekyll/assets/contributors/johnwang71/avartar.png', - 'jekyll/assets/contributors/judaschrist/avatar.png', - 'jekyll/assets/contributors/juzibot/avatar.png', - 'jekyll/assets/contributors/kaffa/avatar.png', - 'jekyll/assets/contributors/kelly-cheng/avatar.png', - 'jekyll/assets/contributors/kis87988/avatar.png', - 'jekyll/assets/contributors/kkdev163/avatar.png', - 'jekyll/assets/contributors/krapnik/avatar.jpg', - 'jekyll/assets/contributors/kungfu-software/avatar.png', - 'jekyll/assets/contributors/kxz18/avatar.png', - 'jekyll/assets/contributors/kylin93cn/avatar.png', - 'jekyll/assets/contributors/leijiahang/avatar.png', - 'jekyll/assets/contributors/leinue/avatar.png', - 'jekyll/assets/contributors/leochen-g/avatar.png', - 'jekyll/assets/contributors/leons828/avatar.png', - 'jekyll/assets/contributors/lhr0909/avatar.jpeg', - 'jekyll/assets/contributors/lijiarui/avatar.png', - 'jekyll/assets/contributors/lijiarui/sky.jpg', - 'jekyll/assets/contributors/likai/avatar.png', - 'jekyll/assets/contributors/limingth/avatar.png', - 'jekyll/assets/contributors/lirobin1998/avatar.jpg', - 'jekyll/assets/contributors/lmacode/avatar.png', - 'jekyll/assets/contributors/lovely-pig/avatar.png', - 'jekyll/assets/contributors/luweicn/avatar.png', - 'jekyll/assets/contributors/luyomo/luyomo.png', - 'jekyll/assets/contributors/lwp/avatar.png', - 'jekyll/assets/contributors/lyleshaw/avatar.png', - 'jekyll/assets/contributors/moderncrazy/avatar.png', - 'jekyll/assets/contributors/mrwis/avatar.png', - 'jekyll/assets/contributors/mukaiu/avatar.png', - 'jekyll/assets/contributors/mumup/avatar.jpeg', - 'jekyll/assets/contributors/nbwsc/avatar.jpg', - 'jekyll/assets/contributors/nebell/avatar.jpg', - 'jekyll/assets/contributors/nibble0101/avatar.jpeg', - 'jekyll/assets/contributors/ninetailskim/avatar.jpg', - 'jekyll/assets/contributors/northseacoder/avatar.jpg', - 'jekyll/assets/contributors/osindex/avatar.png', - 'jekyll/assets/contributors/padlocal/avatar.png', - 'jekyll/assets/contributors/paulhybryant/avatar.jpg', - 'jekyll/assets/contributors/peanut/avatar.png', - 'jekyll/assets/contributors/proudofsimin/profile.jpg', - 'jekyll/assets/contributors/przzl/avatar.png', - 'jekyll/assets/contributors/pxingwei/avatar.png', - 'jekyll/assets/contributors/qhduan/avatar.png', - 'jekyll/assets/contributors/quantumflame/avatar.png', - 'jekyll/assets/contributors/r-hou/avatar.jpeg', - 'jekyll/assets/contributors/ray/avatar.png', - 'jekyll/assets/contributors/ray7551/avatar.png', - 'jekyll/assets/contributors/raymondjiangkw/avatar.jpg', - 'jekyll/assets/contributors/redmaple1/avatar.png', - 'jekyll/assets/contributors/remainsu/avatar.png', - 'jekyll/assets/contributors/rickyyin98/avatar.png', - 'jekyll/assets/contributors/rickyyin98/demoday.jpeg', - 'jekyll/assets/contributors/rickyyin98/jukebox.jpg', - 'jekyll/assets/contributors/rickyyin98/phaedo.jpg', - 'jekyll/assets/contributors/rixingyike/avatar.png', - 'jekyll/assets/contributors/rohitesh-kumar-jain/rohitesh.jpeg', - 'jekyll/assets/contributors/roshnaeem/avatar.jpg', - 'jekyll/assets/contributors/roxanne718/avatar.jpg', - 'jekyll/assets/contributors/sajenjeshan1222/avatar.jpeg', - 'jekyll/assets/contributors/sapio-s/avatar.jpg', - 'jekyll/assets/contributors/sbis04/avatar.jpg', - 'jekyll/assets/contributors/secreter/avatar.png', - 'jekyll/assets/contributors/shevyan/avatar.png', - 'jekyll/assets/contributors/shraddhavp/avatar.jpg', - 'jekyll/assets/contributors/shuangjie/avatar.png', - 'jekyll/assets/contributors/shwetalsoni/avatar.jpeg', - 'jekyll/assets/contributors/sidny/avatar.png', - 'jekyll/assets/contributors/simplepad/avatar.png', - 'jekyll/assets/contributors/sking/avatar.png', - 'jekyll/assets/contributors/skyvow/avatar.png', - 'jekyll/assets/contributors/sl1673495/avatar.png', - 'jekyll/assets/contributors/slx1997/avaer.jpg', - 'jekyll/assets/contributors/smwsk/avatar.jpg', - 'jekyll/assets/contributors/songbingjun/avatar-dva.png', - 'jekyll/assets/contributors/soumi7/avatar.jpeg', - 'jekyll/assets/contributors/ssine/avatar.png', - 'jekyll/assets/contributors/steve/avatar.png', - 'jekyll/assets/contributors/steve/steve-avatar.png', - 'jekyll/assets/contributors/su-chang/avatar.png', - 'jekyll/assets/contributors/suninsky/avatar.png', - 'jekyll/assets/contributors/suntong/avatar.png', - 'jekyll/assets/contributors/supercharleszhu/avatar.png', - 'jekyll/assets/contributors/suruozhong/avatar.png', - 'jekyll/assets/contributors/techial1042/avatar.jpg', - 'jekyll/assets/contributors/tianyugeng/avatar.png', - 'jekyll/assets/contributors/timqian/avatar.png', - 'jekyll/assets/contributors/tingyinhelen/avatar.png', - 'jekyll/assets/contributors/tomallv/header.png', - 'jekyll/assets/contributors/univerone/avatar.png', - 'jekyll/assets/contributors/valerieeeee/avatar.png', - 'jekyll/assets/contributors/vasvi/avatar.png', - 'jekyll/assets/contributors/wade0564/avatar.png', - 'jekyll/assets/contributors/wangjunwei/avatar.jpg', - 'jekyll/assets/contributors/wanglei158/timo.jpg', - 'jekyll/assets/contributors/watertao/avatar.jpg', - 'jekyll/assets/contributors/wechaty/icon.png', - 'jekyll/assets/contributors/wengcan/avatar.png', - 'jekyll/assets/contributors/wenzai007/avatar.png', - 'jekyll/assets/contributors/why2lyj/avatar.png', - 'jekyll/assets/contributors/willcup/avatar.png', - 'jekyll/assets/contributors/windmemory/avatar.jpg', - 'jekyll/assets/contributors/wj-mcat/avatar.png', - 'jekyll/assets/contributors/wj-mcat/hello.jpeg', - 'jekyll/assets/contributors/wj-mcat/scenery.jpeg', - 'jekyll/assets/contributors/wnbupt/avatar.png', - 'jekyll/assets/contributors/wss793062366/avatar.png', - 'jekyll/assets/contributors/xajeyu/avatar.png', - 'jekyll/assets/contributors/xiaogan18/avatar.png', - 'jekyll/assets/contributors/xiaok/avatar.png', - 'jekyll/assets/contributors/xinbenlv/avatar.png', - 'jekyll/assets/contributors/yeojongki/avatar.png', - 'jekyll/assets/contributors/yinizhilian/avatar.png', - 'jekyll/assets/contributors/yswtrue/avatar.jpeg', - 'jekyll/assets/contributors/zcr20090430/avatar.jpg', - 'jekyll/assets/contributors/zhangchunsheng/avatar.png', - 'jekyll/assets/contributors/zhihuifanqiechaodan/avatar.jpg', - 'jekyll/assets/contributors/zhoujian1028/zhoujian1028.png', - 'jekyll/assets/contributors/zhoumh1988/avatar.png', - 'jekyll/assets/contributors/zhuangbiaowei/avatar.jpg', - 'jekyll/assets/contributors/zjacai/avatar.png', - 'jekyll/assets/contributors/zlh/avatar.png', - 'jekyll/assets/contributors/zophyr/avatar.png', - 'jekyll/assets/contributors/zoudingyi/avatar.png', - 'jekyll/assets/contributors/zwl/avatar.jpeg', - 'jekyll/assets/contributors/zzhoouxin/avatar.png', - 'jekyll/assets/images/bio-photo.png', - 'jekyll/assets/images/logo.png', - 'jekyll/assets/js/viewer-js/images/kogmbh.png', - 'jekyll/assets/js/viewer-js/images/nlnet.png', - 'jekyll/assets/js/viewer-js/images/texture.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-download.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-fullscreen.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-menuArrows.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-pageDown.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-pageUp.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-presentation.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-zoomIn.png', - 'jekyll/assets/js/viewer-js/images/toolbarButton-zoomOut.png', ] /** @@ -1236,15 +39,15 @@ const BIG_SIZE_TO_BE_FIXED_FILE_LIST = [ /** * Images */ - 'jekyll/assets/2018/birthday-cake-chickens.gif', - 'jekyll/assets/2018/techiefestival-24.gif', - 'jekyll/assets/2020/wechaty-log-monitor/archy-demo.gif', - 'jekyll/assets/2020/your-wechat-bot/demo.gif', + 'jekyll/assets/2018/birthday-cake-chickens.webp', + 'jekyll/assets/2018/techiefestival-24.webp', + 'jekyll/assets/2020/wechaty-log-monitor/archy-demo.webp', + 'jekyll/assets/2020/your-wechat-bot/demo.webp', 'jekyll/assets/2021/06-summer-2021-open-source/002.webp', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.gif', - 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.gif', + 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/botbay.webp', + 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/panda_emoji.webp', + 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/pic_mask.webp', + 'jekyll/assets/2021/07-wechaty-with-paddlepaddle/wanderer.webp', /** * PDFs */