├── .gitignore ├── _config.next.yml ├── _config.yml ├── git push.txt ├── git-push.sh ├── icon.png ├── null ├── package-lock.json ├── package.json ├── scaffolds ├── draft.md ├── page.md └── post.md ├── source ├── _posts │ ├── bypass-gfw │ │ ├── fq-diy.md │ │ ├── fq-diy │ │ │ └── tomato.png │ │ ├── fq-ever.md │ │ ├── fq-ever │ │ │ └── rotten-tomato.png │ │ ├── fq-free.md │ │ ├── fq-free │ │ │ └── geph.png │ │ ├── fq.md │ │ ├── fq │ │ │ └── pacilogo.png │ │ ├── gcp.md │ │ ├── gcp │ │ │ └── google-cloud.png │ │ ├── switchyomega.md │ │ ├── switchyomega │ │ │ └── switchyomega.png │ │ ├── us-apple-id-share.md │ │ ├── us-apple-id-share │ │ │ └── apple-id.png │ │ ├── us-apple-id.md │ │ ├── us-apple-id │ │ │ └── apple.png │ │ ├── yum-cha.md │ │ └── yum-cha │ │ │ └── yum-cha.png │ ├── design │ │ ├── adobe.md │ │ ├── adobe │ │ │ └── adobe.png │ │ ├── graphic-design.md │ │ ├── graphic-design │ │ │ └── drawing-tools.png │ │ ├── pdf.md │ │ ├── pdf │ │ │ └── pdf.png │ │ ├── photography.md │ │ ├── photography │ │ │ └── apertur.png │ │ ├── ppt.md │ │ ├── ppt │ │ │ └── ppt.png │ │ ├── raster-to-vector.md │ │ └── raster-to-vector │ │ │ └── inkscape.png │ ├── digital-life │ │ ├── chrome.md │ │ ├── chrome │ │ │ └── google-chrome.png │ │ ├── digital-life-tips.md │ │ ├── digital-life-tips │ │ │ └── surf-web.png │ │ ├── gcam.md │ │ ├── gcam │ │ │ └── google-camera.png │ │ ├── google-account.md │ │ ├── google-account │ │ │ └── google.png │ │ ├── saladict.md │ │ ├── saladict │ │ │ └── saladict.png │ │ ├── search-tips.md │ │ ├── search-tips │ │ │ └── search.png │ │ ├── telegram-animated-emoji.md │ │ ├── telegram-animated-emoji │ │ │ └── see-no-evil-monkey.png │ │ ├── telegram.md │ │ ├── telegram │ │ │ ├── reply-by-durov.png │ │ │ └── telegram.png │ │ ├── userscripts.md │ │ ├── userscripts │ │ │ └── tampermonkey.png │ │ ├── whatsapp.md │ │ ├── whatsapp │ │ │ └── whatsapp.png │ │ ├── windows.md │ │ └── windows │ │ │ └── windows-10.png │ ├── dr-ting │ │ ├── blog.md │ │ ├── blog │ │ │ └── the-pencil-fist.png │ │ ├── brand.md │ │ ├── brand │ │ │ └── ting-talk.png │ │ ├── luffy-kid-56.jpg │ │ ├── mp-archives.md │ │ ├── mp-archives │ │ │ └── archives.png │ │ ├── tim.md │ │ ├── tim │ │ │ └── hello.png │ │ ├── tingtalk-logo-px.jpg │ │ ├── whisper.md │ │ └── whisper │ │ │ └── diary-book.png │ ├── english │ │ ├── english-grammar.md │ │ ├── english-grammar │ │ │ └── grammar.png │ │ ├── english-pronunciation.md │ │ ├── english-pronunciation │ │ │ └── pronunciation.png │ │ ├── english.md │ │ ├── english │ │ │ └── letter-a.png │ │ ├── follow-up-email.md │ │ ├── follow-up-email │ │ │ └── email.png │ │ ├── jive-talk.md │ │ ├── jive-talk │ │ │ └── chain-ring.png │ │ ├── rick-and-morty-subtitles.md │ │ ├── rick-and-morty-subtitles │ │ │ └── snowball.png │ │ ├── spoken-business-english.md │ │ ├── spoken-business-english │ │ │ └── business.png │ │ ├── tinglish.md │ │ └── tinglish │ │ │ └── letter-a-b-c.png │ ├── foreign-trade │ │ ├── alibaba-tutorial.md │ │ ├── alibaba-tutorial │ │ │ ├── alibaba.png │ │ │ └── search-collation.jpg │ │ ├── business-skills.md │ │ ├── business-skills │ │ │ └── business.png │ │ ├── cold-email.md │ │ ├── cold-email │ │ │ └── email.png │ │ ├── ebay-listing.md │ │ ├── ebay-listing │ │ │ └── ebay.png │ │ ├── epacket.md │ │ ├── epacket │ │ │ └── ems.png │ │ ├── google-ads.md │ │ ├── google-ads │ │ │ └── google-ads.png │ │ ├── linkedin.md │ │ └── linkedin │ │ │ └── linkedin.png │ ├── life │ │ ├── cook.md │ │ ├── cook │ │ │ └── recipe.png │ │ ├── gtd-mind-map.png │ │ ├── gtd.md │ │ ├── gtd │ │ │ └── clock.png │ │ ├── health.md │ │ ├── health │ │ │ └── insurance.png │ │ ├── personal-insurance.md │ │ ├── personal-insurance │ │ │ └── shelter-for-families.png │ │ ├── pets-diary.md │ │ ├── pets-diary │ │ │ ├── dog.png │ │ │ └── dora-and-tinkle.jpeg │ │ ├── teeth.md │ │ └── teeth │ │ │ └── broken-tooth.png │ ├── others │ │ ├── covid-19.md │ │ ├── covid-19 │ │ │ └── covid-19.png │ │ ├── driving-test.md │ │ ├── driving-test │ │ │ └── car.png │ │ ├── graduation.md │ │ ├── graduation │ │ │ └── graduation.png │ │ ├── name.md │ │ ├── name │ │ │ └── name.png │ │ ├── organising-training-events.md │ │ ├── organising-training-events │ │ │ └── participate.png │ │ ├── resume-tips.md │ │ ├── resume-tips │ │ │ └── resume.png │ │ ├── swim.md │ │ └── swim │ │ │ └── swim.png │ ├── website │ │ ├── hexo.md │ │ ├── hexo │ │ │ └── hexo.png │ │ ├── putty.md │ │ └── putty │ │ │ └── ssh.png │ └── writing │ │ ├── composition-seven-tips.md │ │ ├── composition-seven-tips │ │ └── inkwell.png │ │ ├── markdown.md │ │ ├── markdown │ │ └── markdown.png │ │ ├── mp.md │ │ ├── mp │ │ └── wechat.png │ │ ├── style-guide.assets │ │ └── image-20201207122815959.png │ │ ├── style-guide.md │ │ └── style-guide │ │ └── essay.png ├── about │ ├── alipay.jpg │ ├── index.md │ ├── wechat.jpg │ ├── wechat_channel.jpg │ └── wechatpay.jpg ├── ads.txt ├── categories │ └── index.md ├── images │ ├── alipay.jpg │ ├── alipay.png │ ├── android-icon-144x144.png │ ├── android-icon-192x192.png │ ├── android-icon-36x36.png │ ├── android-icon-48x48.png │ ├── android-icon-72x72.png │ ├── android-icon-96x96.png │ ├── apple-touch-icon-next.png │ ├── avatar.gif │ ├── avatar.png │ ├── favicon-16x16-next.png │ ├── favicon-32x32-next.png │ ├── logo.svg │ ├── reward.jpg │ ├── wechat.jpg │ ├── wechat_channel.jpg │ ├── wechat_mp.jpg │ ├── wechatpay.jpg │ └── wechatpay.png └── tags │ └── index.md └── themes └── landscape ├── .gitignore ├── Gruntfile.js ├── LICENSE ├── README.md ├── _config.yml ├── languages ├── de.yml ├── default.yml ├── es.yml ├── fr.yml ├── ja.yml ├── ko.yml ├── nl.yml ├── no.yml ├── pt.yml ├── ru.yml ├── zh-CN.yml └── zh-TW.yml ├── layout ├── _partial │ ├── after-footer.ejs │ ├── archive-post.ejs │ ├── archive.ejs │ ├── article.ejs │ ├── footer.ejs │ ├── gauges-analytics.ejs │ ├── google-analytics.ejs │ ├── head.ejs │ ├── header.ejs │ ├── mobile-nav.ejs │ ├── post │ │ ├── category.ejs │ │ ├── date.ejs │ │ ├── gallery.ejs │ │ ├── nav.ejs │ │ ├── tag.ejs │ │ └── title.ejs │ └── sidebar.ejs ├── _widget │ ├── archive.ejs │ ├── category.ejs │ ├── recent_posts.ejs │ ├── tag.ejs │ └── tagcloud.ejs ├── archive.ejs ├── category.ejs ├── index.ejs ├── layout.ejs ├── page.ejs ├── post.ejs └── tag.ejs ├── package.json ├── scripts └── fancybox.js └── source ├── css ├── _extend.styl ├── _partial │ ├── archive.styl │ ├── article.styl │ ├── comment.styl │ ├── footer.styl │ ├── header.styl │ ├── highlight.styl │ ├── mobile.styl │ ├── sidebar-aside.styl │ ├── sidebar-bottom.styl │ └── sidebar.styl ├── _util │ ├── grid.styl │ └── mixin.styl ├── _variables.styl ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ └── fontawesome-webfont.woff ├── images │ └── banner.jpg └── style.styl ├── fancybox ├── blank.gif ├── fancybox_loading.gif ├── fancybox_loading@2x.gif ├── fancybox_overlay.png ├── fancybox_sprite.png ├── fancybox_sprite@2x.png ├── helpers │ ├── fancybox_buttons.png │ ├── jquery.fancybox-buttons.css │ ├── jquery.fancybox-buttons.js │ ├── jquery.fancybox-media.js │ ├── jquery.fancybox-thumbs.css │ └── jquery.fancybox-thumbs.js ├── jquery.fancybox.css ├── jquery.fancybox.js └── jquery.fancybox.pack.js └── js └── script.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | Thumbs.db 3 | db.json 4 | *.log 5 | node_modules/ 6 | public/ 7 | .deploy*/ -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | # Hexo Configuration 2 | ## Docs: https://hexo.io/docs/configuration.html 3 | ## Source: https://github.com/hexojs/hexo/ 4 | 5 | # Site 6 | title: 庭说 7 | subtitle: 保持蓬勃的好奇心 8 | description: Stay Healthy. Stay Curious. 9 | keywords: 庭说,TingTalk 10 | author: 庭勃士(Dr_Ting) 11 | language: zh-CN 12 | timezone: Asia/Shanghai 13 | 14 | # URL 15 | ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' 16 | url: https://tingtalk.me 17 | root: / 18 | permalink: :name/ 19 | permalink_defaults: 20 | pretty_urls: 21 | trailing_index: false # Set to false to remove trailing 'index.html' from permalinks 22 | trailing_html: false # Set to false to remove trailing '.html' from permalinks 23 | 24 | # Directory 25 | source_dir: source 26 | public_dir: public 27 | tag_dir: tags 28 | archive_dir: archives 29 | category_dir: categories 30 | code_dir: downloads/code 31 | i18n_dir: :lang 32 | skip_render: 33 | 34 | # Writing 35 | new_post_name: :title.md # File name of new posts 36 | default_layout: post 37 | titlecase: false # Transform title into titlecase 38 | external_link: 39 | enable: true # Open external links in new tab 40 | field: site # Apply to the whole site 41 | exclude: '' 42 | filename_case: 0 43 | render_drafts: false 44 | post_asset_folder: true 45 | relative_link: false 46 | future: true 47 | highlight: 48 | enable: flase 49 | line_number: false 50 | auto_detect: false 51 | tab_replace: '' 52 | wrap: true 53 | hljs: false 54 | prismjs: 55 | enable: true 56 | preprocess: true 57 | line_number: false 58 | tab_replace: '' 59 | 60 | # Home page setting 61 | # path: Root path for your blogs index page. (default = '') 62 | # per_page: Posts displayed per page. (0 = disable pagination) 63 | # order_by: Posts order. (Order by date descending by default) 64 | index_generator: 65 | path: '' 66 | per_page: 10 67 | order_by: -updated 68 | 69 | # Category & Tag 70 | default_category: uncategorized 71 | category_map: 72 | 杂七杂八: others 73 | 生活百科: life 74 | 美的设计: design 75 | 庭勃士说: dr-ting 76 | 网站搭建: website 77 | 外贸之路: foreign-trade 78 | 英语学习: english 79 | 数字生活: digital-life 80 | 写作技巧: writing 81 | 翻墙方法: bypass-gfw 82 | tag_map: 83 | 博客: blog 84 | 播客: podcast 85 | 宠物: pet 86 | 动画: animation 87 | 工作: work 88 | 佳句: nice-quote 89 | 技能: skill 90 | 健康: health 91 | 口语: speaking 92 | 排版: typography 93 | 人物: people 94 | 生活: life 95 | 设计: design 96 | 搜索引擎优化: seo 97 | 网上冲浪指南: surf-the-web 98 | 随手记: log 99 | 突破网络审查: bypass-gfw 100 | 写作: writing 101 | 庭勃士: dr-ting 102 | 英语: english 103 | 外贸: foreign-trade 104 | 网站: website 105 | 微信公众号: mp 106 | 祝福: wishes 107 | Apple ID: apple-id 108 | Chrome: chrome 109 | Email: email 110 | Hexo: hexo 111 | Telegram: telegram 112 | VPS: vps 113 | Windows: windows 114 | 115 | # Metadata elements 116 | ## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta 117 | meta_generator: true 118 | 119 | # Date / Time format 120 | ## Hexo uses Moment.js to parse and display date 121 | ## You can customize the date format as defined in 122 | ## http://momentjs.com/docs/#/displaying/format/ 123 | date_format: YYYY-MM-DD 124 | time_format: HH:mm:ss 125 | ## updated_option supports 'mtime', 'date', 'empty' 126 | updated_option: 'date' 127 | 128 | # Pagination 129 | ## Set per_page to 0 to disable pagination 130 | per_page: 10 131 | pagination_dir: page 132 | 133 | # Include / Exclude file(s) 134 | ## include:/exclude: options only apply to the 'source/' folder 135 | include: 136 | exclude: 137 | ignore: 138 | 139 | # Extensions 140 | ## Plugins: https://hexo.io/plugins/ 141 | ## Themes: https://hexo.io/themes/ 142 | ## theme: landscape 143 | theme: next 144 | 145 | # Deployment 146 | ## Docs: https://hexo.io/docs/deployment.html 147 | deploy: 148 | type: '' 149 | 150 | search: 151 | path: search.xml 152 | field: post 153 | content: true 154 | format: html 155 | 156 | sitemap: 157 | path: sitemap.xml 158 | 159 | 160 | feed: 161 | type: atom 162 | path: atom.xml 163 | limit: 0 164 | hub: 165 | content: true 166 | content_limit: 140 167 | content_limit_delim: ' ' 168 | order_by: -updated 169 | icon: https://tingtalk.me/images/avatar.png 170 | autodiscovery: true 171 | template: 172 | 173 | 174 | 175 | ## See Also: https://vxiaozhe1998.gitee.io/2020/03/25/HEXO%E4%B8%8B%E7%9A%84%E9%94%9A%E7%82%B9%E6%A0%87%E9%A2%98%E4%B8%8EEmoji%E8%A1%A8%E6%83%85/ 176 | 177 | markdown: 178 | preset: 'default' 179 | render: 180 | html: true 181 | xhtmlOut: false 182 | breaks: true 183 | linkify: true 184 | typographer: false 185 | quotes: '“”‘’' 186 | enable_rules: 187 | disable_rules: 188 | plugins: 189 | - markdown-it-footnote 190 | - markdown-it-ins 191 | - markdown-it-sub 192 | - markdown-it-sup 193 | - markdown-it-emoji 194 | anchors: 195 | level: 2 196 | collisionSuffix: '' 197 | permalink: true 198 | permalinkClass: 'header-anchor' 199 | permalinkSide: 'right' 200 | permalinkSymbol: '' 201 | case: 0 202 | separator: '-' -------------------------------------------------------------------------------- /git push.txt: -------------------------------------------------------------------------------- 1 | git add . 2 | git commit -m "yum-cha" 3 | git push origin master -------------------------------------------------------------------------------- /git-push.sh: -------------------------------------------------------------------------------- 1 | git add . && git commit -m '更新' && git push origin master -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/icon.png -------------------------------------------------------------------------------- /null: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/null -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-site", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "build": "hexo generate", 7 | "clean": "hexo clean", 8 | "deploy": "hexo deploy", 9 | "server": "hexo server" 10 | }, 11 | "hexo": { 12 | "version": "6.3.0" 13 | }, 14 | "dependencies": { 15 | "hexo": "^6.3.0", 16 | "hexo-asset-link": "^2.2.1", 17 | "hexo-deployer-git": "^3.0.0", 18 | "hexo-generator-archive": "^2.0.0", 19 | "hexo-generator-category": "^2.0.0", 20 | "hexo-generator-feed": "^3.0.0", 21 | "hexo-generator-index": "^3.0.0", 22 | "hexo-generator-podcasts": "^1.0.3", 23 | "hexo-generator-searchdb": "^1.4.1", 24 | "hexo-generator-seo-friendly-sitemap": "0.2.1", 25 | "hexo-generator-tag": "^2.0.0", 26 | "hexo-renderer-ejs": "^2.0.0", 27 | "hexo-renderer-markdown-it": "^6.1.0", 28 | "hexo-renderer-stylus": "^2.1.0", 29 | "hexo-server": "^3.0.0", 30 | "hexo-theme-next": "^8.13.2", 31 | "hexo-word-counter": "^0.1.0", 32 | "markdown-it-named-headings": "^1.1.0", 33 | "pjax": "^0.2.8" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /scaffolds/draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | tags: 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | tags: 5 | --- 6 | -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq-diy/tomato.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/fq-diy/tomato.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq-ever.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 已弃的番茄 4 | date: 2020-02-24 5 | updated: 2020-02-24 6 | categories: 翻墙方法 7 | tags: 突破网络审查 8 | 9 | --- 10 | 11 | ![rotten-tomato](fq-ever/rotten-tomato.png) 12 | 13 | 番茄(科学上网)市场鱼龙混杂,这些是我曾经购买过的付费番茄商,爱过。 14 | 15 | 16 | 17 | ## Just My Socks 18 | 19 | 知名菜农 BandwagonHost(搬瓦工)出品,速度不错,售后响应还算及时。但现在不卖月付 2.88 USD 的番茄,只能选择 5.88 USD 的番茄。**土豪之选,推荐合买。** 20 | 21 | 22 | 23 | ### 切换语言 24 | 25 | 打开 [Just My Socks 的官网](https://justmysocks3.net/members/aff.php?aff=1010),点击右上角的 `Enhlish`,然后切换网站语言为 `中文`。 26 | 27 | 注:`justmysocks.net` 和 `justmysocks1.net` 都已经被封了,最新的官网是 [justmysocks3.net](https://justmysocks3.net/members/aff.php?aff=1010)。 28 | 29 | 30 | 31 | ### 注册账号 32 | 33 | 点击 `注册`,输入 Email(电子邮箱)、Country and State(国家和省份默认即可)、和密码,点击 `I'm not a robot` 进行人机身份验证,同意服务条款。注册完成后,最好验证一下邮箱。 34 | 35 | 36 | 37 | ### 选择套餐 38 | 39 | 依次点击 `服务` - `订购新服务`,以套餐 `Just My Socks 100` 为例: 40 | 41 | - 费用:$5.88 / 月 42 | - 流量:500 GB / 月 43 | - 带宽:2.5 Gbps 44 | - 设备:最多支持 5 个设备(电脑 + 手机)**同时**在线 45 | 46 | 47 | 48 | ### 下单付款 49 | 50 | 以 `$5.88 USD 月繳` 为例,输入优惠码 `JMS9272283` 后是 $5.57, `检验代码` ,`Checkout`,选择 `Alipay`(支付宝)/ `PayPal`,同意条款,完成订购,扫码支付。 51 | 52 | 53 | 54 | ### 购买食用 55 | 56 | - 依次点击 `服务` - `我的服务`,选择刚刚购买的套餐,即可看到刚刚买好的番茄。食用建议如下: 57 | - 把 5 个番茄都添加到 Shadowsocks 客户端(参阅 [吃番茄](https://tingtalk.me/fq) 的章节):因为这个番茄烂了,还有其他 4 个番茄可以备用。 58 | - Server IP 推荐使用域名格式:`c**s*.jamjams.net` 59 | -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq-ever/rotten-tomato.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/fq-ever/rotten-tomato.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq-free.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 拨开迷雾看世界 4 | date: 2020-02-22 5 | updated: 2021-05-15 6 | categories: 翻墙方法 7 | tags: 突破网络审查 8 | 9 | --- 10 | 11 | ![geph](fq-free/geph.png) 12 | 13 | 如果你没有购买翻墙套餐,或其它翻墙软件都失灵时,可使用免费的迷雾通(Geph)作为临时的跳板,越过东方高墙,突破网络封锁,连接自由网络。但免费的,可能也是最贵的。所以,在经济允许的情况下,强烈推荐购买 [付费的番茄](https://tingtalk.me/fq/),节省时间和精力。 14 | 15 | 16 | 17 | 18 | 19 | ## 迷雾通 20 | 21 | ### 特点 22 | 23 | - 提供完全免费的中速浏览(限速:800 kbps),够浏览新闻、查邮件、看标清视频(480p 以下)等。高速的付费 Plus 账号每个月是 €5。 24 | - 支持 Windows 7+、macOS 10.10+ 和 Android,暂不支持 iOS。 25 | 26 | 27 | 28 | ### 下载 29 | 30 | - [官方网站](https://github.com/geph-official/geph2/wiki/%E8%BF%B7%E9%9B%BE%E9%80%9A%EF%BC%88%E5%85%8D%E7%BF%BB%E5%A2%99%E9%95%9C%E5%83%8F%EF%BC%89)(免番茄) 31 | - [官方网站](https://geph.io/zhs/)(吃番茄) 32 | - [备用下载](https://lanzous.com/b00t9wiva)(手动上传至蓝奏云网盘,不一定是最新版,但下载速度快) 33 | 34 | 35 | 36 | ### 教程 37 | 38 | - `Create a new account`(注册): 39 | - `Username`(用户名) 40 | - `Password`(密码) 41 | - `Log in with existing account`(登录)。 42 | - 在 `Settings`(设置)界面: 43 | - `Language`(语言)- `简体中文` 44 | - 打开 `中国流量代理`(Exclude Chinese tracffic) 45 | - 电脑上可以配合浏览器插件 [SwitchyOmega](https://tingtalk.me/switchyomega/) 实现更自由的分流策略,但本地端口号不是 1080,而是 `localhost:9909` 46 | - 在 `概览`(Overview) 界面: 47 | - 随便选一个免费的节点(`国家 / 城市`):美国、加拿大、瑞士。 48 | - 点击上方的按钮 🔘 即可拨开迷雾(连接成功,尽享自由的网络) 49 | 50 | 51 | 52 | ### 通知 53 | 54 | [Geph announcements | 迷雾通电报通知频道](https://t.me/gephannounce) 55 | 56 | 57 | 58 | ## 赛风 59 | 60 | [Psiphon](https://s3.amazonaws.com/psiphon/web/mmqu-p8qj-sgdq/zh/index.html) 是一个 [开源](https://github.com/Psiphon-Inc/psiphon) 的免费翻墙软件,是我 2016 年刚开始自学翻墙时的垫脚石,没想到现在还能用。 61 | 62 | ### Android 63 | 64 | 方法一:[点此](https://s3.amazonaws.com/psiphon/web/mmqu-p8qj-sgdq/PsiphonAndroid.apk) 直接下载 apk 65 | 方法二:在谷歌应用商店搜索 `赛风` 或者 [点此](https://play.google.com/store/apps/details?id=com.psiphon3) 跳转到 Google Play 66 | 方法三:发送空白邮件到 `get@psiphon3.com` 67 | 68 | 但是开启 VPN 后会有一个广告:浏览器会跳转到 [美国之音](https://projects.voanews.com/landing/mandarin/) 69 | 70 | ### Windows 71 | 72 | 方法一:[点此](https://s3.amazonaws.com/psiphon/web/mmqu-p8qj-sgdq/psiphon3.exe) 直接下载 exe 73 | 方法二:发送空白邮件到 `get@psiphon3.com` 74 | 75 | ### iOS & macOS 76 | 77 | 在苹果应用商店搜索 `赛风` 或者 [点此](https://apps.apple.com/app/psiphon/id1276263909) 跳转到 App Store 78 | 79 | 80 | 81 | ## [iGG 谷歌访问助手](https://iguge.app/) 82 | 83 | 一个浏览器插件,只能免费访问 Google 家的产品,例如 Google 搜索引擎、Gmail 和 Chrome 网上应用店等,不支持为 YouTube 和其他客户端软件提供海外「加速」服务。 84 | 85 | 86 | 87 | ## Ethan 翻墙会 88 | 89 | 免费提供 V2Ray 节点。 90 | 91 | - Telegram Channel:[人人翻墙,则墙自倒!](https://t.me/cnhumanright99) 92 | - 博客:cdpfanqianghui.blogspot.com 93 | 94 | 95 | 96 | ## V2.FREEOK.XYZ 97 | 98 | https://cnplus.xyz/ 99 | 100 | https://v2.freeok.xyz/ 101 | 102 | - 首家免费 V2Ray 服务,支持 SS、SR 和 V2Ray。 103 | - 提供百+节点和G口带宽。 104 | - 所有捐赠全部用于网站建设,非营利站点。 105 | 106 | 107 | 108 | 109 | > 🔗关联阅读:[零基础的小白到底如何翻墙?- TSBBLOG](https://tsb2blog.com/contingency-plan-for-internet-censorship-circumvention.html) -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq-free/geph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/fq-free/geph.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/fq/pacilogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/fq/pacilogo.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/gcp.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Google Cloud Platform 注册和使用指南 3 | date: 2019-04-27 4 | updated: 2020-05-08 5 | categories: 翻墙方法 6 | tags: [突破网络审查, VPS] 7 | --- 8 | 9 | ![google-cloud](gcp/google-cloud.png) 10 | 11 | 感谢 Google Cloud Platform(GCP,谷歌云)赠予 $300 和 12 个月(现在改为 90 天)免费试用期。 12 | 13 | 14 | 15 | 16 | ## 准备工作 17 | 18 | - [科学上网环境](https://tingtalk.me/fq/):首先要具备访问 Google 的条件。先买一个月的 [Just My Socks](https://justmysocks1.net/members/aff.php?aff=1010)(下单优惠码 `JMS9272283`)或者其他免费的加速服务过渡一下 19 | - 外币单标信用卡:要求没有银联标志,只有 Visa、Mastercard、American Express……,例如招商银行的 [外币单标国际信用卡](http://market.cmbchina.com/ccard/uniqbk/)(有效期内免年费) 20 | - Google 账号 21 | - 在 YouTube(手机网页版)注册新账号可以验证国内的手机号码(`2019-03-01` 可能已失效) 22 | - 或在有 Google 服务框架的 Android 手机上注册 `2019-05-02` 23 | 24 | 25 | 26 | ## 开始申请 27 | 28 | - [申请地址](https://cloud.google.com/free/) 29 | - 账号类:个人 30 | - 申请国家:美国(因为没得选) 31 | - 借助 [地址生成器](https://www.fakeaddressgenerator.com/World/us_address_generator) 获得美国地址,优选免税州(State):Delaware / Montana / New Hampshire / Oregon 32 | - 邮寄地址:与注册地址一致,或填写真实的地址 33 | - 去邮箱查看激活邮件并上传身份证和银行卡,一般 10 分钟内解封 34 | - Google 会从信用卡扣除 1 美元用于验证,验证完成后会退还到账户 35 | - 不要点击页面的 `升级` 或 `激活` 按钮,否则会从免费试用升级到付费帐号 36 | 37 | 38 | ## 创建防火墙规则 39 | 40 | 导航菜单 > VPC 网络 > 防火墙规则 > [创建防火墙规则](https://console.cloud.google.com/networking/firewalls/list) 41 | 42 | - 名称:随意 43 | - 说明:随意 44 | - 日志:默认 `关闭` 45 | - 网络:默认 `Default` 46 | - 优先级:默认 `1000` 47 | - 流量方向:默认 `入站` 48 | - 对匹配项执行的操作:默认 `允许` 49 | - 目标:`网络中的所有实例` 50 | - 来源过滤条件:`IP 地址范围` 51 | - 来源 IP 地址范围:`0.0.0.0/0` 52 | - 次要来源过滤条件:`无` 53 | - 协议和端口:`全部允许` 54 | - 执行(决定是否对关联目标应用规则):`已启用` 55 | 56 | 57 | ## 创建实例 58 | 59 | 导航菜单 > Compute Engine > VM(虚拟机)实例 60 | 61 | - `创建` 62 | - 名称:随意 63 | - 区域:`asia-east1(台湾)` 64 | - 不知道选哪个区域的 VM 实例,可以在 www.gcping.com 分别测试宽带网络和数据网络对 GCP 的延迟情况 65 | - 地区:`asia-east1-c` 66 | - a 和 b 也无妨 67 | - 机器类型:`微型(1 个共享 vCPU)` 68 | - `0.6 GB 内存,f1-micro` 对搭梯完全够用 69 | - 选择这个配置,每个月大概有 86 GB 加速流量可用 70 | - 启动磁盘:`Debian GNU/Linux 9 (stretch)` 71 | - 身份和 API 访问权限:默认 72 | - 防火墙:勾选 `允许 HTTP 流量` 和 `允许 HTTPS 流量` 73 | - 展开 `管理、安全、磁盘、网络、单独租用` 74 | - `网络` 75 | - `网络接口` - `外部 IP` - `创建 IP 地址` - `保留新的静态 IP 地址` - `保留` 76 | 77 | 78 | ## 部署科学上网工具 79 | 80 | - 找到对应的示例,选择 `SSH` - `在浏览器窗口中打开` 81 | - 输入 `sudo -i` 切换到 root(开启管理员权限) 82 | - 接下来的步骤请移步 [番茄种植指南](https://tingtalk.me/fq-diy/) 83 | 84 | 85 | 86 | ## 到期后如何再次申请 87 | 88 | 1. 注册一个全新的谷歌账号 89 | 2. 绑定同一张信用卡(也可不同) 90 | 3. 按照以上步骤执行 91 | 92 | 93 | 94 | 亲测时间 2020 年 5 月 9 日。 95 | 96 | 97 | 98 | --- 99 | 100 | 101 | 102 | 你也可以去薅 Amazon 的羊毛:[使用 AWS 免费搭建 SS + MTProto 服务端 - 李皓奇](https://liolok.github.io/Setup-Free-SS-and-MTProto-Server-Using-AWS/zh-Hans/) -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/gcp/google-cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/gcp/google-cloud.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/switchyomega.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: SwitchyOmega:在浏览器上轻松管理代理规则 4 | date: 2019-09-18 5 | updated: 2020-11-15 6 | categories: 翻墙方法 7 | tags: [突破网络审查, Chrome] 8 | 9 | --- 10 | 11 | ![switchyomega](switchyomega/switchyomega.png) 12 | 13 | tingtalk.me 因为不可抗力,在中国大陆被遭到屏蔽,此时在 [智能分流(PAC)模式](https://github.com/gfwlist/gfwlist) 下无法正常访问庭说的博客。于是不得不切换为 `全局模式`,但这样一来,其他可以正常访问的网站(例如 sspai.com)也走代理通道了(速度慢,费流量)。所以阅读完我的博客之后,不得不换回 PAC 模式。 14 | 15 | 这个时候,借助 [SwitchyOmega](https://github.com/FelisCatus/SwitchyOmega/) 可以创建属于自己的规则列表(任意网站,走不走代理通道,你说了算)。 16 | 17 | 18 | 19 | 20 | SwitchyOmega 不提供代理服务,它只是一个桌面浏览器插件(手机上不适用),但它可以: 21 | - 更便捷地切换全局模式和分流模式 22 | - 快速添加被屏蔽的网站(当 PAC 智能分流模式中的 [GFWList](https://github.com/gfwlist/gfwlist) 未能及时覆盖到被封锁的网站时) 23 | 24 | 25 | 26 | 安装 SwitchyOmega 到浏览器后,它就会接管代理规则,此时客户端的代理规则对浏览器不适用。 27 | 28 | 29 | 30 | 31 | ## 安装 32 | 33 | 打开 [SwitchyOmega 的项目发布页](https://github.com/FelisCatus/SwitchyOmega/releases),根据不同的浏览器,选择对应的安装方式。使用 Chrome 的用户,请在 [Chrome 网上应用店](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN) 获取 [SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=zh-CN)。添加到浏览器后会自动跳出一段介绍性的教程,点击 `跳过教程`。 34 | 35 | 36 | 37 | ## 配置 38 | 39 | ### 界面 40 | 41 | - 初始情景模式:`auto switch` 42 | 43 | 44 | ### 导入/导出 45 | 46 | - `启用同步` 47 | 48 | ### proxy 49 | 50 | - 代理协议:`SOCKS5` 51 | - 代理服务器:`127.0.0.1` 52 | - 代理端口:`1080`(Clash 是 `7890`) 53 | 54 | ### auto switch 55 | 56 | - **白名单**:告诉代理工具,白名单(大陆没墙的网站)里面的网站直接连接,其余使用代理(会消耗更多的翻墙流量)。 57 | - **黑名单**:告诉代理工具,黑名单(大陆被墙的网站)里面的网站要使用代理。 58 | 59 | 随着墙越来越高,黑名单难以收录不断被墙的网站(年久失修,无人维护),例如 tingtalk.me,因此就需要经常添加新规则,所以使用白名单模式,绕开局域网和大陆未墙网址,也许更实用。 60 | 61 | > 关联阅读:[是时候使用 PAC 白名单了 - 落格博客](https://www.logcg.com/archives/1292.html) 62 | 63 | #### 白名单模式 64 | 65 | **切换规则** 66 | 67 | - 勾选 `规则列表规则(按照规则列表匹配请求)`:`直接连接`(国内白名单网站) 68 | - 默认情景模式:`proxy` 69 | 70 | **规则列表设置** 71 | 72 | - 规则列表格式:`AutoProxy` 73 | - 规则列表网址:`https://raw.githubusercontent.com/aglent/autoproxy/master/whitelist.pac` 74 | - `立即更新情景模式` 75 | 76 | 77 | 78 | #### 黑名单模式 79 | 80 | **切换规则** 81 | 82 | - 勾选 `规则列表规则(按照规则列表匹配请求)`:`proxy`(被墙的网站) 83 | - 默认情景模式:`直接连接` 84 | 85 | **导入在线规则列表** 86 | 87 | - 规则列表格式:`AutoProxy` 88 | - 规则列表网址:`https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt` 89 | - `立即更新情景模式` 90 | 91 | 92 | 93 | 94 | ## 启用 95 | 96 | 左击浏览器右上角的 SwitchyOmega 图标,选择: 97 | - `直接连接`:全部网站不通过代理,直接连接网站 98 | - `系统代理`:通过客户端代理,此时请在客户端开启代理 99 | - `proxy`:全部网站通过代理连接网站 100 | - `auto switch`:根据 GFWList 智能分流,**最常用的模式** 101 | - `添加条件`:把网站加入到自己的规则列表(重启浏览器后依然有效) 102 | - `漏斗图标`:临时切换通道(重启浏览器后失效) 103 | 104 | 105 | 106 | --- 107 | 108 | **关联阅读** 109 | 110 | - [Proxy SwitchyOmega 配置教程(非官方)](https://proxy-switchyomega.com/settings/) 111 | - [谷歌浏览器(Google Chrome):插件(扩展程序)清单及使用技巧 - 庭说](https://tingtalk.me/chrome/) -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/switchyomega/switchyomega.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/switchyomega/switchyomega.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/us-apple-id-share.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 如何寻找共享美区苹果账号(Apple ID) 3 | date: 2019-05-15 4 | updated: 2020-04-15 5 | categories: 翻墙方法 6 | tags: [突破网络审查, Apple ID] 7 | --- 8 | 9 | ![apple-id](us-apple-id-share/apple-id.png) 10 | 11 | 在 Apple 的严厉打击下,此法逐渐失效。[自行注册 Apple ID](https://tingtalk.me/us-apple-id),才是终极且安全的解决办法。 12 | 13 | 14 | 15 | 共享的 Apple ID 只能用于登录 **App Store** ❗️ 千万不要在 **iCloud** 登录 ❗️ 所以请严格按照以下路径操作。否则设备被锁,申诉无门,Tim Cook 也救不了你的 iPhone。 16 | 17 | 18 | 19 | ## 获取 Apple ID 20 | 21 | 因为多人共用会触发风控,所以多试几个 Apple ID。当找到一个可用的 Apple ID 后,把它记在备忘录或者微信收藏,方便日后调用。 22 | 23 | 24 | 25 | 2021-08-16 亲测可用: 26 | 27 | 账号:`s3hhe8le@icloud.com` 28 | 密码:`TZXBtzxb007` 29 | 30 | 31 | 32 | ### GitHub 33 | 34 | 1. 打开在 [GitHub](https://github.com/search)。 35 | 2. 输入 [Apple ID](https://github.com/search?o=desc&q=Apple+ID&s=updated&type=Repositories)、[苹果账号](https://github.com/search?o=desc&q=%E8%8B%B9%E6%9E%9C%E8%B4%A6%E5%8F%B7&s=updated&type=Repositories)、[小火箭](https://github.com/search?o=desc&q=%E5%B0%8F%E7%81%AB%E7%AE%AD&s=updated&type=Repositories) 和 [Shadowrocket](https://github.com/search?o=desc&q=Shadowrocket&s=updated&type=Repositories) 等关键词,搜索。 36 | 3. `Sort`(排序): `Recently updated`(最近更新)。 37 | 38 | 39 | 40 | 以下是我找到的一些资源: 41 | 42 | - [openwrt-ssr](https://github.com/openwrt-ssr/appleid/wiki/2020%E8%8B%B9%E6%9E%9C%E7%BE%8E%E5%9B%BD-%E9%9F%A9%E5%9B%BD-%E6%97%A5%E6%9C%AC-%E9%A6%99%E6%B8%AF-%E5%8F%B0%E6%B9%BE-%E8%8B%B1%E5%9B%BD%E7%AD%89%E5%9C%B0%E5%8C%BAApple-ID%E8%B4%A6%E5%8F%B7%E5%85%8D%E8%B4%B9%E5%88%86%E4%BA%AB):2020-04-17 亲测可用。 43 | - [shadowrocketHelp](https://github.com/shadowrocketHelp/help/wiki/%E5%9B%BD%E5%A4%96-appstore-id-%E8%B4%A6%E5%8F%B7%E5%88%86%E4%BA%AB) 44 | - [insdown](https://github.com/insdown/ins/wiki/%E7%BE%8E%E5%9B%BDapple-id-appstore-id%E8%B4%A6%E5%8F%B7%E5%88%86%E4%BA%AB) 45 | 46 | 47 | 48 | ### Website 49 | 50 | - [苹果帝](https://appledi.com/):2020-12-18 亲测可用。 51 | - [小火箭账号 の 分享站](https://wohaobang.cn/):未测试。 52 | - [Get Shadowrocket](https://free.shadowrocket.online/):未测试。 53 | - [小火箭账号 の 分享站](https://wohaobang.cn/):未测试。 54 | 55 | 56 | 57 | ### Telegram 58 | 59 | - [Shadowrocket 小火箭苹果 ID 免费分享](https://t.me/shadowrocketid)(@shadowrocketid):较难找到可用 Apple ID。 60 | - [人人翻墙,则墙自倒!](https://t.me/cnhumanright99) 61 | 62 | 63 | 64 | ## 切换 Apple ID 65 | 66 | iPhone / iPad 上可以使用不同的账户登录 iCloud 和 App Store(应用商店),而**共享的 Apple ID 只能用于 App Store**,所以请严格按照以下路径操作(全程未出现 iCloud 字样): 67 | 68 | 1. 打开 iPhone。 69 | 2. `设置` - `iTunes Store 与 App Store`,点击顶部的 `Apple ID: ****@***` - `退出登录`(哪里退出,哪里登录)。 70 | 3. 切换到免费的共享 Apple ID。 71 | 72 | 73 | 74 | ## 安装番茄 App 75 | 76 | 打开 App Store(苹果应用商店),搜索并下载番茄 App,例如: 77 | 78 | - [Potatso Lite](https://apps.apple.com/us/app/potatso-lite/id1239860606):免费,配置简单,功能简陋 79 | - [Shadowrocket](https://itunes.apple.com/us/app/shadowrocket/id932747118?mt=8):付费,但是共享 Apple ID 的主人已经给你买单了 80 | 81 | 82 | 83 | ## 退出 Apple ID 84 | 85 | 安装好番茄 App 后,**退出共享 Apple ID**,切换回自己的 Apple ID。 -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/us-apple-id-share/apple-id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/us-apple-id-share/apple-id.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/us-apple-id.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 美区苹果账号(Apple ID)注册指南 4 | date: 2019-05-15 5 | updated: 2020-03-22 6 | categories: 翻墙方法 7 | tags: [突破网络审查, Apple ID] 8 | 9 | --- 10 | 11 | ![apple](us-apple-id/apple.png) 12 | 13 | 当你在中国区的 App Store 找不到想要的 app 时,例如 Skype、Shadowrocket、Quantumult 和 Surge 等,才会知道美(国)区 Apple ID 的可贵。 14 | 15 | 16 | 17 | 不想折腾的用户: 18 | 19 | - 花金钱 [购买一个 Apple ID](https://istore.app/),然后修改邮箱和密保 20 | - 花时间寻找 [免费的共享美区 Apple ID](https://tingtalk.me/us-apple-id-share/) 21 | 22 | 23 | 24 | 25 | ## 准备工作 26 | 27 | 核心思想是伪装成在美国上网的美国人: 28 | 29 | - 1 个美国 IP 30 | - [买一个](https://tingtalk.me/fq/) 或白嫖 [迷雾通](https://geph.io/zhs/)(安装包已上传至 [蓝奏云](https://wwi.lanzoul.com/b00t9wiva)) 31 | - 选择一个美国的线路,并 [测试 IP](https://whoer.net/zh) 归属地是否为美国 32 | - 1 个美国地址 33 | - 借助 [地址生成器](https://www.fakeaddressgenerator.com/World/us_address_generator) 获得一个虚假的美国人信息 34 | - 优选免税州(State):Delaware / Montana / New Hampshire / Oregon。并把这个地址备份在记事本,在以后数字移民的过程中,可能会再次用得上,例如 [注册美国区的 PayPal + 绑定美国区的 Apple ID](https://bigfoxgod.com/notes/2020/02/17/sign-up-paypal-and-successfully-bind-to-us-appleid-2020/) 35 | - 1 个未注册过 Apple ID 的 email 36 | - 优选 [Outlook](https://outlook.live.com/owa/)(不用梯子)或者 [Gmail](https://mail.google.com/)(需要梯子) 37 | - 次选 163 邮箱和 QQ 邮箱 38 | - 1 台安装了 iTunes 的设备(任选其一) 39 | - Windows 电脑需要下载并安装 [iTunes](https://www.apple.com/itunes/) 40 | - MacBook 电脑自带 iTunes 41 | 42 | 43 | 44 | 45 | ## 开始注册 46 | 47 | ### 获取美国 IP 48 | 49 | 1. 打开迷雾通 50 | 2. 注册并登录账号 51 | 3. 选择一条美国线路并开启 52 | 53 | ### 创建 Apple ID 54 | 55 | - 在 iTunes 上找到的 `账户` - `登录` - `创建新 Apple ID` 56 | - `电子邮件`:最好全球通用的 Email 57 | - `密码`:8 个字符以上,包含数字,大写字母和小写字母 58 | - `国家/地区`:美国(United States),然后界面语言会自动切换成英文 59 | - `Continue`(下一步) 60 | 61 | ### Personal Information 62 | 63 | 假如你叫李狗蛋。 64 | 65 | - `First Name`(名):可以填写中文「狗蛋」、拼音 Goudan,或英文名 66 | - `Last Name`(姓):Li(李) 67 | - `Birthday`(生日):Month(月)- Day(日)- YYYY(年);解锁账户时要用到,请牢记! 68 | - `Security information`(密保问题):可以填写中文答案;解锁账户时要用到,请牢记! 69 | - `Continue`(下一步) 70 | 71 | 72 | ### Create Apple ID 73 | 74 | - `Payment Method`(付款方式):None(无) 75 | 76 | 如果没有出现 `None`。官网联系 [Apple 客服](https://getsupport.apple.com/?caller=cups),选择 `立即与 Apple 支持部门人员通话。`,2 分钟之内就会接到客服电话,然后如实回答即可。 77 | 78 | > 如果你的支付方式里没有 “无” 这个选项,不要惊慌,可能是苹果通过网络环境判断你不在美国。你可以拨打大陆地区的 Apple 服务热线,找人工客服阐述你遇到的问题 —— 注册美区账号无法成功绑定支付方式,他们会非常热情地配合你解决问题,并由专员在后台进行操作,让你的支付方式里有 “无” 这一选项。当然如果你事先准备了美国的云梯,顺利的话是会有 “无” 的,没有也没关系。by [iRex](https://sspai.com/post/53973) 79 | 80 | 81 | 82 | ### Billing Address 83 | 84 | 借助 [地址生成器](https://www.fakeaddressgenerator.com/World/us_address_generator) 获得一个虚假的美国人信息。 85 | 86 | - `Street`(街道) 87 | - `Apt., suite, bldg.`:可为空 88 | - `City`(城市) - 州 - `ZIP`(邮编)- `United States` 89 | - `Area code`(电话号码前 3 位)- `Phone`(电话号码后 7 位) 90 | - `Continue`(下一步) 91 | 92 | ### Verify Your Apple ID 93 | 94 | - 输入邮箱验证码,并 `Verify`(验证) 95 | 96 | ### 完成注册 97 | 98 | - ❗ 最后一定要记得点 `Continue`,不然功亏一篑! 99 | - 然后将代理软件切换回智能分流模式(PAC) 100 | 101 | 102 | 103 | ## 下载 App 104 | 105 | - 自己注册的 Apple ID 可以用于登录 `iCloud`,但我还是推荐你只在 `App Store` 登录。 106 | - 依次选择 `设置` - `iTunes Store 与 App Store`,点击顶部的 `Apple ID: ****@***` - `退出登录`,切换到刚刚注册好的美区 Apple ID(哪里退出,哪里登录)。 107 | - 如果需要验证 Phone Number,填写中国的手机号码也可以通过。 108 | - 现在,你可以尽情下载美区 App Store 里的 app。 109 | - 安装完成之后,你有 2 个选择 110 | - 切换回以前 Apple ID 111 | - 把美区 Apple ID 作为主账号(在 iCloud 也登录)以躲避当局的审查。但是 app 是跟着 ID 走的,当时用哪个 ID 下载,升级 app 时也要用那个 ID,所以如果不想使用旧版 app,请使用新的非中国区 Apple ID 卸载重装。 112 | 113 | 114 | 115 | **关联阅读** 116 | 117 | - 图文教程:[如何注册并使用美区 Apple ID - 魅影极速](https://docs.maying.co/tutorial/appleid_us)(方法与本文略有不同) 118 | - 文字教程:[如何使用美区 Apple ID 购买付费 App - TARESKY](https://taresky.com/post/Apple-ID-US) -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/us-apple-id/apple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/us-apple-id/apple.png -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/yum-cha.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 「喝茶」历险记 3 | date: 2018-03-13 4 | updated: 2020-08-18 5 | categories: 翻墙方法 6 | tags: 突破网络审查 7 | --- 8 | 9 | ![yum-cha](yum-cha/yum-cha.png) 10 | 11 | > 发表异议观点,可能有相关人员暗下谈话劝阻,因为此过程中会喝茶(请人谈话或做客,一般会沏茶),因此成为被中共相关机构调查或拘留的代称。by [维基百科](https://zh.wikipedia.org/zh-hans/%E9%A3%B2%E8%8C%B6_(%E6%B6%88%E6%AD%A7%E7%BE%A9)) 12 | 13 | 14 | 15 | 16 | 「喝茶」还有另一种隐晦的解释: 17 | 18 | > 一种通过饮用茶叶饮品而与历史进行深度沟通,对文化进行传承,对灵魂进行洗涤与升华的仪式。by [小鸡词典](https://jikipedia.com/definitions/user/443757271) 19 | 20 | 21 | 本文于 2018 年 3 月 13 日首发在庭说的长篇 [日志](https://tingtalk.me/whisper/#2018-03-13) 里,今稍作润色,独立成文,以飨(xiǎng)读者。 22 | 23 | 24 | 25 | ## 转发评论 26 | 27 | 24 岁的第 2 天中午,又是一个仓促的午觉。醒来不愿去上班,于是拿起手机,刷刷微信。突然,我又被拉进一个 24 人的「xx 男生群」,虽然反复退群,因为我很讨厌里面某些人无休无止的抱怨。微信就不能让用户有拒绝入群的权利吗? 28 | 29 | 这次他们在讨论「xx 供电局 2 名员工的不雅视频」。群成员知道我会翻墙,让我去外网搜搜看。根据我所学到的 [搜索技巧](https://tingtalk.me/search-tips/),很快就在 Twitter 上找到了相关信息。好死不死,我随手转发了其中一条评论到微信群,大意是修宪连任,千秋万代,这成为了人生首次喝茶的契机。看完 Twitter 的全部相关信息,发现 [不雅影像并非来自 ** 电网直播事故](https://twitter.com/Mr_Desperation/status/973208585890013184?s=20),并将这一辟谣信息告诉群成员。 30 | 31 | 喧嚣一场过后,班还是得上。 32 | 33 | ## 电话传唤 34 | 35 | `16:57` 接到 95050 的电话,问我是不是 xx,是不是在 xx 上班,是不是在「xx 群」发表了「对党和国家领导人」不当言论……请你来 xx 派出所一趟,没空的话我们会派警车去接你。一开始我当真了,立刻退群。然后发现不对劲,为什么不是派出所的电话打过来?因此暂且判定为诈骗电话。 36 | 37 | `17:50` 一个中国移动的私人手机号码打过来,未被标记为诈骗电话,再次问我自己过去还是他来接我去派出所。同事斩钉截铁地认为这是诈骗电话,但是我根本想不出这个诈骗团伙的牟利点在哪里?仅仅是让我去派出所出丑?忐忑地在公司吃完晚餐,回到公司宿舍,警车真的来了。 38 | 39 | `18:27` 另外一个中国移动的手机号码打电话给我,响铃 13 声,没接到,也不敢回拨,侥幸地认为警车只是恰巧来这里办其他事情。 40 | 41 | `18:41` 电话又打来了,说警车就在门口,出来吧,别紧张,只是问你一些话。我知道逃不了了,于是让室友 LMZ 陪我一起去局里壮壮胆。 42 | 43 | ## 坐上警车 44 | 45 | 这是我第一次做警车。车上只有一个开车的警察叔叔,后排是无锈钢座椅,在昏暗的车厢里散发出冰冷的光。但是开车叔叔并不冰冷,所以我的情绪也比较平静。**办案民警说是这是某部门下达的命令,核实不当言论的真实性**。 46 | 47 | 来到派出所,警察问什么,我答什么,没有严刑逼供。另外一位警察还呵斥我严肃一点,不要嘻嘻哈哈(天性乐观)。做完笔录,画押;写完保证书,画押……罪名「传播不当言论」。 48 | 49 | 盘查完之后,警察把笔录和保证书呈报给上级。发现有疑点,让我重新做笔录。这一次,他们发现我除了传播不当言论之外,还给不雅视频辟了谣,并及时退群了。但是警察反复盘问我是不是说了不该说的话,我始终想不起来。看了笔录中的那段「不当言论」后才勉强恢复了一点点记忆。 50 | 51 | 为什么我不记得那段「不当言论」?午觉醒来,迷迷糊糊,觉得那条推特评论写得颇有文采,能把各种官话融入时评中,有力反讽了当局,转。我认同的是它的文字技法,文字内容并未深究。从 2016 年开始写文章,我对雄文没有抵抗力。罢了,这些都是后话,是我没有意识到当前言论环境的恶劣。说句自私的心里话,我一点都不在乎中国的政治制度,我只在乎我能不能拥有自由的网上冲浪。 52 | 53 | ## 平安归来 54 | 55 | 为此,我付出了惨痛的代价,写了 4 份保证书、2 份笔录和 1 份训诫书才得以在 `22:24` 走出派出所的大门。是否留下案底,我也不清楚,只记得警察反复说道,此事可大可小。 56 | 57 | 庆幸评论不是我写的,而是转发的。此外,爱较真的作风,居然连不雅视频都会去求证,会不会是这一点,警察觉得我是好人? 58 | 59 | ## 有所收获 60 | 61 | 我把这段难忘的经历写下来,最后得出以下教训: 62 | 63 | - 在中国,一切行动听党指挥。 64 | - 不管你是大人物还是小人物,网络言论审查就在身边,刀子嘴,打断腿。 65 | - 在派出所不能拍照、录音、录像,我就被警察发现了。 66 | - 警察问话时要严肃,纵使你是勇于承认「错误」的乐天派。 67 | - 爱笑的男孩运气都不会太差。 68 | - 喝茶的时候,警察并不会给约谈者沏茶,连白开水都没有。 69 | - 少用微信,多用 [Telegram](https://tingtalk.me/telegram/)。 70 | 71 | 一看时间,凌晨三点,黑夜总会过去,光明总会到来。第二天早上,不到八点,我就醒了,这茶(审查经历)够提神的。 72 | 73 | 2 年过去了,跟人谈起此事,我总是津津乐道,仿佛这是我的荣光。在战争时期,刀疤是男人的证明,而在网络高度审查的当下,这是「庶民的胜利」。 74 | 75 | 76 | 77 | **延伸阅读** 78 | 79 | - [简易指南:如何应对被国安喝茶 - iYouPort](https://www.iyouport.org/%E7%AE%80%E6%98%93%E6%8C%87%E5%8D%97%EF%BC%9A%E5%A6%82%E4%BD%95%E5%BA%94%E5%AF%B9%E8%A2%AB%E5%9B%BD%E5%AE%89%E5%96%9D%E8%8C%B6/) 80 | - [国保国安请我喝茶怎么办?会被枪毙?人间蒸发?被嫖娼?这里领取一份应对喝茶指南 - 时代黑白](https://www.youtube.com/watch?v=61hscYtg94g) 81 | - [小人物喝茶记 - 颜色无色](https://matters.news/@gujinpintan/%E5%B0%8F%E4%BA%BA%E7%89%A9%E5%96%9D%E8%8C%B6%E8%AE%B0-zdpuAzmiVMZaipYfkHYXsR2ay5s26j8ndRqyhcJkjNnqzGzb3) 82 | - [我在北京被“喝茶” - 慕容雪村](https://cn.nytimes.com/opinion/20140721/c21murong/) 83 | - [当他不听话时就找他的家人 - 王五四](https://chinadigitaltimes.net/chinese/2015/09/%E7%8E%8B%E4%BA%94%E5%9B%9B%EF%BC%9A%E5%BD%93%E4%BB%96%E4%B8%8D%E5%90%AC%E8%AF%9D%E6%97%B6%E5%B0%B1%E6%89%BE%E4%BB%96%E7%9A%84%E5%AE%B6%E4%BA%BA/) 84 | 85 | -------------------------------------------------------------------------------- /source/_posts/bypass-gfw/yum-cha/yum-cha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/bypass-gfw/yum-cha/yum-cha.png -------------------------------------------------------------------------------- /source/_posts/design/adobe/adobe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/adobe/adobe.png -------------------------------------------------------------------------------- /source/_posts/design/graphic-design/drawing-tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/graphic-design/drawing-tools.png -------------------------------------------------------------------------------- /source/_posts/design/pdf.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: PDF:批量裁剪与拆分 4 | date: 2019-06-16 5 | updated: 2019-07-25 6 | categories: 美的设计 7 | tags: [工作, 设计] 8 | 9 | --- 10 | 11 | ![pdf](pdf/pdf.png) 12 | 13 | 14 | 15 | PDF 是 Adobe 在 1993 年发明,所以使用 [Adobe Acrobat Pro](https://acrobat.adobe.com/cn/zh-Hans/acrobat/acrobat-pro.html) 可以编辑 PDF 方方面面:裁剪、拆分、合并、导出图片、排序、OCR(识别文本)等。本文主要讲讲裁剪和拆分功能。 16 | 17 | 18 | 19 | 如何解锁 Adobe Acrobat Pro 的全部功能,找找「赢政天下」: 20 | 21 | - 微博:[@vposy](https://www.weibo.com/p/1005051112829033) 22 | - 搜索引擎:`Adobe Acrobat Pro + vposy` 23 | 24 | 25 | 26 | ## 裁剪 PDF 27 | 28 | 使用 Adobe Acrobat Pro 中的 `裁剪页面` 工具和 `设置页面框` 对话框来调整可见页面区域。通过裁剪页面,可以使组成 PDF 的不同大小的页面保持一致。 29 | 30 | 31 | 32 | 33 | 34 | ### 法一 35 | 36 | - 打开 PDF 37 | - 菜单栏「视图」- 显示/隐藏 - 导览窗格 - 页面缩略图 38 | - Ctrl + A 39 | - 右键,选择「裁剪页面」 40 | - 应用到「裁剪框」 -> 上下左右输入裁剪值 -> 页面范围:「所有页面」 41 | - 确定 42 | - 另存为 43 | 44 | 45 | ### 法二 46 | 47 | - 打开 PDF 48 | - 「工具」 -> 「印刷制作」 -> 「设置页面框」 -> 应用到「裁剪框」 -> 上下左右输入裁剪值 -> 页面范围:「所有页面」 49 | - 确定 50 | - 另存为 51 | 52 | --- 53 | 54 | 55 | 56 | **关联阅读** 57 | - [裁剪 PDF 页面 - Adobe](https://helpx.adobe.com/cn/acrobat/using/crop-pdf-pages.html) 58 | - [你说的框是什么框——理解 PDF 中的五种页面边界 - Neverland](https://type.cyhsu.xyz/2020/07/understand-pdf-page-boundaries/) 59 | 60 | 61 | 62 | ## 拆分 PDF 63 | 64 | 1. 打开 PDF 65 | 2. 点击 `工具` > `组织页面` > `拆分` 66 | 67 | 68 | 69 | **关联阅读** 70 | 71 | - [数字世界中的纸张——理解 PDF - Neverland](https://type.cyhsu.xyz/2018/09/understanding-pdf-the-digitalized-paper/) 72 | 73 | -------------------------------------------------------------------------------- /source/_posts/design/pdf/pdf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/pdf/pdf.png -------------------------------------------------------------------------------- /source/_posts/design/photography.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 摄影技巧 4 | date: 2019-06-16 5 | updated: 2019-11-12 6 | categories: 美的设计 7 | tags: 设计 8 | --- 9 | 10 | ![apertur](photography/apertur.png) 11 | 12 | 不断按下快门,是摄影师的必修课。 13 | 14 | 15 | 16 | 17 | 18 | ## 摄影基础 19 | 20 | ### 拍出好照片 21 | 22 | 1. 拍什么:聚焦在一件事、一个人或一个物品上,也就是要有一个鲜明的主题(题材)。 23 | 24 | 2. 怎么拍:把注意力引向被摄主体,这也是构图的意义所在;以及不要分散注意力,保持画面简洁。 25 | 26 | ### 陌生感 27 | 28 | 对于摄影作品,甚至是广泛意义上的艺术作品来说,陌生感是很重要的艺术特性。其中一个很重要的要素就是「不同」,甚至是「怪异的不同」。这些超常规的视觉,会让我们和照片本身突然有了距离感,也正是这个距离产生了美。例如,当你使用超广角时,拿出手机以后不要着急。你先远近高低各不同地找找,也许就会发现很多不一样的角度。 29 | 30 | 31 | 32 | ### 参数解释 33 | 34 | 快门速度(S)+ 感光值(ISO)= 确定的曝光值(EV),`+` 表关联。 35 | 36 | #### 快门 37 | 38 | 手持形况下,相机不带防抖技术的时候,1/50s 是一个临界线,快于 1/50s 时,手不是特别抖拍出来的画面还是很稳定的,一旦慢于 1/50s 时,就很容易导致画面的抖动。 39 | 40 | #### 感光度 41 | 42 | 英文缩写是 ISO,全称 International Standardization Organization(国际标准化组织)。这个组织把感光度做了量化的规定,例如 SO6(黑白胶片)、ISO 2400(彩色反转片)和 ISO 5800(彩色负片),用来衡量底片(感光元件)对于光的灵敏程度,所以大家也就把 ISO 叫做感光度了。 43 | 44 | #### 景深 45 | 46 | 其实就是一个清晰的范围。而相机所谓的对焦过程,就是把你想要拍摄的主体放置到这个清晰的范围中。这个清晰的范围越短,我们就叫做浅景深,那么背景的模糊虚化也就会越晰。清晰的范围越长,我们叫做深景深,那么背景的模糊虚化越不明显。 47 | 48 | #### 直方图 49 | 50 | 溢出意味着相机无法记录那个亮度以下和或那个亮度以上的亮度像素,左端溢出一般是存在的纯黑的像素,右端的溢出一般是存在的纯白的像素。而这些溢出的部分还没办法通过后期挽救。 51 | 52 | 53 | 54 | ## 手机摄影 55 | 56 | 感光度 1600 是上限。 57 | 58 | ### 降低曝光 59 | 60 | #### 无闪光灯 61 | 62 | 点按画面以后,略微压低一点曝光。不要小看这个操作,就是这样一个简单操作会对你照片的质感有着非常明显的提升。因为目前所有的手机出发点还是记录,所以它的曝光倾向都是为了保证信息充足而尽可能的亮。但这会缺少影调,甚至是让颜色失真。不信,你现在打开手机,自动拍摄一张照片,然后再手动调节降低一点曝光进行拍摄。你会发现两张照片的影调、细腻度、色彩感,完全不一致。 63 | 64 | #### 有闪光灯 65 | 66 | 相机中的闪光灯默认的曝光倾向都是为了使面中的主体更亮,所以都会有着一定的过度曝光的倾向。所以为了能够让你的拍摄成功率更好,使用闪光灯时一定要主动的降低画面的曝光。直接闪光对于拍摄一些柔和的少女人像可能不太友好。这里也有一个很重要的技巧,就是学会柔光。比如我们可以在闪光灯前罩上一些半透明的介质,甚至是白色的纸巾都可以。这样你会发现补充的光线会自然柔和一些。 67 | 68 | ### 人像摄影 69 | 70 | **Pose** 71 | 72 | - 摸耳朵 73 | - 托腮 74 | - 回眸连拍 75 | - 侧着站比正面站更有层次感 76 | - 更多 Pose,去 [FindPose](https://www.v2fy.com/jikemiji/find-pose/) 看看 77 | 78 | **与环境互动,融入场景中** 79 | - 与花草互动 80 | - 增加前景:比如树叶 81 | - 推开门的瞬间 82 | - 拿道具挡住身体的一部分,例如你的脸 83 | - 透过玻璃窗拍摄 84 | 85 | 86 | **全景模式** 87 | 88 | - 横屏:预留好模特脚下的空间 89 | - 竖屏:拍摄(对称)分身照 90 | 91 | 92 | ### 参考资料 93 | 94 | - [手机拍大片:人像篇(上)](https://www.bilibili.com/video/av15255061) 95 | - [手机拍大片:人像篇(下)](https://www.bilibili.com/video/av15323078) 96 | - [手机拍大片:春日篇(上)](https://www.bilibili.com/video/av22509509) 97 | - [手机拍大片:春日篇(下)](https://www.bilibili.com/video/av22915264) 98 | - [女生拍照姿势指南](https://www.leesharing.com/photography-girls-pose/) 99 | - [人像摄影摆 Pose 技巧](https://www.bilibili.com/video/BV1rq4y1L7pF) 100 | 101 | ## 相机摄影 102 | 103 | 104 | - **静止物体**:我们使用「AF-S」,也就自动单点锁定对焦,选定一个对焦后,移动相机对焦点不更改。这时候,就是我们最为经典的「先对焦,再构图」的方式。具体操作:使用单点中间对焦,半按快门锁定对焦,在移动相机(平行于焦平面,也就是左右移动,不要前后移动)进行构图,再按下快门进行拍摄。 105 | 106 | - **运动物体**:建议使用连续自动对焦,也就是 AF-C。这个对焦方式是说相机会跟随画面中移动的主体进行移动,然后进行拍摄。 107 | 108 | 109 | **取景器** 110 | 111 | - 不是显示器(显示屏幕) 112 | - 可以直接表现实际拍摄效果,这也是微单比单反更友好的原因(单反看到的是外界实际景象,不是拍摄后的) 113 | - 可以进行屈光度的调节的,简单来说,就是可以根据每个人的近视程度进行调节 114 | 115 | 116 | **A:光圈优先模式** 117 | 118 | - 自己决定光圈,其它相机决定。调节滚轮调节光圈大小,转动拨轮调节曝光补偿 119 | - A 档之所以常用,是因为我们很多时候以人像拍摄为主,尽可能地使用最大光圈(数值最小)就可以获得不错的效果 120 | 121 | **AF/MF** 122 | 123 | - 自动对焦 / 手动对焦 124 | 125 | **AEL** 126 | 127 | - 曝光锁定 128 | 129 | ## 风光摄影 130 | 131 | 风光摄影的三段式拍摄手法:远景 + 中景 + 近景。所以几乎所有的职业风光摄影师一半的时间是在去风景的路上,而另一半是在找近景的路上。有近景的画面不仅仅是因为近景的加入多了一些层次,更重要的是还让画面中有了一种立体感。 132 | 133 | 134 | 135 | ## 摄影 Tips 136 | 137 | - 正午:冲着阳光,闭眼拍照 138 | - 模特不自然:先望向别处,拍摄时再看镜头 139 | - 利用广角畸变拍出大长腿:脚尖不用触及屏幕底部 140 | - 把眼睛放在参考线三分之一 141 | - 如果你刚刚开始学习人像拍摄,和模特沟通永远是第一位。当你想要一个动作,最好的方式就是示范给她看。而对女性拍摄来说,让身体呈现优美的「S」形,肯定不会出错。 142 | - 合照:纵深环形排列 + 俯拍才有层次感 143 | - 修图:剪影可以用 Snapseed 局部调整功能。 144 | 145 | 146 | 147 | ## 参考资料 148 | 149 | - [iPhone 相机操作指南 3.0 - 果核Group](https://mp.weixin.qq.com/s/XsvZi42Exe7zZIOxC0vDyw) 150 | - [安卓相机完全操作指南 - 果核Group](https://mp.weixin.qq.com/s/HDKU7EcawVjwTIW-m8kfxA) 151 | -------------------------------------------------------------------------------- /source/_posts/design/photography/apertur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/photography/apertur.png -------------------------------------------------------------------------------- /source/_posts/design/ppt.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何做出合格的 PPT 4 | date: 2019-06-16 5 | updated: 2019-11-26 6 | categories: 美的设计 7 | tags: [设计, 工作] 8 | 9 | --- 10 | 11 | ![ppt](ppt/ppt.png "Microsoft Office PowerPoint") 12 | 13 | 先把 Point 理清楚,再考虑有没有 Power。 14 | 15 | 16 | 17 | 18 | ## 准备工作 19 | 20 | ### Who 21 | 22 | 这份 PPT 给谁看?对应考虑配色、文案。 23 | 24 | - 商务 25 | - 活泼 26 | 27 | ### Where 28 | 29 | 这份 PPT 会在哪里呈现? 30 | 31 | - 阅读型(用来看):文件形式、文件大小、完整数据、详细案例(添加页码) 32 | - 演讲型(用来讲):投影比例、配色方案、动画、音效、大字报 33 | 34 | 35 | ### When 36 | 37 | - 这份 PPT 什么时候要 38 | - 初稿需要什么时间确定 39 | - 是否需要邀请人员参与会议进行讨论商议 40 | - 用于现场演讲的 PPT 是否可以去现场进行彩排演练 41 | 42 | 43 | ## 开始工作 44 | 45 | ### 逻辑 46 | 47 | - 沟通工作 48 | - 明确老板的要求和 PPT 的目的 49 | - 重点呈现哪一方面 50 | - 是否有哪些特别需要指出和强调的关键点 51 | - 寻求同类参考 52 | - 可以询问老板心目中是否有同类型的资料或者项目可供参考学习 53 | - 建立方案逻辑 54 | - 使用思维导图或者 Markdown 等各种方便你整理逻辑的工具 55 | - 百度脑图支持导出和导入 Markdown 文件 56 | - 向上反馈 57 | - 方案逻辑用脑图的方式向上反馈 58 | - 需要补充哪些要点 59 | 60 | 61 | ### 内容 62 | 63 | 每一页 PPT 上面放什么? 64 | 65 | - 对应逻辑,将内容「搬进去」 66 | - 注意内容的层级及分类 67 | - 注意内容的精炼:大标题 / 副标题用一句话总结 68 | - 查缺补漏:标记出来,汇总之后,统一解决 69 | - 向上反馈:向甲方第二次确认 70 | 71 | 72 | ### 美化 73 | 74 | - 确定风格 75 | - 套用模板 76 | - 自己配色、确定辅助图形 77 | - 填充基本内容 78 | - 美化内容 79 | - 基本原则:亲密、对齐(一个页面只用一种对齐方式)、重复、对比。 80 | - 少用文字:用视频、图片、图表、图标视觉化文字。 81 | - 突出重点:字体放大、加重色块、引导图标。 82 | - 注意留白:页面上下左右均留出一定的页边距,所有的元素、文本、图片不要超出约定范围。 83 | 84 | 85 | ## Tips 86 | 87 | ### Word(大纲模式)转 PPT 88 | 89 | - 1 级标题 PPT 中的新的一页 90 | - 保存并关闭 Word 文档 91 | - 打开 PowerPoint 92 | - 点击 插入 - 新建幻灯片 - 幻灯片(从大纲) 93 | 94 | 95 | ### 版面设置 96 | 97 | 98 | **行距** 99 | - 1.2 倍 ~ 1.5 倍 100 | - 1.2 倍行距 = 行高是字体大小的 1.2 倍 101 | 102 | 103 | **字号** 104 | - 投影用:≥ 28.0 号 105 | - 阅读用:≥ 10.5 号 106 | 107 | 108 | **段间距** 109 | - 约 2 个字高的大小。比如:文字为 12 px,段间距为 24 px 110 | 111 | 112 | ### 主题颜色 113 | 114 | 使用主题颜色可以随时更改主题颜色,做到全局修改色彩。 115 | 116 | - `文字/背景 - 深色 2`:主色 117 | - `文字/背景 - 浅色 2`:对比色 / 强调色 118 | - `着色 1 ~ 着色 6`:图表 / 表格 119 | 120 | ### [iSlide](https://www.islide.cc/) 121 | 122 | 简单,好用的 PPT 插件。包含 38 个设计辅助功能,8 大在线资源库以及超 20 万专业 PPT 模板/素材。 123 | 124 | 125 | 126 | ### 使用 Emoji 填充图表 127 | 128 | ![使用 Emoji 填充图表](https://user-images.githubusercontent.com/15868458/69109258-289c2680-0ab2-11ea-9b21-1f7d73758221.gif "https://www.v2fy.com/p/emoji_copy_paste/") 129 | 130 | 131 | 132 | ### 参考来源 133 | 134 | [用好 Keynote 这两个「对齐」工具,幻灯片排版也可以专业有质感 - 包几君Pro](https://sspai.com/post/60316) -------------------------------------------------------------------------------- /source/_posts/design/ppt/ppt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/ppt/ppt.png -------------------------------------------------------------------------------- /source/_posts/design/raster-to-vector.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: Inkscape:位图矢量化的最佳工具 4 | date: 2019-06-21 5 | updated: 2019-12-2519 6 | categories: 美的设计 7 | tags: 设计 8 | 9 | --- 10 | 11 | ![inkscape](raster-to-vector/inkscape.png) 12 | 13 | 免费开源的矢量图像编辑器,小巧而强大,强烈推荐设计师人手一份。 14 | 15 | 16 | 17 | ## 区别 18 | 19 | 首先看一下「矢量图」和平常我们所见的「位图」有什么区别: 20 | 21 | | 项目 | 位图 | 矢量图 | 22 | | ---- | ------------------- | -------------------------- | 23 | | 别称 | 栅格图、像素图 | 向量图 | 24 | | 构成 | 由像素(Pixel)组成 | 由数学方程组成(基于路径) | 25 | | 格式 | JPEG、PNG、GIF、PSD | SVG、EPS、AI、DWG | 26 | | 优点 | 色彩丰富,效果逼真 | 无损缩放、体积小 | 27 | | 缺点 | 放大会变模糊 | 不能真实地还原物理世界 | 28 | | 用途 | 场景复杂的图像 | Logo、插画 | 29 | | 软件 | Photoshop | Illustrator、Inkscape | 30 | 31 | 位图就好比在(巨大的)沙盘上画好的画,当你远观时,真美。但当你靠得非常近的时候,就能看到细腻多彩的画面是由每粒(颜色不可变化的)沙子组成的。 32 | 33 | 视频介绍 34 | 35 | - [位图和矢量图有什么区别?为啥图片放大就变模糊了?- 啃芝士](https://www.bilibili.com/video/av25573962/) 36 | - [历经 17 年,Inkscape 1.0 隆重发布](https://www.bilibili.com/video/BV1yT4y137Ko) 37 | 38 | 39 | 40 | ## 寻找 41 | 42 | 为了把简单的图像(例如 Logo)矢量化,我尝试过 Adobe Illustrator 的 [图像临摹](https://helpx.adobe.com/cn/illustrator/using/image-trace.html) 和在线图像矢量转换工具 [Autotrace](https://www.autotracer.org/zh.html),直到遇见 [Inkscape](https://inkscape.org/),我才停下搜寻的脚步: 43 | 44 | - 免费、开源、小巧、无广告 45 | - 全平台适用:支持 [Windows](https://inkscape.org/release/0.92.4/windows/)、[macOS](https://inkscape.org/release/0.92.4/mac-os-x/) 和 [Linux](https://inkscape.org/release/0.92.4/gnulinux/) 46 | - 怎么读:Ink(墨水) + scape(景色) 47 | 48 | 49 | 50 | ## 使用 51 | 52 | - 双击 `inkscape.exe` 打开 53 | - 打开(`Ctrl + O`)想要矢量化的图片,`确定` 54 | - 选中图片,依次点击菜单栏 `路径` > `临摹位图轮廓`(`Shift + Alt + B`) 55 | - 打开 `即时预览`,选择对应的模式,`确定` 执行临摹 56 | - 简单的 Logo:选择 `单个扫描:创建一条路径` 57 | - `亮度截断` 和 `边缘检测` 的 `阈值` 从默认值开始微调 58 | - `颜色量化` 扫描模式从最少的 `颜色` 开始微调,例如 `2` 59 | - 复杂的图案:选择 `多重扫描:创建一组路径` 60 | - 多试几个模式和参数,你就能找到经验值 61 | - 效果不满意,「拖走」处于顶层的矢量图,点击原图,修改设定,`确定` 再次矢量化 62 | - 另存为(`Shift + Ctrl + S`)矢量格式 63 | 64 | 65 | 66 | > 视频教程:[inkscape - 哔哩哔哩](https://search.bilibili.com/all?keyword=inkscape) 67 | 68 | -------------------------------------------------------------------------------- /source/_posts/design/raster-to-vector/inkscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/design/raster-to-vector/inkscape.png -------------------------------------------------------------------------------- /source/_posts/digital-life/chrome/google-chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/chrome/google-chrome.png -------------------------------------------------------------------------------- /source/_posts/digital-life/digital-life-tips.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 互联网百宝箱 4 | date: 2019-03-20 5 | updated: 2020-03-30 6 | categories: 数字生活 7 | tags: 网上冲浪指南 8 | 9 | --- 10 | 11 | ![surf-web](digital-life-tips/surf-web.png) 12 | 13 | 这是一个信息爆炸的时代,如何在网络上体面地「冲浪」?我有我的方法。 14 | 15 | 16 | 17 | 18 | 19 | ## 将 Gmail 的所有未读邮件标记为已读 20 | 21 | 1. 打开 [Gmail](https://mail.google.com) 22 | 2. 在搜索栏输入 `in:inbox is:unread`,筛选出收件箱中的所有未读邮件。 23 | 3. 点击左上角的 `选择全部`(搜索框的左侧下方)。 24 | 4. 鼠标平行右移,找到 `更多操作` > `标记为已读` 25 | 26 | 太棒了!收件箱里一封未读邮件都没有,太清爽了。 27 | 28 | 29 | 30 | ## 无法连接局域网打印机 31 | 32 | ### 原因一 33 | 34 | 可能是因为没有启动 `Workstation` 服务: 35 | 36 | > 使用 SMB 协议创建并维护客户端网络与远程服务器之间的连接。如果此服务已停止,这些连接将无法使用。如果此服务已禁用,任何明确依赖它的服务将无法启动。 37 | 38 | 1. `Win` + `S` 打开搜索:`服务` 39 | 2. 右击 `Workstation`,选择 `属性` 40 | - `启动类型`:`自动` 41 | - `服务状态`:`正在运行`,否则点击 `启动` 42 | 43 | 44 | 45 | ### 原因二 46 | 47 | 当使用内网 IP(例如 `192.168.1.56`)无法连接打印机时,试试通过 `计算机名` 添加打印机: 48 | 49 | 1. 右键单击 `我的电脑(计算机)` - `属性` 50 | 2. `计算机名、域和工作组设置` - `更改设置` 51 | 3. 复制 `计算机全名` 52 | 53 | 或者: 54 | 55 | 1. `Win` + `S` 打开搜索:`查看电脑名称` 56 | 2. 复制 `设备名称` 57 | 58 | 59 | 60 | ## 笔记本电脑无法开机 61 | 62 | 按下电源键(开机键)毫无反应,怎么办? 63 | 64 | 1. 把电池拔掉,放置一段时间。 65 | 2. 长按电源键 15 秒以上。 66 | 3. 插上电源(不插电池)。 67 | 4. 也许就可以开机了。 68 | 69 | 70 | 71 | ## 文件下载 72 | 73 | **如何直接下载百度网盘的文件(无需登录账号)** 74 | 75 | - 方法:在 `baidu` 后面加 `wp`(网盘 / 我呸的拼音首字母) 76 | - 例如:`pan.baidu.com/s/1dyGdFw` > `pan.baiduwp.com/s/1dyGdFw` 77 | 78 | 79 | 80 | ## 压缩 GIF 81 | 82 | **使之可以在微信上自动播放** 83 | 84 | 1. 打开 [图贴式](https://www.tutieshi.com/compress/)(网站),选择 GIF 压缩 85 | 2. 宽度设置为 `240`,压缩质量 70(默认) 86 | 3. 选择或拖拽一个或多个 GIF 到压缩窗口,`开始压缩` 87 | 4. (推荐使用 [IDM](https://tingtalk.me/windows/#%E4%B8%8B%E8%BD%BD%E5%B7%A5%E5%85%B7))`打包下载` 88 | 89 | 在限制多多的微信 App 上,1MB 以下 GIF 图片才能自动播放。如何压缩到 1 MB 以下: 90 | 91 | - 方法一:修改 [图贴式](https://www.tutieshi.com/compress/) 的压缩质量等级 92 | - 方法二:使用 [docsmall](https://docsmall.com/gif-compress)(网站)或者 [图压](https://tuya.xinxiao.tech/)(软件)大于 1 MB 的 GIF 93 | 94 | 最后推荐一个可以批量修改图片大小的网站:[iLoveIMG](https://www.iloveimg.com/zh-cn/resize-image) 95 | 96 | 97 | 98 | ## 压制 B 站视频 99 | 100 | - 编码器:H.264 101 | - 码率模式 102 | - 二次编码模式(2pass) 103 | - 视频码率:1150 Kbps ~ 1350 Kbps 104 | - 音频码率:320 Kbps / 128 Kbps 105 | - 平均码率:两者加起来,小于 1500 Kbps(1400 Kbps ~ 1450 Kbps 为佳) 106 | - 固定质量模式(CRF) 107 | - 视频质量:23~26 CRF(越小质量越好,大于 18 为佳 108 | - 封装(容器)两次,第一次先压制成 MP4 格式,第二次再封装成 FLV。分辨率:960×540 109 | 110 | 其他: 111 | 112 | 113 | - [在线旋转视频](https://www.aconvert.com/cn/video/rotate/):点击文件链接,右键另存为即可下载到电脑上(视频文件大小限制为 200M) 114 | 115 | ## 头像生成软件 116 | 117 | - [FaceYourManga](https://www.faceyourmanga.com/) 118 | - Dr_Ting 的头像就是在这个网站「捏」出来的 119 | - 下载高清头像需要付费 120 | - [Avataaars Generator](https://getavataaars.com):可下载 SVG 文件 121 | - [Gopherize.me](https://gopherize.me/):A Gopher(地鼠) pic that's as unique as you 122 | - [SuperMii酷脸](https://www.supermii.cn/):没有网页版,需下载 app 123 | - [Robohash](https://robohash.org/):Make robot/alien/monster/kitten gravatar for any text(CC BY 3.0) 124 | 125 | 126 | 127 | ## 文件命名 128 | 129 | - 如果需要分隔文件名的关键词,用下划线,而不是空格。 130 | - 如果需要以英文字母命名,使用小写字母,而不是大小写混用。 131 | - 临时输入大写字母:Shift + 小写字母。 132 | 133 | 134 | 135 | 136 | ## 国家标准查阅 137 | 138 | - [国家标准全文公开系统](http://www.gb688.cn/bzgk/gb/) 139 | - [全国标准信息服务平台](http://www.std.gov.cn/) 140 | 141 | 142 | 143 | ## 中国地图 144 | 145 | [下载链接](https://www.lanzous.com/iaxgdob) by [卷毛WEAPON](https://www.bilibili.com/video/BV1aC4y147T7) 146 | 147 | 包含 `.ai`、`.psd`、`.jpg`、`.png` 148 | 149 | 150 | 151 | ## 心理学 152 | 153 | **拆屋效应** 154 | - 先提出一个很夸张的要求,再提出一个合理的要求 155 | - NO:屋子暗,开个天窗 156 | - OK:屋子暗,拆掉屋顶,NO,那开个天窗吧 157 | 158 | 159 | **框架效应** 160 | - NO:1 块钱的冰棍,现金支付,加 5 毛 161 | - OK:2 块钱的冰棍,微信支付,减 5 毛 162 | 163 | 164 | 165 | ## [如何设计强壮的密码](https://www.haikebang.org/passphrase.html) 166 | 167 | - `@)!(` 是由 shift + `2019` 输出的 168 | - `t@)!(b` 首字母 `t` 和尾字母 `b` 代表“淘宝” 169 | - `!doGyMhO` 是 `OhMyGod!` 的反转 170 | - `G@o)o!g(l!e)` 是 `Google` 和 shift + `201910` 的穿插组合 171 | - 银行卡的密码——前四位和最后两位数的和、特别日期 MMDD 加上卡号首尾两位或末两位等…… 172 | 173 | 174 | 175 | 176 | 177 | ## 降低 PayPal 手续费 178 | 179 | - [更改币种兑换程序](https://www.paypal.com/c2/cgi-bin/webscr?cmd=_profile-merchant-pull-funding&buyer_hub) 从而降低手续费:`用 PayPal 的兑换程序完成使用我的卡币种的交易` 改成 `在给我的账单中使用卖家列出的币种。` 180 | 181 | 182 | 183 | 184 | 185 | ## 其他 186 | 187 | - [Witeboard](https://witeboard.com):打开即用的免费在线白板工具 188 | - 心情烦躁,使用 [潮汐冥想](https://tide.fm/meditation/) 安抚焦虑的情绪 189 | - [奶牛快传](https://cowtransfer.com/):文件传输服务 190 | - [让 Excel 表格自动更新日期](https://support.office.com/zh-cn/article/today-%E5%87%BD%E6%95%B0-5eb3078d-a82c-4736-8930-2f51a028fdd9) 191 | - 日期 + 星期:`=TEXT(TODAY,"YYYY 年 MM 月 DD 日 AAAA")` 192 | - 日期 + 7 天:`=TEXT(TODAY()+7,"YYYY 年 MM 月 DD 日 AAAA")` 193 | - 添加前缀:`="INV"&TEXT(TODAY(),"YYYY-MM-DD")` 194 | - [爱达杂货铺](https://adzhp.cn/) 195 | - [资源搜索 - 虫部落](http://magnet.chongbuluo.com/) 196 | - [大力盘搜索](https://www.dalipan.com/) 或 [大圣盘搜索](https://www.dashengpan.com/) 197 | - [假装 Windows 升级界面](http://fakeupdate.net/):用假的 Windows 升级界面骗你的同事和朋友吧,以此达到此时无法工作的假象。 198 | - [OCR 图片识别文字工具 - 蛙蛙在线工具](https://www.iamwawa.cn/ocr.html) 199 | - [中国失踪人口档案库](http://zgszrkdak.cn/) 200 | - [中国法律服务网](https://ai.12348.gov.cn/):智能法律咨询,根据问卷提示填写相关信息,在线为您免费出具 法律意见书,供您参考 201 | - [公交线路辐射图(周边公交通向哪)](https://bus.daibor.com/#/):作者的介绍:[做完这个网站,终于知道任意位置的公交都通向哪里了](https://sspai.com/post/59229) 202 | - [舔狗日记](http://tg.94275.cn/) 203 | - [在线 DOS 游戏合集](https://dos.zczc.cz/) 204 | - [QQ 空间导出助手](https://github.com/ShunCai/QZoneExport):落叶随风,青春,稍纵即逝,QQ 空间,一个承载了很多人的青春的地方。万一腾讯倒闭,记录着我们的青春的数据怎么办?数据,还是掌握到自己手里的好,QQ 空间导出助手,可以导出备份 QQ 空间的日志、私密日志、说说、相册、留言板、QQ 好友、视频、收藏夹为文件,便于永久保存与迁移。 205 | - [方方格子](http://www.ffcell.com/index.aspx):一个专注 Excel 学习交流、资源下载的网站。 206 | - [小恐龙公文排版助手 for Word/WPS](https://gw.xkonglong.com/#/) 207 | - [人事星球](https://www.rsxq.com),为 HR 提供各类专业的人力资源文档模板,所有资料均可免费下载。 208 | - 如何获取微信公众号的二维码:https://open.weixin.qq.com/qr/code?username=Ting_Talk 209 | - 制作 [Wi-Fi 卡片](https://www.mywifisign.com/zh-hans),打印或者保存在手机里,访客扫描二维码即可连接 Wi-Fi。 210 | 211 | 212 | 213 | 关联阅读:[数字独立与自由](https://www.zmonster.me/2020/03/07/digital-independence-and-freedoom.html) -------------------------------------------------------------------------------- /source/_posts/digital-life/digital-life-tips/surf-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/digital-life-tips/surf-web.png -------------------------------------------------------------------------------- /source/_posts/digital-life/gcam.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何在小米 6 上安装 Google Camera(谷歌相机) 4 | date: 2020-03-19 5 | updated: 2020-03-21 6 | categories: 数字生活 7 | tags: 网上冲浪指南 8 | 9 | --- 10 | 11 | ![google-camera](gcam/google-camera.png) 12 | 13 | 我目前的主力手机是 2017 年 8 月 1 日买的小米 6。为了摆脱续航焦虑,2020 年 3 月 14 日去小米之家,花了 ¥99 换了一个新电池。为了榨干双摄的镜力,2020 年 3 月 19 日我装上了有「夜视仪」之称的的谷歌相机。[如若你不是手机摄影爱好者,就没必要折腾了](https://b23.tv/av48239681)。因为再强大的手机相机,在你手中也只是二维码识别器。 14 | 15 | 16 | 17 | 轻度玩家,不妥之处,敬请斧正。 18 | 19 | 20 | 21 | ## 💪强大在哪 22 | 23 | **HDR+ 增强** 24 | 25 | 在弱光或背光环境下,拍出「高动态范围」的照片,即看到更多的细节,不至于死黑或者死白。 26 | 27 | 28 | 29 | **夜视(Night Sight)** 30 | 31 | 32 | 这个当家本领可将所有隐没在黑暗中的美好细节与色彩一一呈现。请看视频演示:[小米 6 安装上谷歌相机竟然变成了夜视仪?!](https://www.bilibili.com/video/av49411443) 33 | 34 | 35 | 36 | **最佳照片** 37 | 38 | 使用「最佳照片」功能挑选最美瞬间,系统会自动建议最佳照片,确保其中无人眨眼,让照片张张精彩。 39 | 40 | 41 | 42 | 鉴于其出色的夜拍表现,开发者将其移植到各种 Android 手机上,其中就包括一代神机小米 6。下面,以 MI 6 为例,开启 Google Camera 移植之旅。不懂之处,请配合视频教程「[可能是最简单的谷歌相机安装教程(免 Root)](https://www.bilibili.com/video/av56697545)」操作。 43 | 44 | 45 | 46 | ## 💾备份数据 47 | 48 | 从开发版 MIUI 10 11.8 伊始,手机不用 Root 也可以安装谷歌相机。所以如果是稳定版 MIUI,切换到开发版 MIUI,手机会被格式化(恢复出厂设置),所以务必备份好所有数据。 49 | 50 | 51 | 52 | ## 🤖刷开发版 53 | 54 | **方法一** 55 | 56 | 依次点击 `设置` > `我的设备` > `MIUI 版本` > 右上角的 3 个点:`切换到开发版`。 57 | 58 | 在下载的同时,可以再检查一次,数据是否都备份好了。 59 | 60 | 下载好安装包后,根据系统提示,重启,即可刷入开发版 MIUI。 61 | 62 | 63 | 64 | **方法二** 65 | 66 | 你也可以通过电脑下载 [小米 6 开发版 MIUI 完整安装包](https://www.miui.com/download-330.html)。 67 | 68 | 在下载的同时,访问 [Google Camera Port Hub](https://www.celsoazevedo.com/files/android/google-camera/developers/),根据机型(查找的快捷键是 `Ctrl` + `F` ) ,提前下载好谷歌相机的安装包(APK)备用。 69 | 70 | 下载好开发版 MIUI 安装包后,通过数据线把 MIUI 开发版传输到手机上,接着在 `设置` > `我的设备` > `MIUI 版本` > 右上角的 3 个点:`手动选择安装包` 进行刷机。 71 | 72 | 73 | 74 | ## 🍳预装环境 75 | 76 | 用 Google 的产品,怎么能少了谷歌三件套:Google 服务框架、Google Play 服务、Google Play 商店。 77 | 78 | **方法一** 79 | 80 | 1. 学会 [科学上网](https://tingtalk.me/fq/)。 81 | 2. 借助 [GO谷歌安装器](https://www.coolapk.com/apk/com.goplaycn.googleinstall) 一键安装谷歌官方三件套。 82 | 3. 在手机上,打开 Play 商店,注册 Google 账号。 83 | 4. 下载 [Manual Camera Compatibility Test(相机兼容性测试软件)](https://www.coolapk.com/apk/pl.vipek.camera2_compatibility_test),安装并启动此 app ,看到全部打绿色的 ✅,说明安装谷歌相机的环境已经准备就绪了。 84 | 85 | 86 | 87 | **方法二(未亲测)** 88 | 89 | 1. 去 [microG](https://microg.org/download.html) 下载 [Services Core](https://microg.org/fdroid/repo/com.google.android.gms-19420020.apk),即可安装轻量级的谷歌全家桶(不用科学上网,不用注册 Google 账号),重启手机。 90 | 2. 下载 [Manual Camera Compatibility Test(相机兼容性测试软件)](https://www.coolapk.com/apk/pl.vipek.camera2_compatibility_test),安装并启动此 app ,看到全部打绿色的 ✅,说明安装谷歌相机的环境已经准备就绪了。 91 | 92 | 93 | 94 | ## ⚙️开始移植 95 | 96 | 1. 打开 [Google Camera Port Developers/Modders](https://www.celsoazevedo.com/files/android/google-camera/developers/),根据机型下载对应谷歌相机的 APK。如果你也是小米 6 钉子户,下方是我为你整理了下载链接(Q 代表 Android 10),选一个即可: 97 | - 从 QQ 群 `611848044` 下载 98 | - 从 [网页](https://www.celsoazevedo.com/files/android/google-camera/dev-fu24/) 下载 by fu24 99 | - 从 [Telegram](https://t.me/alexey070315) 下载 by Alexey070315 100 | - 从 [网页](https://www.celsoazevedo.com/files/android/google-camera/dev-alexey070315/) 下载 by Alexey070315 101 | 2. `设置` > `应用设置` > `应用管理` > 找到刚刚安装好的谷歌 `相机` > 在 `权限管理` 开启必要的选项,例如 `相机`、`录音`、`读写手机存储` 等。 102 | 3. 打开 `电话` app,在拨号界面输入 `*#*#0610#*#*`,显示 `Wangzn2016,enable HAL3 test…`,则代表 bulid 里面就添加了 HAL3 代码(我也不懂技术细节),然后重启手机,即可享受谷歌相机强大的拍摄能力。 103 | 104 | > 0610 是 开发者 [wangzn2016](https://weibo.com/u/6586011938) 的生日(6 月 10 日) 105 | 106 | 107 | 108 | ## 💡变得更强 109 | 110 | 以下设置,如果不生效,请重启 app(上滑退出 app)或手机。 111 | 112 | ### HDR 113 | 114 | - 相机主界面上方:`HDR+` > `HDR+ 增强` 115 | - `更多` > `设置` > `HDR+ parameters: 36`(不同的 APK,操作路径可能不一样) 116 | 117 | ### 相机界面右侧的图标 118 | 119 | 某些 apk 才会显示以下图标: 120 | 121 | - `S` 122 | Sabre(军刀)模式 123 | - `NS` 124 | Night Shift(夜视) 125 | - `AWB` 126 | 自动白平衡 127 | 128 | ### 拍摄夜空 129 | 130 | 1. 进入 `夜视` 拍摄模式 131 | 2. 点击右上角的焦点设置 🅾️ 为 `远距离`。更改此设置可让相机对焦到距离超过 4 米的任何位置(例如夜空)。 132 | 133 | 134 | ### Save settings 135 | 136 | `更多` > `设置` > `Save settings` > 输入配置的名字,然后 `Save`,便可导出 `配置文件.xml` 到 `内部存储设备\Gcam\Configs`。如此一来,便可分享你的配置文件给其他人,或者 [导入别人的配置文件](https://www.celsoazevedo.com/files/android/google-camera/f/settings09/)。 137 | 138 | 139 | 140 | ### FAQ 141 | 142 | - [FAQ and Troubleshooting Tips - Google Camera Port Hub](https://www.celsoazevedo.com/files/android/google-camera/troubleshooting/) 143 | - [GCam 各种功能翻译](https://home.gamer.com.tw/creationDetail.php?sn=4449276) 144 | - 更多玩法,请下载酷安 App,进入相应的社区。 -------------------------------------------------------------------------------- /source/_posts/digital-life/gcam/google-camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/gcam/google-camera.png -------------------------------------------------------------------------------- /source/_posts/digital-life/google-account.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何注册 Google(谷歌)账号 4 | date: 2020-06-11 5 | updated: 2020-10-11 6 | categories: 数字生活 7 | tags: 网上冲浪指南 8 | --- 9 | 10 | ![google](google-account/google.png) 11 | 12 | 解决「此电话号码无法用于进行验证」的问题。 13 | 14 | 15 | 16 | 如果以下方法失效了,请前往 YouTube 搜索最新的 [谷歌账号注册方法](https://www.youtube.com/results?search_query=%E6%B3%A8%E5%86%8C+%E8%B0%B7%E6%AD%8C&sp=EgIIBA%253D%253D)。 17 | 18 | 19 | 20 | ## 亲测成功的方法 21 | 22 | ### 通过 Google 框架注册 23 | 24 | 2020 4 月 2 日亲测。 25 | 26 | 1. 在 Android 手机上下载 [Go 谷歌安装器](https://www.coolapk.com/apk/com.goplaycn.googleinstall)。 27 | 2. 借助「Go 谷歌安装器」安装 Google 三件套(Google 服务框架、Google Play 服务、Google Play 商店 )。 28 | 3. 注册 Google 帐号。 29 | 30 | 运气好的话,甚至不用验证手机号码。 31 | 32 | 手动安装 Google 三件套的方法:[小米 9 安装谷歌商店(Google Play Store)与相关配置 - jdhao](https://jdhao.github.io/2019/05/04/mi9_google_play_configure/) 33 | 34 | 35 | 36 | ### 通过 YouTube 注册 37 | 38 | 2020 6 月 11 日亲测。 39 | 40 | 1. 打开手机 / 电脑上浏览器,例如 Chrome 。 41 | 2. 打开无痕模式。 42 | 3. 访问 youtube.com。 43 | 4. 注册 Google 帐号。 44 | 45 | 46 | 47 | ### 通过 Microsoft Edge 注册 48 | 49 | [青平散人](https://ccafder.com/) 亲测。 50 | 51 | 1. 使用 Microsoft Edge 浏览器 52 | 2. 把 google.com 的语言切换为 English 53 | 3. 注册 54 | 55 | 56 | 57 | ## 暂未亲测的方法 58 | 59 | - 通过 Chrome(谷歌浏览器)注册 Google 帐号。 60 | - 不使用美国的节点访问谷歌,改用香港等地区线路试试。 61 | - 在电话号码验证界面,地区保持 `美国` 不变,不要更改为 `中国`,直接在手机号前加上 `+86`。 62 | 63 | 64 | 65 | 66 | 67 | > **参考资料**:[谷歌注册时电话号码无法用于验证的完美解决办法 - 老白•窝窝零](https://oo0.bid/741.html) -------------------------------------------------------------------------------- /source/_posts/digital-life/google-account/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/google-account/google.png -------------------------------------------------------------------------------- /source/_posts/digital-life/saladict/saladict.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/saladict/saladict.png -------------------------------------------------------------------------------- /source/_posts/digital-life/search-tips/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/search-tips/search.png -------------------------------------------------------------------------------- /source/_posts/digital-life/telegram-animated-emoji/see-no-evil-monkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/telegram-animated-emoji/see-no-evil-monkey.png -------------------------------------------------------------------------------- /source/_posts/digital-life/telegram/reply-by-durov.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/telegram/reply-by-durov.png -------------------------------------------------------------------------------- /source/_posts/digital-life/telegram/telegram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/telegram/telegram.png -------------------------------------------------------------------------------- /source/_posts/digital-life/userscripts/tampermonkey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/userscripts/tampermonkey.png -------------------------------------------------------------------------------- /source/_posts/digital-life/whatsapp.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: WhatsApp:解封 & 最小化 4 | date: 2019-11-14 5 | updated: 2019-11-15 6 | categories: 数字生活 7 | tags: [外贸, 网上冲浪指南, Windows] 8 | 9 | --- 10 | 11 | ![whatsapp](whatsapp/whatsapp.png) 12 | 13 | WhatsApp 是 Facebook 公司的旗下一款用于智能手机的跨平台加密即时通信应用程序。 14 | 15 | 16 | 17 | ## 如何解封 18 | 19 | ### 预防措施 20 | 21 | - 使用纯净的国外 IP 22 | - 避免频繁更换 IP 23 | 24 | 25 | ### 第一件事 26 | 27 | 1. 发邮件告诉客户你的其他联系方式 28 | 2. 在申诉期间,注册新号 29 | - 卸载 WhatsApp 30 | - 从官方渠道(Google Play / App Store)下载 WhatsApp 31 | - 用新的手机号码注册 WhatsApp 32 | - 获取通讯录权限 33 | 34 | ### 申诉解封 35 | 36 | **尽量用企业邮箱在 72 小时以内,向以下 email 发送申诉邮件** 37 | 38 | - 不指定设备:support@support.whatsapp.com 39 | - iPhone 通道:iphone-support@whatsapp.com 40 | - Android 通道:android@support.whatsapp.com 41 | 42 | 43 | 44 | **邮件主题 / 标题(Subject)** 45 | 46 | - Support - WhatsApp Normal use is disabled 47 | 48 | 49 | 50 | **正文** 51 | 52 | - 手机号码:`+86` 138 3843 8888 53 | - 礼貌陈述。态度诚恳 54 | - 屏幕截图 55 | - 自我介绍时一定要说你是中国企业的业务员,而且公司主要客户都是在这个号码 56 | - 求客服快一点帮你恢复,因为有好几个重要客户正在联系 57 | - 你要做好心里准备客服也不一定这么快回复你,所以你要隔三天联系一次 58 | 59 | 60 | 61 | 模板一: 62 | 63 | Hi WhatsApp Support Team, 64 | 65 | My WhatsApp number has been banned. Please turn it on again. 66 | 67 | My number is + 86 156 1024 1024. 68 | 69 | Thank you very much. 70 | 71 | Tim 72 | 73 | 74 | 75 | 模板二: 76 | 77 | Hi WhatsApp Support Team, 78 | 79 | I'm sorry for the violent WhatsApp Terms & Policy and it's a mistake. 80 | 81 | I request you to unbanned my WhatsApp number. Because it's my real 82 | WhatsApp number and many friends are joined with me on WhatsApp also my business clients and the team is on WhatsApp so I will lose everything. 83 | 84 | I hope will understand my problem. So Please give me one chance and make unbanned my WhatsApp. 85 | 86 | My WhatsApp Number is + 86 156 1024 1024. 87 | 88 | Thanks, 89 | Tim 90 | 91 | 92 | 93 | 94 | ## 快速发起对话 95 | 96 | - 好处:无需保存联系人到通讯录也能发信息给 Ta。 97 | - 方法:替换后面的电话号码,记得加国际电话区号: 98 | `https://api.whatsapp.com/send?phone=8615610241024` 99 | 100 | 101 | 102 | ## 最小化客户端 103 | 104 | - 以下方法只适用于 Windows 电脑 105 | - 下载 [WhatsappTray](https://github.com/D4koon/WhatsappTray/releases) 并安装 106 | - [Download WhatsApp for Windows PC](https://www.whatsapp.com/download) 并安装,然后就可以最小化 WhatsApp 到桌面任务栏的右下角了 107 | 108 | 109 | 110 | ## 关闭自动保存图像在手机上 111 | 112 | 如要停止将个人对话或群组的媒体文件自动存储到您手机中: 113 | 114 | 1. 开启 WhatsApp 115 | 2. 点击更多选项 > `设置` > `对话` 116 | 3. 关闭 `媒体文件可见度` 117 | 118 | 119 | 120 | ## 传送照片 121 | 122 | - [每次最多可以选择传送 30 张照片或影片,传送大小上限是 16 MB。](https://faq.whatsapp.com/zh_cn/web/28080001/?category=5245251) 123 | 124 | -------------------------------------------------------------------------------- /source/_posts/digital-life/whatsapp/whatsapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/whatsapp/whatsapp.png -------------------------------------------------------------------------------- /source/_posts/digital-life/windows/windows-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/digital-life/windows/windows-10.png -------------------------------------------------------------------------------- /source/_posts/dr-ting/blog.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 为什么要写博客? 4 | date: 2017-07-17 5 | updated: 2020-04-14 6 | categories: 庭勃士说 7 | tags: [庭勃士, 写作, 博客] 8 | 9 | --- 10 | 11 | ![the-pencil-fist](blog/the-pencil-fist.png) 12 | 13 | 我有时,会张开双臂拥抱世界,在精神上与我有相似思考和感触的读者隔空击掌。有时,我只想一个人。这个博客,就是我一个人的精神角落,用来承载我那无处安放的热情、趣味和好奇心。 14 | 15 | 16 | 17 | 人生的意义也不在于你过了多少日子,而在于你记得多少日子。而博客是一个绝佳的记录载体,我可以这个精神角落,我可自由地表达想说的话。 18 | 19 | 从 2016 年 4 月 29 日开始,我正式在庭说的公众号(2020 年 4 月 8 日被永久封号)写作,但是个人订阅号推送后不支持修改,也不能插入外链。 20 | 21 | 所以 2017 年毕业后,我搭建了这个更自由的自留地,满足我勃起的好奇心和泛滥的表达欲,并把接触到的这些新东西,以一种更优美的形态固定下来 。 22 | 23 | > Blog = Book (书) + log (日志),中文叫博客。 24 | 25 | 通过博客,我的思想和主张可以被更多志同道合的人搜索到,而不是仅仅局限于微信这座「孤岛」。 26 | 27 | 28 | 29 | ## 博客大事记 30 | 31 | - **2017 年 7 月 17 日** 32 | 使用 [Hexo](https://hexo.io/zh-cn/) 在 [GitHub Pages](https://pages.github.com/) 建立博客 `tingstory.github.io`,现在已弃用。 33 | 34 | - **2017 年 11 月 7 日** 35 | 在 Godaddy 购买了域名:`tingtalk.me`,一年 14 美元左右。域名含义是「庭说,写自己的故事」。 36 | 37 | - **2017 年 12 月 13 日** 38 | 图床从七牛迁移到新浪,全站使用 HTTPS(超文本传输安全协议),确保读者与博客之间所传递的数据,是被加密且完整的。 39 | 40 | - **2019 年 10 年 10 日** 41 | 域名 Godaddy 转移到 [NameSilo](https://www.namesilo.com/?rid=d1eaf64se),价格是一年 13.15 美元。 42 | 43 | - **2020 年 4 月 04 日** 44 | 博客在中国大陆被「墙」了 ,终于不用处心积虑地想谐音词了,例如番茄是翻墙的意思。但我不会停止创作,庭说不会停说。 45 | 46 | - **2020 年 4 月 18 日** 47 | [庭勃士(Dr_Ting)做客 TSBBLOG](https://tsb2blog.com/tingtalk.html),讲述博客背后的故事。 48 | 49 | 50 | 51 | ## 对写作的要求 52 | 53 | - 争取在内容上有种,有料,有信息量,并且尽可能原创。 54 | - 放射性元素的原子核有半数发生衰变时所需要的时间,叫半衰期(Half-life)。而 [信息的半衰期](https://www.remote.tools/newsletter/knowledge-decay-and-half-life-of-information) 指的是,一半的信息量变得无关紧要或者彻底过时所需的时间。所以尽量写一些半衰期比较长的内容 ,这样有利于提高内容的使用价值,也是提高创作者的劳动价值。二爷(邱岳)也说过:「在我看来,好的文字应该是长命的,缓释的价值越多,文字越高级。高级的文字并不着力于哗众取宠的爆发,而是有与众不同的角度和观点。我们会本能的高估短期,而低估长期,文字的价值如是,生活工作也是。」。 55 | 56 | 57 | 58 | ## 前辈们的话 59 | 60 | > 创作是一件开心的事情,沉浸只是因为纯粹的灵感。我希望自己的生命能够时常充满灵感,而文字就是这些愉快时光曾经存在过的证明。by Livid(刘昕) 61 | 62 | 63 | 64 | 65 | > 把自己的思想写下来(不管在信中或是用别的方式),比光在脑中空想是大不同的。写下来需要正确精密的思想,所以写在纸上的自我检讨,格外深刻,对自己也印象深刻。by 傅雷 66 | 67 | 68 | 69 | 70 | > 愿文字带我们穿越时光,连接过去,遥想未来。by [纯纯写作](https://writer.drakeet.com/) 71 | 72 | 73 | 74 | 75 | > 靡不有初,鲜克有终。坚持下去,你生活中的点点滴滴都会在这里留下痕迹,你可以一直写到老去的那一天……by [麦子](https://jsntn.com/essays/2018/04/03/11.html) 76 | 77 | 78 | 79 | 80 | > 用整体性的视角观察当代社会、技术文化以及商业风景,对抗消费主义导向的论述,强调对技术与艺术的敏锐感受力、以及精神与肉体上的强健。by [一天世界](https://blog.yitianshijie.net/) 81 | 82 | 83 | 84 | 85 | > 踏出校园走向社会后没多久,我们几个就意识到:无论工作本身多么有趣、多么符合你的性格和爱好,它也无法解决最基本的存在主义问题——如何活的有意义。更何况对很多人来说,工作本身离意义很遥远。资本主义中「职员」这个职能存在是为了填补市场创造的人力资源需求,而不是为了让个体时刻活得充满激情和意义;就算有时让你兴奋的东西恰好是工作需要的,保持这两条线重合也需要投入不少精力和管理。 于是我们每天晚上躺在床上脑子转个不停,每三天会出现一个新的 side gig 想法:不如去拍 Vlog?开一个美食专栏?去学 Python?去考几个 Certificates?去做瑜伽教练?开一个博客写行业报告?继续花时间做记者采编? 然而想法归想法;按照牧歌的话说:万事只差 do it。小声喧哗的诞生大概就是一个 do it 的结果。by [小声喧哗 Loud Murmurs](https://loudmurmursfm.typlog.io/aboutus) 86 | 87 | 88 | 89 | 90 | > I have seen **the golden years** of Chinese Internet and really miss them. That is why i want to have this Blog to recall the memory. 我所盼望的是自由、开放、多样、将人类相互连结的网络。by [Mivansaka](http://mivansaka.xyz/about/) 91 | 92 | 93 | 94 | 95 | > 🌍 世界很小,可以汇聚天涯知己。世界很大,可以容纳不同声音。by [任听播客](https://getpodcast.xyz/) 96 | 97 | 98 | 99 | 100 | > ……打造一个有一定概率会发生意外好事情的生活系统。 101 | > 102 | > 不要觉得这句话非常难懂,实际上我们每个人都在生活中有意无意地采用了这种行为模式。比如,为什么很多人都喜欢往大城市跑?不管是北上广深,还是纽约伦敦旧金山,其实一个重要原因就是「大城市机会多」。而这种「大城市机会多」的表述本质上说的就是,在大城市你遇到某种意外好机会或者好的事情的概率是比小城市要高的。虽然我们在搬去大城市之前并不知道那件事到底是什么,但重点是先去。换个通俗的说法就是,先把自己放到那个抽奖池子里去。 103 | > 104 | > 实际上,当你进行各种各样的创作的时候,比如坚持写微博、坚持拍好的照片、坚持录播客、坚持让一些人持续的听到你的想法和声音......都是在给自己增加一种「意外好事发生」的概率。当你的作品被传播出去了,可能就会碰到一些志同道合的人,甚至某一天被某个重要的人听到,而他们就有可能给你带来新的视野、新的感受、新的机会,也许机缘巧合你就打开了一个新的世界。英语里有一个叫「serendipity」的词说的也是类似的情况。实际上我现在更倾向于认为,生活中真正的好事情基本都是不期而遇、意外发生的。只是这种看起来的偶然,本质上是一种必然的概率表现。 105 | > 106 | > 所以,这种「打造概率系统」的思路和「规划战略」思路最大的不同就是,后者往往需要有明确的取舍和目标,而前者只需要你把自己放置在一个正确的池子里,然后静静地等待好事发生。 107 | > 108 | > 当然,这种「意外好事发生」的概率必然是不高的,不过好在我们能用「一旦它发生那么好处就会很大」来弥补(这也正是「数学期望」的定义)。然而最关键的是,小概率起作用的条件是给它足够多的样本,只有一件事重复得多了,小概率才会逐渐发挥作用。所以这本质上是为什么我们要坚持、长期、反复地做一些最基本的东西,因为如果什么事情都浅尝辄止试一下就跑的话,那你其实是在和数学做对(work against the odds)。 109 | > 110 | > 最后,就让我用一个鸡汤小数学题来结束这条微博:现在我们假设,每天有一件很好的事发生在你身上的概率是 1%——换句话说就是这一天任何好事都没发生的概率是 99% 的话——你凭直觉觉得一年下来,你身上一件好事也没发生的概率是多少?答案是:2.5%。也就是说,哪怕你给自己放在一个「好事情只有 1% 的可能性会发生」的池子里,一年以后你也有 97.5% 的几率遇到一件很好的事。 111 | > 112 | > Stay in the game, and don't work against the odds. by 张潇雨 113 | 114 | 115 | 116 | > 因为我很喜欢写作,文字对我来说很重要,在写作的状态里,我是最舒适的,所以,其实不存在坚持这一说。坚持本身带有一些抵抗的意味,但我并没有,让我做别的,可能比保持写作的激情更困难吧。by《[你是千堆雪我是长街](https://book.douban.com/subject/25982311/)》 117 | 118 | 119 | 120 | 121 | > Blog 写作这件事,我有对自己的几个个人要求,未必适合所有人,个人要求罢了: 122 | > 123 | > 1. 道一以贯之。 124 | > 2. 至少在写作的时候,每一个字自己都是信的。 125 | > 3. 要努力做到自觉半年前写的东西是垃圾。 126 | > 4. 写作是我的兴趣爱好,不是职业。 127 | > 5. 不抱团跟风,不颂圣媚众,不跨界公知。 128 | > 129 | > 如今,公开写点东西,你要顾忌的东西太多。连我一个写行业评论不怎么愿意做公知的,都已经深深感到了一股刺骨的寒意。我甚至有时候会觉得,在今天还在写评论力保自己的号不丢文章不删,都是件很丢人的事。 130 | > 131 | > 安全第一下的政治正确、流量第一下的耸人听闻、转化第一下的带货指南、成本第一下的洗稿抄袭,互比谁的读者更无脑,一十三年 Blog 写作,写到今天世道成了这幅鬼样子,十三年前我建站之时,是无论如何想象不到的。夫复何言。by [魏武挥](http://weiwuhui.com/8264.html) 132 | 133 | 134 | 135 | [我为什么写博客?](http://dapengde.com/archives/17808/)自古皆死,不朽者文。by 大鹏 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | -------------------------------------------------------------------------------- /source/_posts/dr-ting/blog/the-pencil-fist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/blog/the-pencil-fist.png -------------------------------------------------------------------------------- /source/_posts/dr-ting/brand.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 「庭说」的品牌设计 4 | date: 2017-07-17 5 | updated: 2020-03-14 6 | categories: 庭勃士说 7 | tags: [庭勃士] 8 | 9 | --- 10 | 11 | ![ting-talk](brand/ting-talk.png) 12 | 13 | 再小的个体,也有自己的品牌。by [微信公众平台](https://mp.weixin.qq.com/)。 14 | 15 | 16 | 17 | ## Blog Name 18 | 19 | - 我最初的网名叫「勤定钟生」,大概从初中用到大学。但是我变得越来越懒,例如基本不照镜子(睡眠舱也没有镜子),跟「勤」不搭边。 20 | - 而,人的一生很长,你能决「定」的东西不多,能陪你到「钟生」的东西很少。 21 | - 取什么名字好呢?不如,以不变应万变,还是用名字吧:「庭说」就是我的「钟」点站。 22 | 23 | 24 | 25 | ## Logo 26 | 27 | - 设计灵感来自 `T`ing`T`alk 的首字母。 28 | - 绿色的十六进制颜色码是 `#019425`(对应专色是 [PANTONE 3522 C](https://www.pantone.com/color-finder/3522-C))。生机勃勃的庭勃士在 1994 年 1 月 25 日来到这个绿意盎然(鲜花盛开,春意盎然)的世界。 29 | - 处处都是 4 px 的倍数,保证图像边缘的锐利。 30 | 31 | 32 | 33 | 34 | ![tingtalk-logo-px.jpg](https://i.loli.net/2019/11/07/TPbFDeyJ7OCKauS.jpg) 35 | 36 | 37 | 38 | ## Slogan 39 | 40 | - 庭说目前的口号是 `保持(勃起的)好奇心`(已改为蓬勃的勃),英文翻译是 Follow your curiosity,因为我觉的 `好奇心` 应该和 `食欲` 和 `性欲` 一样,属于人类与生俱来的东西。保持好奇,刻意练习,每日精进。相应的,我的笔名叫庭勃士。但愿这句有点羞羞的标语没有冒犯到你。 41 | - 在生活中最稀缺与最可贵的唯有两个东西,想象力与好奇心。希望你对世界抱有一颗不随年龄而衰减的好奇心,保持求知的状态。by 伊险峰(好奇心日报创始人) 42 | - 好奇心的满足会比物质的满足带来更大的愉悦。by [思维实验室](https://www.bilibili.com/video/av55857100?t=14m15s) 43 | - 我们生活的这个世界里,正在摧毁着个人的正直、勇气与好奇心。 44 | - 不管几岁,好奇心万岁,好奇心是保持年轻的不老药。所以我认为自己是一个老男孩,在不含功利的好奇心的驱使下,每天都有「十万个为什么」,而这是探索世界最好的工具。 45 | - 好奇心不是奢侈品,好奇心是日用品。 46 | - 任何数字/事物的零次方是 1 ,然后都会归一,所以皈依。在数字世界里,有不计其数的角落需要我们去发掘,如同只猴子般保持好奇心,去探索发现,去重新进化成未来的人类。人类的悲喜并不互通,但读书是走向共同理解的捷径。by 扫地僧⁰ 47 | - 你对世界越好奇,世界认为你越有趣。 48 | 49 | ## Pen Name 50 | 51 | 想一个独特且好记的网名/笔名,好难! 52 | 53 | **中文笔名** 54 | 55 | 保持勃起(蓬勃)的好奇心,保持对生活的热情,所以我把笔名改成「庭勃士」。 56 | 57 | **英文笔名** 58 | 59 | 勃士与博士(Doctor)同音,因此英文笔名是「Dr_Ting」 。发现了吗?这个英文名包含了一张哭脸 `r_T`,乐天派也免不了忧伤。 60 | 61 | Doctor 又有医生的意思,但我读的是工科专业,没能力在「碳基世界」的救死扶伤。但是,我可以在「数字世界」拯救来到庭说的读者。欢迎来到我的赛博空间(Cyberspace),希望我写的文章,对读者有所帮助,祝你网上冲浪快乐。 62 | 63 | **第一次改名** 64 | 65 | 如果读者没有把「好奇心」作为中心词,那就会在言语上造成对读者的冒犯。此外,「勃」通「博」,但是涉猎广泛,导致知识杂乱,「吾生也有涯,而知也无涯。以有涯随无涯,殆已」。2020 年 6 月 26 日,笔名改为「小庭子」。而且自称勃士(博士),有点孤傲。放下 Bo 士的包袱,保持谦卑,不追求从 Dr_Ting 变成 Dr. Know(万事通博士),不追求「技多不压身」,找一个铁杵,慢慢磨成针。 66 | 67 | **第二次改名** 68 | 69 | 2020 年 8 月 15 日,发现老读者们不改口,只好换回勃士,不过是蓬勃的勃(保持蓬勃的好奇心)。但是庭勃士过于露骨,换 Dr_Ting 上场。 70 | 71 | To Be Continued… -------------------------------------------------------------------------------- /source/_posts/dr-ting/brand/ting-talk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/brand/ting-talk.png -------------------------------------------------------------------------------- /source/_posts/dr-ting/luffy-kid-56.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/luffy-kid-56.jpg -------------------------------------------------------------------------------- /source/_posts/dr-ting/mp-archives/archives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/mp-archives/archives.png -------------------------------------------------------------------------------- /source/_posts/dr-ting/tim/hello.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/tim/hello.png -------------------------------------------------------------------------------- /source/_posts/dr-ting/tingtalk-logo-px.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/tingtalk-logo-px.jpg -------------------------------------------------------------------------------- /source/_posts/dr-ting/whisper/diary-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/dr-ting/whisper/diary-book.png -------------------------------------------------------------------------------- /source/_posts/english/english-grammar/grammar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/english-grammar/grammar.png -------------------------------------------------------------------------------- /source/_posts/english/english-pronunciation.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 英语口语:发音篇 4 | date: 2019-10-29 5 | updated: 2019-10-31 6 | categories: 英语学习 7 | tags: [英语, 口语] 8 | 9 | --- 10 | 11 | ![pronunciation](english-pronunciation/pronunciation.png "© icon-library.com") 12 | 13 | 一般来说,同一个单词,名词形式在第一个音节重读,动词形式在第二个音节重读。 14 | 15 | 16 | 17 | 18 | 19 | ## C 20 | 21 | ### Content 22 | 23 | `ˈkäntent` 24 | How was the **con**tent of the lectures? 25 | 讲课的**内容**是什么? 26 | 27 | `kənˈtent` 28 | Personally, I'm quite con**tent** with the newcomer. 29 | 就我个人而言,我对新人挺**满意**。 30 | 31 | 32 | 33 | ## D 34 | 35 | ### Desert 36 | 37 | `ˈdezərt` 38 | The Sahara **de**sert is one of the largest deserts in the world. 39 | 撒哈拉沙漠是世界上最大的**沙漠**之一。 40 | 41 | `dəˈzərt` 42 | Where is everyone? - The town's de**ser**ted. 43 | 大家都去哪儿了 -小镇**荒废**了。 44 | 45 | `dəˈzərt` dessert 46 | Julie, do you mind getting the de**ssert**? 47 | 朱莉,你能去帮我把**甜点**拿来吗? 48 | 49 | 50 | 51 | ## P 52 | 53 | ### present 54 | 55 | `ˈprez(ə)nt` 56 | Have you any ideas for **pre**sents? 57 | 你想好买什么**礼物**了吗? 58 | 59 | I sold it to the present owners. 60 | 是我把它卖给了**现在**的主人。 61 | 62 | `prəˈzent` 63 | I pre**sen**ted at the Teen Choice Awards. 64 | 我**出席**过青少年选择奖。 -------------------------------------------------------------------------------- /source/_posts/english/english-pronunciation/pronunciation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/english-pronunciation/pronunciation.png -------------------------------------------------------------------------------- /source/_posts/english/english/letter-a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/english/letter-a.png -------------------------------------------------------------------------------- /source/_posts/english/follow-up-email/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/follow-up-email/email.png -------------------------------------------------------------------------------- /source/_posts/english/jive-talk.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 英语口语:黑人篇 4 | date: 2019-06-27 5 | updated: 2019-09-25 6 | categories: 英语学习 7 | tags: [英语, 口语] 8 | 9 | --- 10 | 11 | ![chain-ring](jive-talk/chain-ring.png)你可以在即刻 / 抖音 / [微博](https://weibo.com/u/7085662045) 搜索 `炸毛熊`,获取视频教程。 12 | 13 | 14 | 15 | ## 语气词 16 | 17 | - Damn 18 | - Yo 19 | 20 | 21 | ## 称谓 22 | 23 | - Bro 24 | - Boy / My boy 25 | - Dawg 26 | - Homie = Homeboy 27 | - Man / My man 28 | - Motherfucker 29 | - Nigga 30 | - Son 31 | 32 | 33 | ## 打招呼 34 | 35 | 36 | `What up` 37 | - What's up 38 | - 中文:最近咋样 39 | - 黑化:Yo,窝辣,bro 40 | 41 | 42 | `Sup` 43 | - What's up 的缩写 44 | - 示例:Sup, dawg 45 | 46 | 47 | `How are you doing` 48 | - 中文:最近咋样 49 | - 黑化:Yo,马鳗(my man),蚝油豆隐 50 | 51 | 52 | `What the hell is going on` 53 | - 中文:最近过得怎样 54 | - 黑化:Yo,窝调 ~ 子共弄 55 | 56 | `You good?` 57 | - 中文:你还好吗 58 | - 黑化:友个 59 | 60 | 61 | `I am doing good` 62 | - 中文:我过得挺好 63 | - 黑化:啊顶个 64 | 65 | 66 | `It is good to see you` 67 | - 中文:很高兴见到你 68 | - 黑化:个的 Sia 69 | 70 | `It is good to see you back, my man` 71 | - 中文:真高兴再见到你 / 真高兴见到你回来(Glad to meet you again) 72 | - 黑化:个的 Sia 爸,妈慢 73 | 74 | 75 | ## 称赞 76 | 77 | 78 | `You look good` 79 | - 中文:你看起来很不错 80 | - 黑化:Damn,bro,呀了个,numsayin' 81 | - 黑化:Damn,bitch,呀了个,I mean 82 | 83 | 84 | `This shit is goddamn good` 85 | - 中文:这玩意真™牛 X 86 | - 黑化:Damn,立泻四尬巅个 87 | 88 | 89 | ## 反感 90 | 91 | 92 | `I don't give a shit` 93 | - 中文:我一点也不在乎 94 | - 黑化:Ah'n give a shit,都(dawg) 95 | 96 | 97 | `Fuck this shit` 98 | - 中文:厌倦当下的状态 99 | - 黑化:发力泻 100 | 101 | 102 | `Are you out of your mind` 103 | - 中文:你是疯了吗 104 | - 黑化:Damn,bitch,一啊了呀埋 105 | 106 | 107 | 108 | ## 再见 109 | 110 | 111 | `Gotta bounce` 112 | - 中文:撤了 113 | - 黑化:Yeah,嘎了棒丝 114 | 115 | 116 | `I will catch you later` 117 | - 中文:回头见 118 | - 黑化:阿 K 秋累额,peace 119 | 120 | 121 | `You be cool` 122 | - 中文:稳当儿(对单人说) 123 | - 黑化:鸭比克 124 | 125 | `You all be cool` 126 | - 中文:稳当儿(对多人说) 127 | - 黑化:腰比克 128 | 129 | 130 | ## 道歉 131 | 132 | `My Bad` 133 | - 中文:对不起,我的错,是我不好 134 | - 黑化:妈败 135 | 136 | `It's all good` 137 | - 中文:没事,别往心里去 138 | - 黑化:骚个,man 139 | 140 | 141 | ## 其他 142 | 143 | 144 | `Numsayin'` 145 | - Do you know what I am saying 146 | - 中文:听懂了吗 147 | 148 | `I don't know` 149 | - 中文:我不知道 150 | - 黑化:Ah'n konw,都(dawg) 151 | 152 | 153 | `Get you ass over here, my man` 154 | - 中文:兄弟过来一下 155 | - 黑化:Get you ass over hee, ma man. 156 | 157 | 158 | `For sure, it's game time` 159 | - 中文:耍宝时间到了 160 | - 黑化:fo show, it's game time 161 | 162 | 163 | `You got money` 164 | - 中文:你有钱吗? 165 | - 谐音:敢么了(东北话) 166 | 167 | **Shit = Thing** 168 | 169 | - `Shit` 可以指代任何东西:`I don't give a shit.` 170 | - `shit bag` 蠢货 171 | 172 | 173 | **Dope = Good** 174 | - `That shit is dope.` 175 | 176 | 177 | **I'm so fly** 178 | - I'm so cool/ great / handsome / rich … 179 | 180 | 181 | 182 | Where you at? = Where are you? 你在哪呢? 183 | 184 | 185 | 186 | ## Grammar 187 | 188 | ### Double negative 189 | 190 | 双重否定并不是表肯定,而是起强调作用。 191 | 192 | - `This ain't nobody's dog.` = `This dog doesn't belong to anybody.` 193 | 194 | - `Ain't nothing going on.` = `Nothing's happening.` 195 | 196 | - You didn't know nothing. 197 | 你一无所知。 198 | 199 | 200 | 201 | ### ain' t 202 | 203 | - ain' t = am not, isn’t, aren’t, hasn’t, haven’t, didn’t 204 | - I ain' t afraid of nothing. 205 | 206 | 207 | -------------------------------------------------------------------------------- /source/_posts/english/jive-talk/chain-ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/jive-talk/chain-ring.png -------------------------------------------------------------------------------- /source/_posts/english/rick-and-morty-subtitles/snowball.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/rick-and-morty-subtitles/snowball.png -------------------------------------------------------------------------------- /source/_posts/english/spoken-business-english/business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/spoken-business-english/business.png -------------------------------------------------------------------------------- /source/_posts/english/tinglish/letter-a-b-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/english/tinglish/letter-a-b-c.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/alibaba-tutorial/alibaba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/alibaba-tutorial/alibaba.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/alibaba-tutorial/search-collation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/alibaba-tutorial/search-collation.jpg -------------------------------------------------------------------------------- /source/_posts/foreign-trade/business-skills.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何提升外贸业务技能? 4 | date: 2019-10-19 5 | updated: 2019-11-26 6 | categories: 外贸之路 7 | tags: 外贸 8 | 9 | --- 10 | 11 | ![business](business-skills/business.png) 12 | 13 | 从获客阶段、开发阶段、量产阶段到增长阶段。 14 | 15 | 16 | 17 | 18 | ## 获客阶段 19 | 20 | ### 如何介绍公司 21 | 22 | - **自我介绍**:你好,我是 `***` 的 `***`,负责 `***`。 23 | - **公司介绍**:`***` 来自 `***`,主要生产 `***` ,已有 `**` 年历史。 24 | - **核心优势**:我们有自己的 `***`,配合 `***`、`***` 和 `***` 等品牌开发超过 `***` 款产品。 25 | - **重点产品**:这次展会,我们的主打产品是 `***` …… 26 | - **递上名片**:可以订在产品画册上。 27 | 28 | 29 | 30 | ### 如何展示产品 31 | 32 | - **精准表达**:我们这一季的新品有 `*` 个系列,共有 `**` 个产品,分别是 `**` 类、`**` 类和 `**` 类。 33 | - **对症下药**:对于您的品牌,我们推荐 `**` 类的 `**` 型号的产品,适合打开新的增量市场,这是样品和效果图。 34 | - **取得联系**:请问您的 email 是?我们稍后把产品资料发送给你。 35 | 36 | 37 | 38 | ### 如何回答不懂的问题 39 | 40 | - **即时反应**:非常抱歉,我需要和技术人员确认一下这个问题。 41 | - **取得联系**:今天内给您一个详细的答复,请问您的 email 是? 42 | - **推荐产品**:您可以看看我们的其他产品(参考上文「展示产品」的表达)。 43 | 44 | 45 | 46 | **Tips** 47 | 48 | - **个人**:借助云笔记软件,建立属于自己的百科全书。 49 | - **公司**:完善知识库和 FAQ(Frequently Asked Questions,常见问题)。 50 | 51 | 52 | 53 | ### 如何邀请客人参加展会 54 | 55 | 56 | 57 | 展前 15 天开始联系,展前 1 天确认。 58 | 59 | 60 | 61 | Hi `***`, 62 | How are you? This is Tim from `***`. 63 | Are you going to attend the Canton Fair this year? 64 | 65 | Last time you have been interested in our `***` products. (没有也要捏造一个) We sincerely want to invite you to our booth (No. `***` ). We will show you `*` new collections of the `***`, totally `***` products. 66 | 67 | If you are not able to attend but would like to see our range of products, I can send our catalog to you as well. 68 | 69 | Thanks, 70 | Tim 71 | 72 | 73 | 74 | --- 75 | 76 | 77 | 78 | Hi `***`, 79 | 80 | We are excited to see you again next week at `小型的内部供应商大会`. 81 | 82 | For this season. We have `*` new collections and the `***` is the key element. 83 | 84 | I am wondering if you are available on Sep. 29th night for a dinner with me and my boss who is the first time to visit `***` and want to thank you for your great support as always. 85 | 86 | Looking forward to seeing you real quick next week. 87 | Tim 88 | 89 | 90 | 91 | ### 如何在展会上接待客户 92 | 93 | - **前台**:有经验的业务员筛选客户,挡在门外还是进一步洽谈 94 | - **洽谈区**:业务经理「啃」下大客户 95 | 96 | 97 | 98 | ### 如何在展会上找大客户 99 | 100 | - 咖啡厅 101 | - 酒店 102 | - 展位上 103 | 104 | 105 | 106 | ### 如何在展会后跟进客户 107 | 108 | **重点客户** 109 | 110 | - 交谈结束后,几分钟内内写下需要跟进的内容 111 | - 记住客户的国际快递账号,方便寄样 112 | - 持续跟进,不要气馁 113 | 114 | 115 | 116 | **小客户** 117 | 118 | - 小鱼有可能会长成大鱼 119 | - 定期更新产品,并通过邮箱发送 Newsletters 120 | 121 | 122 | 123 | ## 开发阶段 124 | 125 | ### 如何制作 PPT 126 | 127 | **类型** 128 | 129 | - 演讲型:有力(Power)简洁(Point) 130 | - 阅读型:内容详实 131 | 132 | 133 | 134 | **内容** 135 | 136 | - **Who** 137 | - 一句话介绍公司概况 138 | - 产品或服务(可选) 139 | - 成长历程(可选) 140 | - **What** 141 | - 硬件 142 | - 工厂规模:一天可以生产多少成品(具体化),而不是多少吨 143 | - 生产机器 144 | - 检测设备 145 | - 软件 146 | - 员工数量 147 | - 服务能力 148 | - 标杆客户 149 | - 可选:企业文化、社会荣誉、上市与否、专利数量 150 | - **Why** 151 | - 现在:带给客户的价值 152 | - 未来:配合客户的发展战略 153 | 154 | **其他** 155 | 156 | - 压缩 PPT 文件:Microsoft Office 和 WPS 自带的图片批量压缩功能 157 | - 风格简约 158 | - 颜色:黑白灰 + 品牌色 159 | - 字体:不超过 3 种 160 | 161 | 162 | 163 | ### 如何约见新客户 164 | 165 | - 提供价值:解决客户的问题,不限于产品,可能是有用的信息 166 | - 降低成本:选定多个约见时间,降低客户的时间成本和决策成本 167 | 168 | 169 | 170 | ### 如何让客人信任你 171 | 172 | - 充分准备:预演客户会提的问题;完善自己的随身百宝箱(大笔记本、笔、尺……) 173 | - 职业信任:穿着;边谈边确认 174 | - 专业信任:不要黄婆卖瓜,自卖自夸,可通过同事介绍你的来历 175 | 176 | 177 | 178 | ### 什么时候报价 179 | 180 | - 客户未请求报价之前,越晚越好,因为在客户认可价值之前,任何价格 Ta 都不会满意 181 | 182 | 183 | 184 | ### 如何避免跑单 185 | 186 | - 肯定友商 187 | - 打预防针:低价可能意味着低质 188 | - 及早制定工作计划:让客户「深陷」项目中,增加更换供应商的成本 189 | 190 | 191 | 192 | ### 报错价了怎么办 193 | 194 | - 换人:换职位更高的经理去道歉 195 | - 理由:因为正在出差,没有审核…… 196 | 197 | 198 | 199 | ### 客户觉得价格高怎么办 200 | 201 | - 很高兴跟你合作 202 | - 同意客户价格高的观点 203 | - 为什么价格高 204 | - 行业地位、经验 205 | - 客户背书、忠诚度高 206 | - 质量、交期 207 | - 原材料有环保检测证书 208 | - 社会责任 209 | 210 | 211 | 212 | 213 | 214 | ### 如何跟客户杀价 215 | 216 | - 挖掘信息:贵多少,和谁比 217 | - Too expensive, compared to what? 218 | - How much higher are we? 219 | - What price were you expecting? 220 | - What makes you to say that? 221 | - 提供低配版本,但表示不想牺牲质量 222 | - 每个产品都会检查质量,并非抽检 223 | - 成本分析表(虚实结合):合理的利润,才能给客户更好的服务。 224 | - 同意杀价,但要 225 | - 现在下单 226 | - 交期我定(拼单) 227 | - 提高订单数量 228 | - 其他合作方式是否一致 229 | 230 | 231 | 232 | 关联阅读:[索菲外贸笔记 - 讨价还价](https://sophienotes.cn/tag/%E8%AE%A8%E4%BB%B7%E8%BF%98%E4%BB%B7/) 233 | 234 | 235 | 236 | ### 没库存怎么办 237 | 238 | - 很抱歉,这款产品没有库存,重做需要 `**` 天。 239 | - 但是类似的产品有库存(编号 `**`),我们推荐 `***`,因为交期稳定,价格美丽,质量上乘…… 240 | - 请告诉我你的选择。 241 | 242 | 243 | 244 | ### 客户不回邮件怎么办 245 | 246 | **Why** 247 | 248 | - 英文不地道:称谓、语法、标点符号后面没有空一格…… 249 | - 触发 Spam:附件过大、图片、网址…… 250 | - 客户方面 251 | - 更喜欢用 WhatsApp 沟通 252 | - 在度假 253 | - 催促过激,引起反感 254 | - 错过采购时期 255 | 256 | **How** 257 | 258 | - 换同事的 email 账号去跟进 259 | - 询问客户遇到哪些困难,需要哪些帮助 260 | - 打电话,但是要提前预约时间 261 | - 报价单的有效期快过了,请客户尽快回复 262 | - 节假期快到了,再不回复,影响交期 263 | - 最后通牒:再不回复,将停止跟进这个项目 264 | 265 | 266 | 267 | ## 量产阶段 268 | 269 | ### 交期来不及怎么办? 270 | 271 | **Why** 272 | 273 | - 客户原因 274 | - 工厂原因 275 | - 不可抗力 276 | 277 | **How** 278 | 279 | - 如实告知 280 | - 分批发货 281 | - 每天告诉客户进度 282 | - 提供 2 个紧急联系人 283 | 284 | 285 | 286 | ### 短装怎么办 287 | 288 | - 发货前:拍照 + 拍视频 289 | - 第三方检验 290 | - 现场确认 291 | - 制定 Action Plan,确保下次合作不会再犯此类错误 292 | 293 | 294 | 295 | ### 客户投诉质量怎么办 296 | 297 | - 防范未然:检查做货合同是否有法律效应 298 | - 诚恳致歉:如果是多方原因,用 We 自称 299 | - 解释原因:文字 / 图片 / 视频…… 300 | - 解决方案:补货;在下一个订单抵扣 301 | - Action Plan:确保下次合作不会再犯此类错误 302 | 303 | 304 | 305 | ## 增长阶段 306 | 307 | - 关注大客户 308 | - 外观创新 309 | - 功能创新 310 | 311 | --- 312 | 313 | 314 | > 参考资料:新创学院(公众号:fmniiasia) 315 | -------------------------------------------------------------------------------- /source/_posts/foreign-trade/business-skills/business.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/business-skills/business.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/cold-email/email.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/cold-email/email.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/ebay-listing.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: eBay Listing(刊登)指南 4 | date: 2019-03-28 5 | updated: 2019-10-21 6 | categories: 外贸之路 7 | tags: 外贸 8 | 9 | --- 10 | 11 | ![ebay](ebay-listing/ebay.png) 12 | 13 | 本文请配合 eBay 大学的 [单属性 Listing 刊登](https://www.ebay.cn/newcms/Home/publish/8) 教程一起观看。请注意:有些刊登项目是收费的(详见 [费用总览](https://www.ebay.cn/newcms/Home/ebay_fees/2))。 14 | 15 | 16 | 17 | 18 | ## `Listing details` 刊登细节 19 | 20 | `Title` 标题 21 | - 不要出现 China 22 | - 去掉品牌名字 23 | - 可加上 100% Brand New(全新) 24 | - 不要堆砌关键词 25 | - 借鉴大卖家的写法 26 | - eBay 关键词工具:[Keyword Tool](https://keywordtool.io/cn/ebay)、[WatchCount](http://www.watchcount.com/)、[PicClick](https://picclick.com/) 27 | - Stand out with a bold title in search results(标题粗体):不勾选(eBay 付费刊登项目) 28 | 29 | 30 | `Subtitle($1.50)` [副标题](https://www.ebay.cn/newcms/Home/publish/9) 31 | - 不填写 32 | 33 | `Category` 分类 34 | - 新手卖家会限制类目 35 | 36 | `Second category(fees may apply)` [第二分类](https://www.ebay.cn/newcms/Home/publish/7) 37 | - 不添加 38 | 39 | `Variations` [多属性](https://www.ebay.cn/newcms/Home/publish/3) 40 | - 例如多个颜色(会消耗多个刊登额度,前期少用) 41 | 42 | `UPC` 通用产品代码(Universal Product Code) 43 | - Does not apply(不提供) 44 | 45 | `Condition` 物品状况 46 | - New(全新) 47 | 48 | `Default Photos` 产品图片 49 | - 支持多选上传 50 | - 主图下面会显示 Main photo 51 | - 第二张可以放速卖通的买家秀 52 | - [eBay 官方图片规范](https://www.ebay.cn/newcms/Home/listing/5) 53 | - Display a large photo in search results with Gallery Plus ($2.00):不勾选 54 | 55 | 56 | ## `Item specifics` 物品属性 57 | 58 | `Brand` 品牌 59 | - Unbranded(无品牌) 60 | 61 | `MPN` 制造商部件编号(Manufacturer Part Number) 62 | - Does Not Apply(不提供) 63 | 64 | 65 | ## `Item description` 物品描述 66 | 67 | 为了照顾移动端的用户,避免过于花哨繁杂: 68 | 69 | ``` 70 | - 产品参数:与图片一致 71 | - 应用场景 72 | - 物流政策:发货时效(Delivery Time) 73 | - 退换货政策 74 | - 常见问题:解决买家在决定购买前可能遇到的问题 75 | - 卖家秀:贵在真实;不要露脸(或者打上马赛克),避免侵犯肖像权;如果有时间,文字评价也一并附上 76 | ``` 77 | 78 | - 分析差评,改进产品描述。例如买家说大小不合适,就在产品描述中加入尺寸大小相关的参数 79 | - 排版利器:[Typora](https://typora.io/) + [Markdown](https://sspai.com/post/25137) 80 | - 如果有时间把 [单位换算](https://yue.52wmb.com/tools/convert) 成国外常用单位,例如把 cm(厘米)换算成 inches(英寸),kg(千克)换算成 ounces(盎司) 81 | 82 | 83 | ## Selling details 销售详情 84 | 85 | `Format` 售卖方式 86 | - 选择 Fixed price(固定价格,一口价),而不是 Auction style(拍卖) 87 | 88 | `Duration` 刊登在线持续时间 89 | - Start my listings when I submit them(长期在线,[Good 'Til Cancelled](https://www.ebay.cn/newcms/Home/topic/151)) 90 | 91 | `Price` 价格 92 | - [上架价格计算器](http://ganhuoganhuo.com/ebayfee.html) 93 | 94 | `Best Offer` 议价 95 | - 不接受 [议价](https://www.ebay.cn/newcms/Home/publish/1) 96 | 97 | `Quantity` 库存数量 98 | - 测试选品阶段,库存填 1 个 99 | 100 | 101 | `Payment options` 付款方式 102 | - 输入 PayPal 收款的 Email 103 | - 开启 Require immediate payment with Buy It Now([立即付款](https://www.ebay.cn/newcms/Home/publish/5)) 104 | 105 | `Sales tax` 消费税 106 | - 不填 107 | 108 | `Return options` 退货选项 109 | - Domestic returns accepted:接受国内退货 110 | - After receiving the item, your buyer should contact you within: 30 Days 内可退货 111 | - Return shipping will be paid by Buyer:退货运费由买家 `Buyer` 承担 112 | - International returns accepted:同理,接受国外(刊登站点以外的国家)退货 113 | 114 | 115 | ## `Shipping details` 货运细节 116 | 117 | `Domestic shipping` 国内运输 118 | - Flat:same cost to all buyers:每件物品设定固定运费 119 | - Economy Shipping from China/Hong Kong/Taiwan to worldwide (11 to 35 business days):Free shipping(包邮) 120 | - Handling time:[处理时间](https://www.ebay.cn/newcms/Home/publish_setting/1) 是指从您收到买家的付款后,到您发货后得到扫描信息之间的时间。当然,处理时间只计算工作日,周末和假期是不计入处理时间。新手设为 2 ~ 4 天,成为 Top Rated Seller 之后设为 1 天 121 | 122 | 123 | `International shipping` 国际货运(除美国外) 124 | - Flat:same cost to all buyers:每件物品设定固定运费 125 | - Ship to Choose custom location:自定义可发货的国家或地区 126 | - Economy Shipping from China/Hong Kong/Taiwan to worldwide:Cost 是单件的运费;Each additional 是每增加一件物品需多付的运费,例如客户选购了 2 件商品,第一件运费是 $5,第二件运费附加 $2,运费总共是 $12 127 | - [AliExpress ePacket 物流方案介绍](https://sell.aliexpress.com/zh/__pc/shipping/ePacket.htm) 128 | - [e 邮宝资费](http://shipping.ems.com.cn/product/findDetail?spm=5261.9456716.0.0.65a142cfIdYs5z&sid=400026) 129 | - [支持 ePacket 投递的国家](https://tingtalk.me/epacket/) 130 | 131 | 132 | `Exclude shipping locations` [排除派送地区列表](https://www.ebay.cn/newcms/Home/article_cba/600/1) 133 | - 针对那些物流还不稳定、不及时的地区,设置一些无法派送的地区列表,以保证您的所有交易都可以按预期交付 134 | - 除了在产品刊登时设置排除派送地区列表,还可以从 「My eBay > My Account > Site Preferences > Selling Preferences > Shipping Preferences > Exclude shipping locations」全局设置([传送门](https://www.ebay.com/ship/prf/excludeRegions)) 135 | - 勾选 Domestic 的 3 个地区和 Additional Locations 的 PO Box 136 | - International 中勾选不支持 [ePacket](https://tingtalk.me/epacket/) 的国家 137 | 138 | 139 | `Package weight & dimensions` 包装信息 140 | 141 | `Item location` 物品所在地 142 | - 如实填写;不要出现中文,填写拼音全称,如 Shenzhen 143 | 144 | 145 | 最后,检查一遍 listing,就可以刊登上线了。 -------------------------------------------------------------------------------- /source/_posts/foreign-trade/ebay-listing/ebay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/ebay-listing/ebay.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/epacket.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: e 邮宝支持投递的国家 4 | date: 2019-06-02 5 | updated: 2019-10-21 6 | categories: 外贸之路 7 | tags: 外贸 8 | 9 | --- 10 | 11 | ![ems](epacket/ems.png) 12 | 13 | e 邮宝(ePacket)是邮政速递物流为适应跨境电商轻小件物品寄递需要推出的经济型国际速递业务,利用邮政渠道清关,进入合作邮政轻小件网络投递。主要路向参考时限 7 至 10 个工作日,价格实惠,提供全程物流轨迹信息。但只支持 39 个国家或地区,且单件限重 2 公斤(最大长度 60 厘米,长宽高不超过 90 厘米)。 14 | 15 | 16 | 17 | 18 | 19 | ## 全部 20 | 21 | | 序号 | 英文 | 中文 | 22 | | ---- | ------------------ | ---------- | 23 | | 1 | Australia | 澳大利亚 | 24 | | 2 | Austria | 奥地利 | 25 | | 3 | Belgium | 比利时 | 26 | | 4 | Brazil | 巴西 | 27 | | 5 | Canada | 加拿大 | 28 | | 6 | Denmark | 丹麦 | 29 | | 7 | Finland | 芬兰 | 30 | | 8 | France | 法国 | 31 | | 9 | Germany | 德国 | 32 | | 10 | Greece | 希腊 | 33 | | 11 | Hong Kong | 中国香港 | 34 | | 12 | Hungary | 匈牙利 | 35 | | 13 | Ireland | 爱尔兰 | 36 | | 14 | Indonesia | 印度尼西亚 | 37 | | 15 | Israel | 以色列 | 38 | | 16 | Italy | 意大利 | 39 | | 17 | Japan | 日本 | 40 | | 18 | Kazakhstan | 哈萨克斯坦 | 41 | | 19 | South Korea | 韩国 | 42 | | 20 | Luxembourg | 卢森堡 | 43 | | 21 | Malaysia | 马来西亚 | 44 | | 22 | Mexico | 墨西哥 | 45 | | 23 | Netherlands | 荷兰 | 46 | | 24 | New Zealand | 新西兰 | 47 | | 25 | Norway | 挪威 | 48 | | 26 | Poland | 波兰 | 49 | | 27 | Portugal | 葡萄牙 | 50 | | 28 | Russian Federation | 俄罗斯 | 51 | | 29 | Saudi Arabia | 沙特阿拉伯 | 52 | | 30 | Singapore | 新加坡 | 53 | | 31 | Spain | 西班牙 | 54 | | 32 | Sweden | 瑞典 | 55 | | 33 | Switzerland | 瑞士 | 56 | | 34 | Thailand | 泰国 | 57 | | 35 | Turkey | 土耳其 | 58 | | 36 | Ukraine | 乌克兰 | 59 | | 37 | United Kingdom | 英国 | 60 | | 38 | United States | 美国 | 61 | | 39 | Vietnam | 越南 | 62 | 63 | ## 分类 64 | 65 | ### 北美洲(North America) 66 | 67 | | 英文 | 中文 | 68 | | ------------- | ------ | 69 | | Canada | 加拿大 | 70 | | Mexico | 墨西哥 | 71 | | United States | 美国 | 72 | 73 | 74 | ### 南美洲(South America) 75 | 76 | | 英文 | 中文 | 77 | | ------------- | ------ | 78 | | Brazil | 巴西 | 79 | 80 | 81 | ### 大洋洲(Oceania) 82 | 83 | | 英文 | 中文 | 84 | | ----------- | -------- | 85 | | Australia | 澳大利亚 | 86 | | New Zealand | 新西兰 | 87 | 88 | 89 | ### 欧洲(Europe) 90 | 91 | | 英文 | 中文 | 92 | | -------------- | ------ | 93 | | Austria | 奥地利 | 94 | | Belgium | 比利时 | 95 | | Denmark | 丹麦 | 96 | | Finland | 芬兰 | 97 | | France | 法国 | 98 | | Germany | 德国 | 99 | | Greece | 希腊 | 100 | | Hungary | 匈牙利 | 101 | | Ireland | 爱尔兰 | 102 | | Italy | 意大利 | 103 | | Luxembourg | 卢森堡 | 104 | | Netherlands | 荷兰 | 105 | | Norway | 挪威 | 106 | | Poland | 波兰 | 107 | | Portugal | 葡萄牙 | 108 | | Russia | 俄罗斯 | 109 | | Spain | 西班牙 | 110 | | Sweden | 瑞典 | 111 | | Switzerland | 瑞士 | 112 | | Ukraine | 乌克兰 | 113 | | United Kingdom | 英国 | 114 | 115 | 116 | ### 亚洲(Asia) 117 | 118 | | 英文 | 中文 | 119 | | ---------- | ---------- | 120 | | Hong Kong | 中国香港 | 121 | | Japan | 日本 | 122 | | Kazakhstan | 哈萨克斯坦 | 123 | | South Korea | 韩国 | 124 | 125 | 126 | ### 东南亚(Southeast Asia) 127 | 128 | | 英文 | 中文 | 129 | | ---------- | ---------- | 130 | | Indonesia | 印度尼西亚 | 131 | | Malaysia | 马来西亚 | 132 | | Singapore | 新加坡 | 133 | | Thailand | 泰国 | 134 | | Vietnam | 越南 | 135 | 136 | 137 | 138 | ### 中东(Middle East) 139 | 140 | | 英文 | 中文 | 141 | | ------------ | ---------- | 142 | | Israel | 以色列 | 143 | | Saudi Arabia | 沙特阿拉伯 | 144 | | Turkey | 土耳其 | 145 | 146 | **参考资料** 147 | - [e 邮宝资费及相关规定 - 中国邮政速递物流](http://shipping.ems.com.cn/product/findDetail?spm=5261.9456716.0.0.65a142cfIdYs5z&sid=400026) 148 | - [e 邮宝时效查询 - TrackingMore](https://www.trackingmore.com/epacket-cn-cn-ship-packages-from-china-to-other-countries-by-epacket) 149 | 150 | -------------------------------------------------------------------------------- /source/_posts/foreign-trade/epacket/ems.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/epacket/ems.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/google-ads/google-ads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/google-ads/google-ads.png -------------------------------------------------------------------------------- /source/_posts/foreign-trade/linkedin.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何在 LinkedIn(领英)开发客户 4 | date: 2019-11-14 5 | updated: 2019-11-14 6 | categories: 外贸之路 7 | tags: 外贸 8 | --- 9 | 10 | ![linkedin](linkedin/linkedin.png) 11 | 12 | 像蝗虫一样侵入职场社交,是否会让 LinkedIn 没落? 13 | 14 | 15 | 16 | ## 术语和定义 17 | 18 | - Follow(关注): 单向沟通 19 | 20 | - Connect:成为好友,双向沟通 21 | 22 | - LinkedIn 怎么读:`Link` - ed 发 `t` - 重音放在 `In`,详情观看 [视频教程](https://bringyourenglishtolife.com/linkedin%E7%99%BC%E9%9F%B3/) 23 | 24 | 25 | 26 | 27 | ## 设置 28 | 29 | **开启全功能版的 LinkedIn** 30 | 31 | - 将领英的界面语言更改设置为英文,并用英文创建 Profile 32 | - [切换](https://tingtalk.me/fq/) 到外国 IP 使用领英,会使搜索结果更全面 33 | - 使用桌面端的 [Google Chrome](https://www.google.com/intl/zh-CN/chrome/)(谷歌浏览器),而非 app 34 | 35 | 36 | 37 | **好友名单仅对自己可见** 38 | 39 | - `Me - Settings & Privacy - Privacy - Who can see your connections: Only you` 40 | - 避免竞争对面发现自己的客户,但是你和同行之间的共同联系人(Mutual connection)是无法隐藏的 41 | 42 | 43 | 44 | **工作变动、学历更改不分享到人脉圈** 45 | 46 | - `Add experience - Share with network: Off` 47 | - 档案完善阶段关闭这个设置,以免在人脉圈刷屏 48 | 49 | 50 | 51 | 52 | ## 完善个人资料(Profile) 53 | 54 | 在此之前,先看看领英官方视频教程:[五步打造酷炫领英档案](https://v.qq.com/x/cover/9c9t7i0l4f9i05m/s0324oy2y1e.html)。 55 | 56 | `Background image` 背景 Banner 图 57 | 58 | - 尺寸:1584 × 396 px 59 | - 一眼看出产品或服务 60 | 61 | 62 | 63 | 64 | `Profile photo` 职业照 65 | - 一定是本人出镜,正脸示人,看得出性别(不用产品图、团队合影、Logo、虚拟人物、宠物花草……) 66 | - 照片背景简单,面带亲切友好的笑容 67 | - 视频教程:[如何获得一张完美的领英职业照?](https://v.qq.com/x/cover/9c9t7i0l4f9i05m/o03305rspky.html) 68 | 69 | 70 | 71 | `Name` 姓名 72 | 73 | - First name(名)+ Last name(姓) 74 | - Former Name(曾用名) 75 | - [取名小工具](http://ename.shanbay.com.cn/):根据中文名的发音和意义来为你匹配地道的英文名 by 扇贝 76 | 77 | 78 | 79 | `Headline` 职业头衔 80 | 81 | - 直接说自己是销售会让客户第一感官上认为你就是来推销的,可以改成核心产品 / 行业关键词 + 制造商 / 服务商 / 供应商 / 产品经理 / 专家,例如 Product Manger, Engineer Director。 82 | - 视频教程:[定制一个出彩的领英档案头衔](https://v.qq.com/x/page/g0322gxmko9.html) 83 | 84 | 85 | 86 | `Summary` 自我简介 87 | 88 | - 你是谁 + 你能提供什么产品服务 + 你的优势是什么 + 你能给客户带来什么好处 + 权威认证 + 网站联系方式,并且搭配着作品文件(Media)去顺势完成这项内容,比如你可以在作品文件(Media)里上传体现你公司文化 / 实力的照片 / 展现你个人魅力的照片 / 参展照片 / 生产照片 / 客户合影等等 89 | 90 | 91 | 92 | 93 | `Work experience` 工作经历 + `Education` 教育经历 94 | - 真实 95 | - 你的信息完善的越详细,你在客户心里的可信度也就越高,并且同样配置照片和链接去完成 96 | - 97 | 98 | 99 | 100 | 101 | `Skills` 技能专长 102 | - 使用系统推荐的 + 核心产品行业关键词 103 | 104 | 105 | 106 | `Accomplishments` 个人成就 107 | - 你和客户一起完成的一次项目 / 你参加的一次展会 / 你的一次成长经历 / 你参加的公司活动等等 108 | 109 | 110 | 111 | 112 | `Contact info` 联系方式 113 | - `Profile URL` 职业档案网址:核心产品 / 行业 + 名字,例如 `www.linkedin.com/in/outdoor-jadon` 114 | 115 | 116 | 117 | 118 | `Edit public profile & URL` 编辑公开档案及网址 119 | - 方便客户通过搜索引擎(例如 Google、Bing)找到你 120 | 121 | 122 | 123 | 档案填好以后 124 | 125 | - 测试 [LinkedIn 社交营销影响力](https://www.linkedin.com/sales/ssi) 是否在 60 分以上。 126 | - 点击右上角的 `Work` - `Create a Company Page` 建立公司主页。 127 | 128 | 129 | 130 | 131 | 132 | ## 发布视频动态 133 | 134 | - 剪辑视频:VN now 135 | - 封面:Canva 136 | 137 | 138 | - 加字幕(上传 YouYube,等待它生成字幕,然后下载) 139 | - 第一帧作为封面 140 | - [How to Edit Youtube Captions and then Download files in 2018](https://www.youtube.com/watch?feature=youtu.be&v=6DimeEF82Ss) 141 | - 使用 Native Video 原生视频(非 YouTube) 142 | - 一周一发(月初准备好 4 个视频) 143 | 144 | **视频描述只显示 3 行,要吸引人** 145 | 146 | - You never know what happened to my factory today! 147 | - Have you installed LED lights at the bottom of the bathtub? 148 | 149 | **加上 Video 这个关键词** 150 | 151 | - This is my first video on linkedin, it drives me crazy! 152 | - I took this video at the factory yesterday, guess what? 153 | - I found that blablabla. I learned to play mozart's songs with a guitar! Hope you like this video. 154 | - This is my first video on LinkedIn. It drives me crazy. If you like my video, please click the like button below. 155 | 156 | 157 | 158 | ## 添加好友 159 | 160 | 找到对你业务感兴趣的**关键决策人** 161 | 162 | - [LinkedIn 高级搜索](https://www.linkedin.com/search/results/people/?origin=FACETED_SEARCH) 163 | - LinkedIn 群组 164 | 165 | 没开会员,看不到名字,就把简介放在 Google 上,就能跳过这个限制。 166 | 167 | 168 | 169 | 然后发送 Connect Note(邀请语): 170 | 171 | 172 | 173 | > 174 | > Hi, 175 | > 176 | > This is Tim from China, I am very glad to know you on LinkedIn. And I hope to be connected with you and talk more about OUTDOOR GEAR in further days together. 177 | > 178 | > Best regards, 179 | > 180 | > Tim 181 | > 182 | 183 | 184 | 185 | > Hi, 186 | > 187 | > This is Tim, CEO of `***`, I'd like to be your fan on LinkedIn. 188 | > 189 | > I have over 20 years' experience in `***`, any questions, I'm happy to help. 190 | > 191 | > Hope I can be your friend here. 192 | > 193 | > Either way, keep up your awesome work on LinkedIn. 194 | > 195 | > Cheers, 196 | > 197 | > Tim 198 | > 199 | 200 | 201 | 202 | 203 | ## 参考资料 204 | 205 | - [我是如何把Linkedin个人账号 做到 22,533 个粉丝的 (详细步骤)](https://mp.weixin.qq.com/s/sND9e8zO0EzeXzGa7h60Kg) 206 | - [学生党领英漫游指南 The Student Hitchhiker's Guide to LinkedIn](https://sspai.com/post/63377) 207 | - 关注领英的 [微信公众号](https://business.linkedin.com/zh-cn/talent-solutions/c/b2c/LinkedIn-Wechat)(ID:LinkedIn-China) 208 | 209 | 210 | 211 | 212 | 213 | 214 | -------------------------------------------------------------------------------- /source/_posts/foreign-trade/linkedin/linkedin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/foreign-trade/linkedin/linkedin.png -------------------------------------------------------------------------------- /source/_posts/life/cook/recipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/cook/recipe.png -------------------------------------------------------------------------------- /source/_posts/life/gtd-mind-map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/gtd-mind-map.png -------------------------------------------------------------------------------- /source/_posts/life/gtd.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: GTD 时间管理法则 4 | date: 2019-11-24 5 | updated: 2020-02-18 6 | categories: 生活百科 7 | tags: [生活, 工作, 技能] 8 | 9 | --- 10 | 11 | ![clock](gtd/clock.png) 12 | 13 | GTD (Getting Things Done )直接翻译为「把事情做完」,本身就很可能让人误解成:你必须做完所有的事情。更贴切的翻译是:「把事情处理完」或者「把事情做好」,因为你不可能完成所有事情。by [Topbook](https://topbook.cc/course/detail/153) 14 | 15 | 16 | 17 | ## GTD 的目的 18 | 19 | - 清空大脑,把大脑从「要做什么」和「怎么做」的混乱当中拯救出来(moving planned tasks and projects out of the mind by recording them externally)。 20 | - 随时随地都明确地知道,下一步应该做什么(breaking them into actionable work items)。 21 | 22 | 23 | 24 | ![gtd-mind-map.png](https://i.loli.net/2019/12/13/qBHRGhJMCmlIWnx.png) 25 | 26 | 27 | 28 | ## GTD 的流程 29 | 30 | - 捕获(Capture):主动让清空大脑,把所有的大小事情都捕获在一起,装进你的收集箱(Inbox) 31 | - 明晰(Clarify):一件件拎出收集箱当中的事情,每一件都问自己五个问题。 32 | - 这件事可行动吗? 33 | - 否:回收箱(Trash) 34 | - 否:可能清单(Someday / maybe) 35 | - 否:参考资料(Reference) 36 | - 能一步搞定吗? 37 | - 否:项目清单(“Plan project“ task),然后制定计划并细化到执行清单。 38 | - 2 分钟内可以搞定吗? 39 | - 是:立刻做 40 | - 这件事该我做吗? 41 | - 否:等待清单(”Waiting for“ task),提前跟进并细化到执行清单。 42 | - 有特定时间吗? 43 | - 否:执行清单(”@Context” task) 44 | - 是:在日历中建立日程 45 | - 组织(Organize) 46 | - 回顾(Reflect) 47 | - 从收集箱出去的项目永远不要再放回收集箱。 48 | - 项目清单中的事项需要你主动将其拆解,步骤,并为其谋划执行方案,把大项目拆解成小步骤,并分解到其他清单当中。 49 | - 主动确定等待清单是否被完成,回收箱和可能清单中的事项是否有变动(变成可执行或其他)。 50 | - 日历或提醒事项应用中的提醒是否恰当,是否要流出裕量时间。 51 | - 执行(Engage) 52 | 53 | 54 | 55 | ## GTD 的步骤 56 | 57 | | 步骤 | 捕获 | 明晰 | 组织 | 回顾 | 执行 | 58 | | -------- | ---------------- | ------------------------ | ---------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | 59 | | 事项收集 | 1️⃣ 全部放进收集箱 | | | | | 60 | | 每日回顾 | | 3️⃣ 这些事该放进哪个分区? | 4️⃣ 放进合适的分区 | 1️⃣ 收集箱清空了吗
5️⃣ 收集全了吗
7️⃣ 等待清单下一步?在做吗?如何了?
8️⃣ 可能清单下一步?在做吗?如何了?
6️⃣ 项目清单下一步?在做吗?如何了? | 2️⃣ 两分钟可执行:Do it! | 61 | | 事项处理 | | | | | 1️⃣ 日历中的事项严格按日期处理
2️⃣ 按重要程度处理执行清单中的事项 | 62 | | 每周回顾 | | | | 1️⃣ 查漏补缺
2️⃣ 主动收集 | | 63 | 64 | 65 | 66 | - 事项收集:这个步骤是随时随地都在发生的。收集之后,按照 GTD 的原则,如果没有经过明晰、组织等其他步骤,最好是不要开始执行。 67 | - 每日回顾:把回顾作为每天的第一件或者最后一件事情,进行一次梳理;先回顾「等待清单」和「可能清单」。 68 | - 等待清单:不止要写下等待事项,还要明确等待的下一步是什么,主动拿结果。 69 | - 可能清单:也尽量不要被动地等待它发生的时机,而要自己主动去思考,这件事可行性有多大。把思考这件事,也放进执行清单。 70 | - 项目清单:问自己下一步是什么,并把下一步放进执行清单;如果步骤复杂,你的下一步就是专门写计划、做方案,然后再下一步应该做什么,就你的计划或方案中。 71 | - 事项处理:提高自己的执行力。 72 | - 每周回顾:利用检查清单,查漏补缺 73 | 74 | 75 | 76 | ## GTD 的实践 77 | 78 | - 规划大段连续的时间给复杂任务。 79 | - 立即执行简单任务。 80 | 81 | ### 收集箱(Inbox) 82 | 83 | - 把所有事情,无论大小,统统放进收集箱。 84 | - 按照明晰(Clarify)法则把事情归类到其他分区 85 | 86 | 87 | 88 | ### 执行清单(”@Context” task) 89 | 90 | **原则** 91 | 92 | - 你不可能完成所有事情 93 | - 充足的睡眠,健康的身体 94 | - 不牺牲人际关系和个人幸福感 95 | - 要事第一(First Things First):尽可能做离你目标更近的事情 96 | 97 | **做法** 98 | 99 | - 一次只处理一件事情:执行清单都是可以一步搞定的事情 100 | - 规划好时间 101 | - 做好时间预估 102 | - 为特别事件预留时间:每天预留半个钟消灭执行清单的其他事情 103 | - 使用 [番茄钟](https://sspai.com/post/37307) 提高效率:例如 Forest 或手机自带的计时器 104 | - 打破负罪感幻觉:专注于手头的事情 105 | - 消息可以晚些再回 106 | - 电话可以晚些再打 107 | - 决定可以晚些再做 108 | 109 | 110 | 111 | ### 等待清单(”Waiting for“ task) 112 | 113 | 以「我需要客户 A 的一份合同样本」为例: 114 | 115 | 1. **事先告知对方**,请在明天下午四点以前(而不是下班),将合同样本发我,好向财务确定拨款事宜,这样对方就能早一点收到钱啦。对方听到跟自己**利益相关**,自然会比较上心。 116 | 2. 下午上班时(两点)如果还未收到对方发来的合同样本,**再次温馨提醒对方**,不要忘了四点左右发合同样本哦。 117 | 118 | 119 | 120 | ### 项目清单(“Plan project“ task) 121 | 122 | - 做计划、做方案是每个人的必修课。 123 | - 同步更新到执行清单。 124 | 125 | 126 | 127 | ### 可能清单(Someday / maybe) 128 | 129 | 当时机成熟,可能的事情变成可以的时候,你要专门为它做计划,而不是想想就做。 130 | 131 | 132 | 133 | ### 参考资料(Reference) 134 | 135 | **分类:** 136 | 137 | - 网络搜索引擎 138 | - 个人知识库 139 | - 能够辅助你完成现阶段工作的标准参考资料,比如检查清单 140 | - 智慧,或者对智慧的见解,它们通常都是值得纪念的、值得留存的、值得回味的、值得学习的、值得反复诵读的 141 | 142 | 143 | 144 | **如何准备:** 145 | 146 | - 回归常识,避免追逐新、奇、怪,而忽略最基本的万物运作规律 147 | - 提高信息的检索、辨别能力 148 | - 提高参考资料的存档标准 149 | - 搜索引擎能够找到的,对你来说浅显而平常的知识,不用专门存档 150 | - 一些出现的新概念,但旧瓶装新酒、换汤不换药的,不用专门存档 151 | 152 | 153 | 154 | ### 回收箱(Trash) 155 | 156 | - 客户 B 突然跟你说:因为一些原因,展会临时取消了。 157 | - 于是,你把这件事扔进回收箱。 158 | - 但是,回收箱的事情也可能变成可以做的事情,比如客户 B 突然又告诉你说,取消的展会又要开了。 159 | 160 | 161 | 162 | ## GTD 的工具 163 | 164 | - [如何把 GTD 部署到 OneNote 中?](https://www.bilibili.com/video/av83784297) 165 | - 我目前是部署在 [Microsoft To Do](https://todo.microsoft.com/)(微软待办) 166 | 167 | 168 | 169 | --- 170 | 171 | 172 | 173 | 174 | > 本文整理自:[GTD 自我管理、时间管理视频教程| 远离瞎忙迷茫懒癌拖延症| 从零开始,科学地认识和使用GTD 时间管理法则](https://www.bilibili.com/video/av73280139) 175 | 176 | -------------------------------------------------------------------------------- /source/_posts/life/gtd/clock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/gtd/clock.png -------------------------------------------------------------------------------- /source/_posts/life/health.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 除了健康,都是小事 4 | date: 2019-10-10 5 | updated: 2020-03-31 6 | categories: 生活百科 7 | tags: [健康, 生活] 8 | 9 | --- 10 | 11 | ![insurance](health/insurance.png) 12 | 13 | 因为其它事情(名利和情爱)都可以克服或者放弃。还是那句老话:身体是革命的本钱,健康是生活的基础。 14 | 15 | 16 | 17 | 18 | 虽然我在博客上教读者们如何过好「数字生活」,但是「现实生活」同样重要,千万不要让电子设备糟蹋了我们的碳基容器,[肉体强健和精神强健一样重要](https://yitianshijie.net/1)。 19 | 20 | 21 | 22 | ## 保持运动 23 | 24 | 没时间锻炼,有时间生病。 25 | 26 | - 每天保持锻炼半个小时。 27 | - 别久坐,站起来。如果在上班族,每半个钟去饮水机附近喝一次水。 28 | - [MuscleWiki](https://musclewiki.org/):点击身体的任何一个部位,通过动画和视频告诉你怎么锻炼这个部位的肌肉。 29 | 30 | 关键阅读:[比起「资助」健身房,养成运动习惯还有这些成本更低的方法。by Vanilla](https://sspai.com/post/57402) 31 | 32 | 33 | 34 | ## 多多喝水 35 | 36 | 人体中 70% 的成分是水,而在血液中这个比例更高,达到了 90%。为了保证人体机能正常运转,所有的细胞和器官都需要水。 37 | 38 | - 起床后先喝一杯水 39 | - 吃饭前可以适当地喝一点水(汤):增加饱腹感,防止吃太多 40 | - 运动前后注意补水 41 | 42 | 43 | 关键阅读:[想好好喝水没这么难,试试从这 8 个好习惯开始。by Vanilla](https://sspai.com/post/53997) 44 | 45 | ## 均衡饮食 46 | 47 | - 少油 48 | - 少盐 49 | - 少糖 50 | - 每天一小把坚果 51 | 52 | 53 | 54 | 膳食纤维是人类必备的营养素之一,倒不是因为人体需要利用它,而正是因为人体无法吸收膳食纤维,作用至少有: 55 | 56 | 1. 延缓食物的消化与吸收,变相降低了摄入的食物的 GI 值,还能带走一部分油脂。 57 | 2. 改善肠胃,软便,预防和解决相关的肠道问题。 58 | 59 | 这也是为什么健康饮食一般强调多吃蔬菜的一个原因,当某顿饭因为各种原因几乎没有摄入蔬菜时,我就会服用几颗胶囊保证膳食纤维充足。可试试 美达施(Metamucil)膳食纤维胶囊 by [Yachen](https://www.notion.so/03d59139b57942f1bb4c090a68f28e88) 60 | 61 | 62 | 63 | **每天一瓶纯牛奶**([为什么?](https://www.bilibili.com/video/BV1WT4y157ZC)) 64 | 65 | - 钙吸收率最高的食品(之一)。如果年轻时不补钙,老了容易骨折,卧病在床将引发诸多疾病,因为生命在于运动。 66 | - 乳糖不耐受(喝纯牛奶会肚子不舒服)怎么办? 67 | - 不要空腹喝纯牛奶 68 | - 少量多次 69 | - 喝酸奶,包装中不能出现「饮品」的字样;益力多成分是水和白砂糖 70 | 71 | 72 | 73 | ## 口腔健康 74 | 75 | 早上刷牙出门体面,晚上刷牙刺激性欲。详情请参阅:[好好牙刷,很有必要](https://tingtalk.me/electric-toothbrush/)。 76 | 77 | 78 | ## 头发健康 79 | 80 | **伤害头发的做法** 81 | - 自然风干。 82 | - 使用毛巾摩擦。 83 | 84 | **如何正确地护发** 85 | - 洗完头,用毛巾裹干水分,顺着毛鳞片的方向(从发根到发尾);打开吹风机,使用 40 ℃ 左右的风(谨慎使用高温档),吹干头发。拨头发的时候,不要来回摩擦,而是顺着毛鳞片的方向或者左右拨。 86 | - 负离子吹风机的效果有限,但可以中和静电(北方地区更实用)。 87 | - 护发选择(松下)纳米水离子吹风机,把水分「吹」进发芯。 88 | 89 | > 来源:[戴森吹风机和 50 元的有多大差别?9 款吹风机横评 - 先看评测](https://www.bilibili.com/video/BV1uA411t7rU) 90 | 91 | 92 | 93 | ## 用眼卫生 94 | 95 | - 不要用手揉眼睛 96 | - 毛巾通风晾晒,定期热水消毒 97 | 98 | [麦粒肿](https://zh.m.wikipedia.org/wiki/%E9%BA%A6%E7%B2%92%E8%82%BF) 又称为针眼、偷针㽿,是眼睑下一种皮脂腺的感染,这导致眼睑边缘出现红肿。麦粒肿的形成通常导因于金黄色葡萄球菌感染,眼睑内部是由于麦氏腺感染,而外部是因为蔡斯氏腺(英语:Gland of Zeis)感染。麦粒肿不经过治疗往往在数天至数周内恢复,建议用热敷等方法加速痊愈的速度,偶尔眼部药膏抗生素也推荐被使用例如 [可乐必妥 - 左氧氟沙星滴眼液](https://item.jkcsjd.com/3726099.html)。 99 | 100 | 101 | 102 | ## 科学护肤 103 | 104 | **中国痤疮治疗指南(2019 修订版)** 105 | 106 | 下载链接:[医库 MediCool](http://medi-guide.meditool.cn/ymtpdf/6A46D2DD-198E-AD24-47DD-328C1B791C82.pdf) 107 | 108 | 临床医师对痤疮 治疗的选择存在很大差异,有些治疗方法疗效不肯定,缺乏循证医学证据支持,个别方法甚至对患者造成损害。制定一套行之有效的痤疮治疗指南给各级临床医师提供诊疗指导、规范其治疗是非常必要的。by 中国痤疮治疗指南专家组 109 | 110 | 虽然这份 6 页的治疗指南是给医师看的,但是普通患者看完就会对治疗痘痘有个系统性的认识: 111 | 112 | 1. 痤疮的发病机制 113 | 2. 痤疮的分级 114 | 3. 痤疮的外用药物治疗 115 | 4. 痤疮的系统药物治疗 116 | 5. 物理与化学治疗 117 | 6. 特殊人群的痤疮治疗 118 | 7. 痤疮的中医中药治疗(笔者存疑) 119 | 8. 痤疮维持治疗 120 | 9. 痤疮的联合与分级治疗 121 | 10. 痤疮后遗症处理 122 | 11. 痤疮患者的教育与管理 123 | 124 | 对于轻度的痘痘: 125 | 126 | 1. 阿达帕林凝胶(维 A 酸类药物):睡前(避免遇光分解)涂于患处,使之成为一薄层 127 | 2. 过氧苯甲酰(抗菌药物):定点涂在痘痘上 128 | 129 | 以上两种不见效,交替用(避免耐药): 130 | 131 | 1. 克林霉素磷酸酯凝胶 132 | 2. 夫西地酸乳膏(京东下单后,上传痘痘照,即可网上购买处方药夫西地酸) 133 | 134 | 避免长痘的一般性建议: 135 | 136 | 1. 轻限制摄入高糖高脂食物。吃辣不一定爆痘,较油腻的辛辣食物除外 137 | 2. 控制体重 138 | 3. 规律作息、避免熬夜 139 | 4. 过度日晒 140 | 141 | 142 | 143 | **音频** 144 | 145 | - [郝博士的皮肤管理课 - 郝宇](http://47.92.172.181/content/463/order/1.html) 146 | 147 | 148 | 149 | **男士护肤** 150 | 151 | - [雄性护肤品指北 - c0sMx](https://www.c0smx.com/archives/951) 152 | - [如何做个精致点的 Boy - c0sMx](https://www.c0smx.com/archives/744/) 153 | 154 | 155 | 156 | ## 丁香医生 157 | 158 | 身体上的问题,可以问 [丁香医生](https://dxy.com/)。 159 | 1. 关注 `丁香医生` 的微信公众号 160 | 2. 轻触右上角的 `···` 查看历史文章 161 | 3. 轻触 🔍,输入关键词,例如 `感冒`,即可搜索对应的历史文章 162 | 163 | 164 | 165 | ## 中医存疑 166 | 167 | 传统中医缺乏实证,千人千面。 168 | 169 | [中医逻辑扑克 2.0 版(GitHub 特别版)](https://github.com/benjaminsliu/logiccards)by 劉夙 170 | 171 | 172 | 173 | ## 人身保险 174 | 175 | 趁年轻,在身体未出现健康问题前,及早配置好 [保险](https://tingtalk.me/personal-insurance/)。对于普通收入的人来说,一年的费用从三千元到一万元不等即可防止因病致贫。 176 | 177 | 178 | 179 | ## 人生意义 180 | 181 | 关于生命和人类的本质,看完思维实验室的这几个视频,我越发开朗了: 182 | 183 | 1. [自私基因](https://www.bilibili.com/video/av49769417) 184 | 2. [直立行走](https://www.bilibili.com/video/av70276990) 185 | 3. [大脑进化](https://www.bilibili.com/video/av71917158) 186 | 4. [生育困境](https://www.bilibili.com/video/av74826885) 187 | 5. [致命物种](https://www.bilibili.com/video/BV1jJ411d7Ke) 188 | 6. [何为病毒](https://b23.tv/BV1K7411x7rW) 189 | 190 | 191 | 192 | ## 其他建议 193 | 194 | 195 | **食品配料表** 196 | 197 | - 拿到食品先看产品类别,是啥身份基本藏不住。我妈当年要会看,我也不至于喝了好几年 AD 钙乳饮料。 198 | - 然后直奔配料表,看看排在前几位的都是啥。根据食品法规的规定,食品中的各种配料应按加入量由高到低排列。巧克力里含量最高的不是可可是白砂糖。 199 | 200 | 201 | 202 | **适度使用耳机** 203 | 204 | - 音量小些 205 | - 听半个小时就要给耳机休息一下 206 | - 听力受损,是不可逆的(未验证) 207 | 208 | 209 | 210 | [掌握伤口自处理的小方法,帮你抓住自救和求助时机 - 少数派](https://sspai.com/post/63189) -------------------------------------------------------------------------------- /source/_posts/life/health/insurance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/health/insurance.png -------------------------------------------------------------------------------- /source/_posts/life/personal-insurance/shelter-for-families.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/personal-insurance/shelter-for-families.png -------------------------------------------------------------------------------- /source/_posts/life/pets-diary/dog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/pets-diary/dog.png -------------------------------------------------------------------------------- /source/_posts/life/pets-diary/dora-and-tinkle.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/pets-diary/dora-and-tinkle.jpeg -------------------------------------------------------------------------------- /source/_posts/life/teeth.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 好好牙刷,很有必要 4 | date: 2017-11-06 5 | updated: 2020-04-25 6 | categories: 生活百科 7 | tags: [健康, 生活] 8 | 9 | --- 10 | 11 | ![broken-tooth](teeth/broken-tooth.png) 12 | 13 | 早上刷牙出门体面,晚上刷牙刺激性欲。 14 | 15 | 16 | 17 | 18 | 19 | ## 为何刷牙 20 | 21 | **笑得开心** 22 | 23 | 论身材,短短。看相貌,平平。扫视躯壳,牙齿是我为数不多满意的部位。所以拍照的时候,我总爱露出八颗门牙,笑得特别浮夸。 24 | 25 | 26 | 27 | **谈得舒心** 28 | 29 | 我的自制力不强,但对刷牙却有不一般的执念,就算熬到大半夜,也要把牙刷了再入寝。因为稍作松懈,牙就黄了,与人交谈,甚不友好。纵使身体没有退避三尺,心里也不免「敬」你三分。 30 | 31 | 32 | 33 | **吃得放心** 34 | 35 | 人可以不笑不说话,但总不能不吃饭。一口伴随一生的好牙,才能不对美食说「不」。在口腔卫生上,绝不能「先污染再治理」,现在不注重口腔健康,一旦上了年纪,你可以拒绝保温杯,但高压锅可能是少不了了。一些倔强的肉类,不压压,实在难以下嘴。 36 | 37 | 38 | 39 | ## 如何刷牙 40 | 41 | 刷牙,刷的是细菌,即牙菌斑,是牙石的前身。牙菌斑像一块膜,紧紧地黏在牙齿上,像抽油烟机上的油污,冲水(漱口)是去不掉的,必须用力擦(刷牙)。 42 | 43 | - 请使用 [巴士刷牙法(视频演示)](https://www.bilibili.com/s/video/BV1Hs411D7Pr?t=2m31s):牙刷斜 45° 放在牙齿和牙龈交界的位置;左撇子尽量从右侧的牙齿开始刷。 44 | - 早(中)晚各一次:建议进食后再刷牙,早上起床后,先简单漱口后就进食,然后再刷牙,就可以保证直到吃中饭前,口腔都是清新的感觉。 45 | - 刷牙时间最少 2 分钟。 46 | - 定期(半年至一年)洗牙。 47 | - 牙龈出血不可怕,越是出血的地方越是要好好刷。 48 | 49 | 50 | 51 | 更多刷牙相关的详细知识,请参阅 [许桐楷老师的微信公众号](https://mp.weixin.qq.com/s/6nrlJzelAgsu31Z2wLXNjQ)。 52 | 53 | 54 | 55 | 56 | ## 电动牙刷 57 | 58 | 59 | 对于不大部分手动刷牙的人来说,要么拉大锯,要么太大力,最大的不足是,没刷够时间( 2 分钟以上)。所以我推荐大家买一个的电动牙刷,有效地清除口腔死角。而且带有自动计时,不知不觉就刷完了。 60 | 61 | 我从 2017 年开始使用声波震动式电动牙刷,它是一个你用了就回不去的小物件。好的生活,没那么贵,也就小几百块。赶紧趁机入手,早日解放双手。从 2022 年 2 月,我开始使用旋转式电动牙刷,清洁力更强,但是好像比较伤牙。 62 | 63 | 64 | 65 | 假若你动手能力强,自制力也不差,掌握正确的刷牙方法(巴氏刷牙法),手动刷牙一样可以起到有效清洁的作用。 66 | 67 | 68 | 69 | ## 关联阅读 70 | 71 | - [面壁实验室:5 块钱的牙膏和 50 块的牙膏有什么不同?- 吴松磊](https://b23.tv/av2482416) 72 | - [别再花冤枉钱了,8 块钱和 78 块钱的牙膏到底有什么区别 - 柴知道](https://b23.tv/BZcAGt) 73 | - [如何护理好口腔健康?- 子不语Rex](https://sspai.com/post/53604) 74 | - [除了健康,都是小事 - 庭说](https://tingtalk.me/health/) 75 | - [用这些技巧保持你的口腔健康,别等到牙齿坏掉才后悔](https://sspai.com/post/62330) 76 | 77 | 78 | 79 | 也许我词不达意,但好的生活方式,值得被你我尝试。愿你有一口好牙。 80 | -------------------------------------------------------------------------------- /source/_posts/life/teeth/broken-tooth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/life/teeth/broken-tooth.png -------------------------------------------------------------------------------- /source/_posts/others/covid-19/covid-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/covid-19/covid-19.png -------------------------------------------------------------------------------- /source/_posts/others/driving-test/car.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/driving-test/car.png -------------------------------------------------------------------------------- /source/_posts/others/graduation.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 毕业赠言 4 | date: 2017-06-11 5 | updated: 2017-06-11 6 | categories: 杂七杂八 7 | tags: [佳句, 人物, 祝福] 8 | 9 | --- 10 | 11 | ![graduation](graduation/graduation.png) 12 | 13 | 4 年大学时光,一晃而过。 14 | 15 | 16 | 17 | 有一位大学同学,在毕业相册里留言:舍友临毕业前想看到《庭说》更新!于是,在停说第 99 天之后,庭又开始说了。本文由 13 电网的 47 位同学独家赞助推出,以下是 Ta 们的毕业宣言。 18 | 19 | 20 | ## Ta 们的大学多了一份爱 21 | 22 | 我要感谢我的舍友和我睡了四年……在这里我突破了自己,完成了蜕变……在这里我锻炼到了能力,收获了爱情(床播快乐,床播正能量。请原谅我的断章取义) 23 | 24 | my girl,此生有你即圆满(Best Wishes) 25 | 26 | 27 | ## Ta 们对爱有不同看法 28 | 29 | 希望大家最后可以择一城以终老,遇一人以白首(论白头发,我怕过谁?By the way,谁有黑发秘方? ) 30 | 31 | 众里寻人,错爱只是为真爱作证。灯火阑珊,何必急于看到那个人?(庭说点歌台:孙燕姿的《天使的指纹》) 32 | 33 | 34 | ## Ta 有一个小心愿 35 | 36 | 但愿以后见面,女同学们还能叫我强哥,男的就。。。别叫我几把强了 (会撩妹,会打球,会抽烟……他是有几把刷子的强哥。By the way,以后见面,别叫我庭姐,叫我庭哥可好?) 37 | 38 | 39 | ## Ta 很懒 40 | 41 | 这个人很懒,什么都没留下(个性签名) 42 | 43 | 44 | ## Ta 很臭美 45 | 46 | 哈哈哈,9614 颜值担当(哈哈哈,我不信。13 朵金花在文末留言区评评理) 47 | 48 | 49 | ## Ta 很爱学习 50 | 51 | 好好学习,天天向上(我这个老学委都不敢这么猖狂) 52 | 53 | 54 | ## Ta 们的大学如诗 55 | 56 | 凡是过去,皆为序章(出自莎士比亚的名言:What's Past is Prologue) 57 | 58 | 我本荆棘,无限张狂(出自《侠客风云传前传》) 59 | 60 | 宇内四海长相忆,天涯海角幸逢时(天下谁人不识君,黑白两道叫飞哥) 61 | 62 | 人生何须悲前途,不过春红化雪泥(大诗人,请收下我的膝盖) 63 | 64 | 65 | ## Ta 们的大学是一个比喻 66 | 67 | 于我,大学四年像列车驶过扬起的灰尘,短暂而迅速,终又尘埃落定。感谢相遇,感恩陪伴(你的大学是列车,我的大学是火车,污污污~) 68 | 69 | 原来四年是一本太仓促的书,来不及翻就没了,这一别多久还会再见(对呀,大学就是一本不忍卒读的书) 70 | 71 | 青春是段跌跌撞撞的旅行,拥有后知后觉的美丽(让我想到了苏打绿的歌《无与伦比的美丽》:天上风筝在天上飞,地上人儿在地上追) 72 | 73 | 74 | ## Ta 们有道不完的感谢 75 | 76 | 感谢大家的欢笑和快乐伴我走过每一刻(每一刻,连睡觉都偷着乐) 77 | 78 | 感谢出现在我生命中的每一个你们(珍爱生命,远离庭姐) 79 | 80 | 大学四年感谢有你你你……们(快说,这三个你分别是谁?) 81 | 82 | 83 | ## Ta 们翻不完的友谊 84 | 85 | 四年的大学的时光,沉淀下来的是我们浓厚的友谊,以后分离但会牢记着彼此(四年的大学的时光,沉淀下来了的是我们浓厚的脂肪) 86 | 87 | 愿我们友谊天长地久(都快毕业了,你难道就不想升华一下友谊) 88 | 89 | 我们从一所很好的大学毕业,那里有良师或益友(善为良师,乐做益友) 90 | 91 | 92 | ## Ta 们有数不完的回忆 93 | 94 | 所有美好都值得珍藏(所以我把你们美好的留言珍藏在庭说里) 95 | 96 | 用四年换一个心底永久的回忆,我不悔且珍惜(这么多回忆,心底放得下吗?) 97 | 98 | 老铁们,岁月长河里有你们,很幸运(《小幸运》:我听见雨滴落在青青草地,我听见远方下课钟声响起……) 99 | 100 | 101 | ## Ta 们很开心 102 | 103 | 愿你们一切都好(同意,一妾就好) 104 | 105 | 大学遇见一群很 6 的你们(那谁最 6 呢?欢迎在留言区讲出 Ta 的辉煌事迹) 106 | 107 | 开开心心每一天(讲个笑话给你听:今天我失恋了) 108 | 109 | 四年,遇到了很多人很多事,毕业快乐(日理万机,你的大学不简单) 110 | 111 | 接下来的日子,希望大家可以开心的过,精彩的活(还要安稳的睡) 112 | 113 | ## Ta 们讨厌离别 114 | 115 | 分离并不可怕,可怕的是分离后没有你的消息(借我巨款,就不怕没有我的消息,天天还你一块钱) 116 | 117 | 四年的大学生活一晃而过,离别容易,再聚太难(晃得太快,还把老腰给闪了) 118 | 119 | 道不尽离愁三千,不过是一声再见,总会再见(看完本文,离愁值涨到四千七) 120 | 121 | 122 | ## Ta 们期待重逢 123 | 124 | 若干年后再见面,我还是我,希望你也还是你(你的意思是:若干年后再见面,我们都是单身狗?) 125 | 126 | 以后再遇到的时候,我还是能一眼认出 13 电网的你们(认不出,因为大家都发福了) 127 | 128 | 只待我们下次相见时还能在球场上继续挥洒我们的热血(记得买两瓶矿泉水) 129 | 130 | 天下无不散的筵席,期待我们下一次的重逢(期待你的成婚) 131 | 132 | 愿我们的青春不散场(想得美) 133 | 134 | 如果可以的话,祝我们的青春不腐朽(不可以,我的青春被狗吃了) 135 | 136 | 四年的相知相伴,如今的各奔东西,但希望我们 47 位同学有朝一日,再见!再聚(残酷的说,47 位是再也聚不齐) 137 | 138 | 139 | ## Ta 希望大家找个好工作 140 | 141 | 142 | 亲爱的大家: 143 | 144 | 其实,很早就想给你们写信,但是又不知如何提笔。我快毕业了,没有工作,没有男朋友,看起来很失败。现在的我也很迷茫,我也不知道该如何给你们建议。 145 | 146 | 我还记得刚刚带助班时很忐忑,我就和你们一样大,长得也不老成,性格也很孩子气,我怕教坏了你们。不过师兄说,我一个人没有大能力把你们带坏的,不要太高看了自己。是啊,我改变不了你们任何一个,而我自己却获得了我此生最难忘的经历,就多了一点关心多了一点参与,我体会到了付出、团结、成长,拥有了世界所有美妙的事情。 147 | 148 | 我很内疚越来越少可以参与你们的活动,你们打篮球、弄社团活动,女生节所有一切在朋友圈里看着都很让人心动,也很后悔,大学三年总是觉得自己忙而没能多和你们玩到一起。所以有机会要多珍惜现在的陪伴,你们还有一年或者说只有半年,大四下学期真的可能很多人也会像现在的我一样在奔波、找工作、实习远远得很难见一面。 149 | 150 | 我知道你们现在所最关心的,实习、工作,毕业越来越近,大家必须要开始为以后打算了,但是也别心急,别浮躁,静下来想一想,自己需要什么,当然,有梦想是幸运,没目标真的是大多数,那就踏实去努力。把自己还能做到的做好就足够了。实习怎么找,找什么样的,我真的不知道要给们什么样的答案,觉得合适就去干吧,觉得干了不亏就去吧,人生好的坏的多多少少去经历才会觉得完整。 151 | 152 | 上课的问题我也没法回答你们,那些课有多少作用,对每个人来说都不一定,但是,可以问自己几个问题: 153 | 154 | 1. 你可以保证你自己以后用不到这些知识了么; 155 | 2. 你可以保证以后工作不会受挂了这科影响么; 156 | 3. 你可以保证你没来上课去干的事情比来上这节课值得么。 157 | 158 | 如果你觉得你还是应该不来,真的,既然你觉得完全没必要的事情我也不建议干了。我只是个很普通的姑娘,对于我这样的凡夫俗子没有既定的梦想,我只能把我现在能做的每件事做好。我很羡慕那些可以逃课是为了梦想的人,羡慕他们勤恳努力积极向上。考证就像学习,谁也不知道哪天就需要了,虽然大多数可能一辈子也用不到,学校里考证比外面容易,毕竟有个学习的氛围吧。 159 | 160 | 大家现在都很关心电力局吧,的确,电力局是一个好的出路,每个省的情况都不一样,我所了解的现在是三个省: 161 | 162 | 1. 广东:谣言里关系大于成绩,我也不能说几分真假,广东的大家可以多去问问上一届去考了的师兄师姐; 163 | 2. 安徽:安徽是电网里比较普遍的一种,市局只要211以上或特招学校,二本去县局和乡镇; 164 | 3. 河南:河南是非常神奇的地方,主要看分数,分数高的除了郑州市局可以任你挑,河南市局有很多普通学校的。大家多加加什么南网群国网群可以看到很多讯息的。 165 | 166 | 我也不知道该说什么了,找工作我也没什么经验,我不是一个好榜样,但是我真心希望你们可以踏实、选一条合适的路就大胆走下去。不论做什么,你们都要相信,没什么大不了,3000 包吃住的事还是有的。 167 | 168 | 以上是我一年以来少得可怜的人生感悟,和你们分享。希望你们可以开心,也可以安排好时间。 169 | 170 | > by 卢祯(助班师姐) `2016-04-16` 171 | 172 | 173 | ## 我们都有光明的前途 174 | 175 | 好好生活,好好工作(庭说不停说,毕业不失业) 176 | 177 | 四年大学转眼一过,祝各位前程似锦(要做有前程的司机) 178 | 179 | 愿再次相会之时,彼此皆闯出各自的一片天(祝大家一飞冲天,闯破苍天) 180 | 181 | 梦想有日达成,找到心底梦想的世界,终可见(庭说完了,一首 Beyond 的《不再犹豫》送给大家,让我在留言区看到你们摇摆的双手~) 182 | 183 | -------------------------------------------------------------------------------- /source/_posts/others/graduation/graduation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/graduation/graduation.png -------------------------------------------------------------------------------- /source/_posts/others/name.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 宝宝起名 4 | date: 2019-07-03 5 | updated: 2019-12-10 6 | categories: 杂七杂八 7 | tags: 写作 8 | --- 9 | 10 | ![name](name/name.png) 11 | 12 | 名字取得好,长大烦恼少。 13 | 14 | 15 | 16 | ## 别信八字 17 | 18 | 人定胜天,生辰八字就是 Bullshit,决定不了你的一生。 19 | 20 | 21 | 22 | ## 字形简单 23 | 24 | 25 | - 少用生僻字 26 | - 少用笔划繁多的字 27 | 28 | 29 | 30 | 31 | ## 音律爽口 32 | 33 | ### 避开多音字 34 | 35 | - 乐乐乐,这个名字怎么念? 36 | 37 | 38 | 39 | ### 巧用谐音 40 | 41 | - ✔️ 潘峰(攀峰)、文彦博(文渊博)、程刚(成钢) 42 | - ❌ 韦君智(伪君子) 43 | 44 | 45 | 46 | ### 平仄相间 47 | 48 | - 一、二声为平,三、四声为仄。 49 | - 同是平音不响亮,同是仄音太沉重。应平仄配合,读起来才朗朗上口,铿锵有力。 50 | 51 | **示例** 52 | 53 | - ✔️ 柳景选、丹凤 54 | - ❌ 柳敬民、玉凤 55 | 56 | 57 | 58 | ### 搭配不同声母 59 | 60 | - ✔️ 江(J)海(H)涛(T) 61 | - ❌ 江(J)骄(J)坚(J) 62 | 63 | 64 | 65 | ### 搭配不同韵母 66 | 67 | - ✔️ 王(ang)玉(u)华(ua) 68 | - ❌ 王(ang)商(ang)广(ang) 69 | 70 | 71 | 72 | ### 发音响亮 73 | 74 | 最后一个字要方便喊出来(发长音) 75 | 76 | - 不要用三声的字,例如孟庭苇,大声喊会觉得拗口、费劲、别扭,而且 `苇` 字已经轻微变调了 77 | - 不要用闭口音(闰土),尽量用开口音(吴孟达) 78 | - 最后一个字的韵母优选是 a / e / i / o / u,比如家、道、智等 79 | 80 | 81 | 82 | 83 | ## 起名工具 84 | 85 | - [你的名字 - 古诗文起名 V2.0](http://xiaosang.net/gushi_namer/):女诗经,男楚辞,文论语,武周易。 86 | - [梦幻笔名产生器](http://www.richyli.com/name/novel.asp) 87 | - [中文姓名产生器](http://www.richyli.com/name/index.asp) 88 | - [最全中华古诗词数据库](https://shici.store/) 89 | 90 | -------------------------------------------------------------------------------- /source/_posts/others/name/name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/name/name.png -------------------------------------------------------------------------------- /source/_posts/others/organising-training-events.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 如何组织一场全员参与的培训活动 4 | date: 2019-10-19 5 | updated: 2019-10-19 6 | categories: 杂七杂八 7 | tags: 工作 8 | 9 | --- 10 | 11 | ![participate](organising-training-events/participate.png) 12 | 13 | 不仅课程内容要有料有趣,如何设计活动流程,也是一门大学问。 14 | 15 | 16 | 17 | 18 | 19 | ## 课前 20 | 21 | ### 致学员 22 | 23 | - **准时开课**:才对得起按时参加的同学 24 | - **消失一天**:我今天(09:30 至 16:00)参加由 `***` 举办的第 `*` 期 `***`。我承诺一定完成今天的学习任务。培训期间不方便接听电话,有事请在微信留言,我会在课间休息的时候联系你。 25 | 26 | 27 | ### 举办方 28 | 29 | - 1 人 1 份 30 | - 课程大纲 + 草稿纸 31 | - 签字笔 32 | - 纯净水 33 | - 姓名贴纸 34 | - 茶点 35 | - 午餐 36 | - 若干助教 37 | - 计分 38 | - 保管手机(2 个小时看一次手机) 39 | - 传递话筒 40 | - 倒计时动画:开课前 5 分钟开始倒计时 41 | - Windows 10 用户:`Windows 徽标键 + S` 打开搜索框,输入 `闹钟` 即可打开倒计时 42 | - 背景音乐 43 | - 演讲型 PPT:没有错别字,逻辑清晰,版式简洁 44 | - 摄影师 45 | - 奖品 46 | - 分组牌 47 | - 手机收纳袋(有组别标记) 48 | - 计分板 49 | - 课堂调查问卷 50 | 51 | 52 | ## 课时 53 | 54 | ### 热身 55 | 56 | **规则** 57 | - 有 Tim 说:执行动作 58 | - 没 Tim 说:保持动作 59 | 60 | 61 | **举例** 62 | - 主持人:Tim 说举起右手 63 | - 学员:举起右手 64 | - 主持人:放下右手 65 | - 学员:保持动作(不响应指示,因为 Tim 没说) 66 | - 主持人:Tim 说举起左手 67 | - 学员:举起左手 68 | 69 | 70 | ### 分组 71 | 72 | 报数,并记住自己数字: 73 | 74 | - 根据人数确定组数,例如 100 人,分 10 组 75 | - 从 1 到 10 循环报数 76 | - 数字 1 的人分到第一组 …… 数字 10 的人分到第十组 77 | - 迟到的学员分到第 11 组 78 | 79 | 80 | ### 积分 81 | 82 | - 每个组的基础分数是 5 分 83 | - 答对加分 84 | - 手机没静音扣分 85 | - 奖励第一名 86 | - 惩罚最后一名 87 | 88 | 89 | ### 反馈 90 | 91 | - 根据学员的吸收程度调节语速 92 | 93 | 94 | ## 课后 95 | 96 | - 扫二维码,填写课堂调查问卷,并奖励有建设性的意见。 97 | - 颁奖 98 | - 合影 99 | 100 | 101 | 102 | --- 103 | 104 | 105 | 106 | 关联视频:[如何开一场高效的会议 - Topbook](https://topbook.cc/overview?selectedArticle=1813) 107 | 108 | -------------------------------------------------------------------------------- /source/_posts/others/organising-training-events/participate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/organising-training-events/participate.png -------------------------------------------------------------------------------- /source/_posts/others/resume-tips/resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/resume-tips/resume.png -------------------------------------------------------------------------------- /source/_posts/others/swim.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 游泳入门与蛙泳教学 4 | date: 2019-07-07 5 | updated: 2019-07-07 6 | categories: 生活百科 7 | tags: 技能 8 | 9 | --- 10 | 11 | ![swim](swim/swim.png) 12 | 13 | 换气不顺,游 50 米就没气了,气死我了。 14 | 15 | 16 | 17 | 18 | ## 游泳入门 19 | 20 | **准备工作** 21 | 22 | - 会游泳的伙伴 23 | - 浮力棒 24 | - 泳镜(因为水压的原因,松紧带不用系太紧;内镜可以涂上唾液,以防生成水雾) 25 | - 泳帽 26 | - 泳衣 27 | 28 | **视频教程** 29 | 30 | - [游泳入门 by Sikana - YouTube](https://www.youtube.com/playlist?list=PLKvYJEaJ8b1MdwcBYsaEgmSUfLO5ukPpA) 31 | - [如何访问 YouTube](https://tingtalk.me/fq/) 32 | 33 | ### 克服对水的恐惧 34 | 35 | **第一次接触水** 36 | 37 | - 首先让脚和双腿接触水,然后让双手和手臂接触水。 38 | 39 | **第一次下水** 40 | - 第一次接触水以后,学习将身体一直到胸口浸入水中,可以帮助您在水中感觉更加自在,也可以帮助您之后学习如何在水中行走。 41 | 42 | 43 | **把头浸入水中** 44 | - 屏住呼吸:用手捏住鼻子。 45 | - 心里清楚知道身体里不会进水:用鼻子和嘴巴吐气和(短时)张开眼睛都不会进水。 46 | 47 | 48 | **如何恢复站姿** 49 | - 首先水平漂浮在水面,然后双手双腿向内收起,最后恢复站姿。 50 | 51 | **如何面朝下漂浮在水面** 52 | - 使用浮力棒练习漂浮,然后不使用浮力棒练习漂浮。 53 | 54 | **在水中游动** 55 | - 首先在水面游动,然后在水底游动。 56 | 57 | **在深水区游动** 58 | - 首先在浅水区练习,然后借助浮力棒练习游动,最后在深水区练习。 59 | 60 | **游过水中的障碍物** 61 | - 游过一个小障碍物,然后游过一个大障碍物。 62 | 63 | **跳入水中** 64 | - 坐在泳池边上跳入水中:深吸一口气,低下头,伸手合十于胸前,上身前倾,跳入水中,入水时双腿弯曲。 65 | - 然后借助浮力棒跳入水中。 66 | - 最后不借助浮具跳入水中:入水时双腿弯曲。 67 | 68 | ### 学习基本的游泳动作 69 | 70 | 71 | **保持身体竖立头部露出水面** 72 | - 首先练习腿部运动:进入深水区,双水抓在泳池边上,使用蛙泳腿划水。 73 | - 然后练习手部运动:弯曲双腿,双手打水。 74 | - 最后手脚同时运动:保持头部露出水面 10 秒以上。 75 | 76 | **仰面漂浮** 77 | - 借助 2 跟浮力棒(置于手臂下)漂浮在水面:抬高骨盆;抬起下巴,目光直视向上;身体放松。 78 | - 借助 1 跟浮力棒(置于腰部)漂浮在水面:像青蛙一下张开四肢,双手和双腿可以小浮动滑水。 79 | - 不借助浮力棒漂浮在水面。 80 | 81 | **在水中游进** 82 | - 找到坚实的发力点:池壁或池底。 83 | - 维持推进力:扩大动作幅度。 84 | - 结合不同的发力点:用尽可能少的动作,游更远的距离。 85 | 86 | 87 | **呼吸** 88 | - 呼气:整个头部浸入水中,同时通过嘴巴(和鼻孔)尽可能地呼出肺部的空气。 89 | - 吸气:头部浮出水面,用**嘴巴**吸气。 90 | 91 | **呼吸基础练习** 92 | 93 | - 用鼻子呼气(初学者)。 94 | - 同时通过鼻子和嘴巴呼气(能更快地呼出空气)。 95 | 96 | **避免呛水** 97 | 98 | - 用嘴巴吸气。 99 | - 同时用鼻子和嘴巴呼气。 100 | 101 | ### 享受泳池的乐趣 102 | 103 | **如何在水中倒立** 104 | 105 | - 双手撑地,伸直双腿,伸直双臂。 106 | 107 | **如何在水下翻跟斗** 108 | 109 | - 泳池水位:胸部。 110 | - 调整位置:确保四周没有墙壁;向身体两侧伸直手臂,与水面平行;深吸一口气,下巴紧贴胸部。 111 | - 水下翻跟斗:身体前倾,腿部轻微蹬地,身体弯曲成车轮状,双手划水;一旦学会,尝试连续翻多个跟斗。 112 | 113 | **戴脚蹼游泳** 114 | 115 | - 需要一块浮板。 116 | - 调整身体在水中的姿势,然后借助浮板游进时腿部的打水动作,不用浮板时双臂的姿势。 117 | 118 | **如何使用泳镜和游泳呼吸管** 119 | 120 | - 佩戴泳镜(因为水压的原因,松紧带不用系太紧;内镜可以涂上唾液,以防生成水雾)和游泳呼吸管。 121 | - 通过呼吸管呼吸。 122 | - 游泳。 123 | 124 | **如何在水中用鸭式潜水法取物** 125 | 126 | - 确认物件位置。 127 | - 下潜:深吸一口气,头和手同时进入水中,上半身向前向下倾,双腿伸向高处(与水平面垂直)。 128 | - 拾起物件。 129 | - 最后脚蹬池底回到水面。 130 | 131 | **如何前倾入水和后倾入水** 132 | 133 | - 前倾入水:蹲下,脚趾钩住泳池边,双手抱住脚踝,下巴紧贴胸口;身体收拢,向前倾倒入水 134 | - 后倾入水:姿势与「前倾入水」相同,但入水要用鼻子呼气。 135 | 136 | **螺旋式游泳姿势** 137 | 138 | - 先借助浮板练习螺旋式游泳姿势(仰卧式 + 俯卧式)。 139 | - 身体仰卧,双臂伸直于脑后,双腿进行小幅度打水;深吸一口气,换成俯卧式游泳姿势,双臂保持前伸,呼出空气后,再次转换成仰卧的姿势。 140 | 141 | ## 学习蛙泳 142 | 143 | 蛙泳与其他游泳姿势不同之处在于手臂和腿部的动作不是同步进行的,同时在游进的时候,腿部比手臂发挥更大的作用。本篇包含以下内容:热身,入水技巧,基本技巧,完善练习,以及运动后的伸展。视频教程参见 [学习蛙泳 by Sikana - YouTube](https://www.youtube.com/playlist?list=PLKvYJEaJ8b1MtJtGhjyvDgFwNCFowLojR)。 144 | 145 | ### 提前热身 146 | 147 | 在开始一项体育运动之前,热身(10 分钟)是极为重要的。它可以提高您的身体性能并且降低受伤的风险。 148 | 149 | **游泳前上半身热身** 150 | 151 | - 骨盆:双手叉腰,臀部顺时针扭动 20 秒,然后逆时针 20 秒。 152 | - 手腕:转动 30 秒。 153 | - 肩膀:双手向前划大圈 30 秒,反方向 30 秒;与此同时,深呼吸。 154 | - 颈部:放松肩部;向左转动半圈,停顿 2 秒;向右重复。 155 | 156 | **游泳前下半身热身** 157 | 158 | - 脚踝:双脚分开,与骨盆同宽;脚后跟抬高并向前推,脚底保持与地面接触;双脚交替做这个动作。 159 | - 膝盖:并拢双脚和双膝,双手放在膝盖上;双膝弯曲顺时针做划圈运动;反方向来一遍。 160 | - 大腿:身体一侧靠墙,用靠近墙面的腿向前向后踢腿 30 秒;转身,用另一条腿做相同的动作。 161 | 162 | ### 入水技巧 163 | 164 | 以下方法可能不适用于公共泳池。 165 | 166 | - 瓶式入水:站在池边,身体挺直,大腿和双脚并拢,双臂紧贴躯干;绷直跳入水中;触底时弯曲双腿,然后蹬腿回到水面。 167 | - 坐式入水:坐在池边,双臂高高举起放在脑后,双手前后并拢,手心面向水面;身体向前倾斜,扎入水中时,保持低头的姿势。 168 | - 站立式入水:挺直身体,双腿前后分开,一只脚紧贴在池边,双臂高高举起放在脑后,双手前后并拢,手心面向水面;抬起后面那支脚,身体前倾,扎入水中。 169 | 170 | ### 基本技巧 171 | 172 | **基本游泳动作** 173 | 174 | - 入水,双臂自然向前伸直,手指并拢。 175 | - 双臂向两侧张开,向后划水(头部露出水面吸气)至肩部,下巴处合十收手,向前伸展(头部进入水中) 176 | - 弯曲双腿,脚后跟向臀部靠拢;向两边张开双脚;双脚向后蹬水(夹水)产生推进力。 177 | - 双腿,双水伸直,漂一会儿。 178 | 179 | **改善手臂划水动作** 180 | 181 | - 发力阶段的手臂动作:双臂自然向前伸直,手指并拢;向外划水(划一个大西瓜),此时头部会露出水面;中间状态是手指指向池底;双手(双肩)内收(双肘会触碰到身体两侧),回合至胸部(下巴)的位置。 182 | - 牵引阶段的手臂动作:收紧双肩,双手掌心相对,手指稍稍指向池底,向前伸展。 183 | 184 | **改善腿部蹬水动作** 185 | 186 | - 仰卧蹬水:双臂各夹一根浮力棒,仰面平躺在水面上;弯曲双腿,脚后跟向臀部靠拢;向两边张开双脚(不要分得太开);双脚向后蹬水(夹水)产生推进力。 187 | - 俯卧蹬水。双臂各夹一根浮力棒,俯卧水面上;逐步改善腿部蹬水动作。 188 | 189 | **手臂和腿部的协调运动** 190 | 191 | 1. 手臂的牵引动作。 192 | 2. 手臂动作结束后,弯曲双腿。 193 | 3. 双手和双腿同时伸直。 194 | 195 | **改善肩部和头部的入水动作** 196 | 197 | - 双腿夹住漂浮板,俯卧在水中。 198 | - 肩部入水动作:肩部尽量保持在水中。 199 | - 头部入水动作:**下巴先进入水中**,然后蹬水。 200 | 201 | **转身** 202 | 203 | - 触壁:双手以同一高度同时触壁。 204 | - 转身:一只手离开池壁,在水中与池壁相反的方向伸展出去;双腿弯曲(此时的身体是侧躺状);另一只从空中摆臂,向前进的方向伸展 205 | - 恢复游泳动作。 206 | 207 | ### 伸展运动 208 | 209 | 伸展运动可以避免您的肌肉僵硬,同时保持其灵活性。 210 | 211 | - 伸展手臂:双臂平举于身体两侧,手指伸直,掌心向下;弯曲手背,手背向着脸颊;保持这个姿势的同时,做 5 组深呼吸循环。 212 | - 伸展腿部:双膝跪地,双手放在双脚后方;臀部向上抬起;持这个姿势的同时,做 5 组深呼吸循环。 213 | - 伸展背部:四肢(膝盖和双手)撑地,深吸气的同时向上抬头,背部自然凹陷;接着深呼气,头部自然下垂,同时背部拱起;重复这组动作 5 次。 -------------------------------------------------------------------------------- /source/_posts/others/swim/swim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/others/swim/swim.png -------------------------------------------------------------------------------- /source/_posts/website/hexo/hexo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/website/hexo/hexo.png -------------------------------------------------------------------------------- /source/_posts/website/putty.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 使用 SSH(Secure Shell)客户端(PuTTY)远程连接 VPS 3 | date: 2020-06-29 4 | updated: 2020-06-29 5 | categories: 网站搭建 6 | tags: [网站, VPS] 7 | --- 8 | 9 | ![ssh](putty/ssh.png) 10 | 11 | - Windows 用户可以使用 PuTTY(读 [ˈpʌti] )连接 VPS。 12 | - macOS 用户可以使用苹果电脑自带的终端(Terminal)连接 VPS。 13 | 14 | 15 | 16 | 17 | 18 | ## [下载 PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 19 | 20 | 3.0 M 左右。 21 | 22 | - 32 位系统:[putty-0.74-installer.msi](https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.74-installer.msi) 23 | - 64 位系统:[putty-64bit-0.74-installer.msi](https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.74-installer.msi) 24 | 25 | 26 | 27 | **PuTTY 中如何复制粘贴** 28 | 29 | - 要将复制的文本**粘贴**到终端(PuTTY 的 SSH 登录后的界面)里,只需要右键单击就行了 30 | - 要从终端中**复制**文本,只需要用鼠标左键拖拉选中即可 31 | 32 | 33 | 34 | 35 | 36 | ## 使用 PuTTY 37 | 38 | - Host Name (or IP address):输入 VPS 的 IP Address(以 44.55.666.777 为例) 39 | - Port:22 40 | - Connection type:SSH 41 | - Save 42 | - Open:弹出 PuTTY Security Alert,选择 `是` 43 | - login as:root 44 | - root@44.55.666.777's Password:复制 VPS 的 Password,鼠标右键粘贴(界面上不会显示任何内容),回车。显示 `[root@vultr ~]#` 则代表连接成功(第一次登录的时候,会出现安全警告,单击 `是(Y)`) 45 | 46 | 47 | 48 | **快捷登录** 49 | 50 | 右键 PuTTY 的快捷方式,依次选择「属性」 - 「快捷方式」 - 「目标」 - 在 `"*:\Program Files\PuTTY\putty.exe"` 后面 `空一格` 输入 `root@IP Address -pw "Password"`,完整展示如下: 51 | 52 | ``` 53 | "D:\Program Files\PuTTY\putty.exe" root@44.55.666.777 -pw "FuckGFW" 54 | ``` 55 | 56 | 57 | -------------------------------------------------------------------------------- /source/_posts/website/putty/ssh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/website/putty/ssh.png -------------------------------------------------------------------------------- /source/_posts/writing/composition-seven-tips/inkwell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/writing/composition-seven-tips/inkwell.png -------------------------------------------------------------------------------- /source/_posts/writing/markdown/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/writing/markdown/markdown.png -------------------------------------------------------------------------------- /source/_posts/writing/mp.md: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | title: 微信公众号排版心得 4 | date: 2016-11-21 5 | updated: 2020-06-04 6 | categories: 写作技巧 7 | tags: [微信公众号, 排版, 写作] 8 | 9 | --- 10 | 11 | ![wechat](mp/wechat.png) 12 | 13 | 清爽的排版,能让阅读成为一种享受。 14 | 15 | 16 | 17 | 18 | ## 为何排版 19 | 20 | 古人对于写文章有两个基本要求: 21 | 22 | - **有物**:就是要有内容。 23 | - **有序**:就是要有条理。 24 | 25 | 像我这种无名作者,写的内容没有资历和名气的加持,再不好好雕琢一下,使之干净清爽、条理清晰、便于阅读,不然,读者的阅读兴趣很快就消散了。而且漂亮舒适的排版,不仅能让读者眼睛爽,还能加深对文章的理解。 26 | 27 | 28 | ## 如何排版 29 | 30 | 之所以「庭说」的排版被多人问津,是因为我站在巨人的肩膀上,这位巨人就是「**可能吧**」。当见识了这位巨人的排版之后,我多方模仿实践,终于有一天被我倒腾出来了,之后便开始了我的公众号写作之路。 31 | 32 | 阿禅在 [可能吧的文章是如何排版的?](https://kenengba.com/post/3507.html)(VPN required)提到: 33 | 34 | 1. 排版不仅是锦上添花。 35 | 2. 什么是写作规律? 36 | 3. 为什么我不用任何微信排版器? 37 | 4. 可能吧的文章是如何排版的? 38 | 5. 别依赖模板式教程。 39 | 40 | 「可能吧」采用的是代码级排版,需要花几天时间学习 HTML、CSS、Python 等的基础语法。而我懒,就取巧借助了第三方排版编辑器:秀米。浏览器是 [Chrome](https://tingtalk.me/chrome/),兼容性好,复制、粘贴和同步都不容易出错。 41 | 42 | 43 | ### 留白的艺术 44 | 45 | 请在页面周围大方地留点空间,减少文字太满产生的压迫感,既可以让读者的视线在字里行间游刃有余,又可以让眼球有地方休息。 46 | 47 | - 如果一行文字过长,视线移动距离太长,很难让人注意到段落起点和终点,阅读比较困难 48 | - 如果一行文字过短,眼睛要不停来回扫视,破坏阅读节奏。 49 | 50 | 因此我们可以让内容区的每一行承载合适的字数,来提高易读性和舒适性。秀米相关设置如下: 51 | 52 | - 基础字号(正文字体):14。显得比较秀气。 53 | - 行间距:1.7 倍。行与行之间,就像恋人一样需要适宜的空间,不然会喘不过气来。 54 | - 字间距:2 像素。增大字距,可以让文本更加整洁、易读。 55 | - 页边距:30 像素。在「i 排版」中,这个功能叫缩进。 56 | 57 | 对了,**千万不要首行缩进**,那是纸媒留下来的排版习惯了。参差不齐的字块,宛如缺牙狗啃出来的一样。 58 | 59 | 60 | 61 | ### 调教的学问 62 | 63 | 常言道:「少则得,多则惑,色不过三」,切记全文不要超过三种颜色。如果你难以驾驭配色这门学问,**黑白灰**的性冷淡风格是比较保险的百搭。但是,纯黑的字体有些刺眼,可以换成温和的灰色,也不容易引起阅读疲劳。 64 | 65 | - 标题:先来一段 50 度灰 `RGB(50,50,50)`。 66 | - 正文:再配上一瓶 82 年的拉灰 `RGB (82,82,82)`。 67 | - 点缀:不免单调,可以从头像或 Logo 中提取一个主题色,作为装饰。 68 | 69 | 配色确定了,再调教一下字号: 70 | 71 | - 标题字体:18 号。为了醒目,加粗更佳。 72 | - 正文字体:14 号。文艺青年都喜欢这么干。 73 | 74 | 至此,排版已经搞定 7788 了。 75 | 76 | 77 | 78 | ### 空格的妙用 79 | 80 | 有一个设计圈的笑话:打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦。 有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。 81 | 82 | **中文和英文之间需要增加空格** 83 | ✔:by 一朵遗世独立的小奇葩 84 | ❌:by一朵遗世独立的小奇葩 85 | 86 | **中文和数字之间需要增加空格** 87 | ✔:懂一点污 78 嘿的小知识 88 | ❌:懂一点污78嘿的小知识 89 | 90 | 更多关于空格的艺术,请参阅 [文案风格及排版指南](https://tingtalk.me/style-guide/)。 91 | 92 | 93 | 94 | ## 回归写作 95 | 96 | 「庭说」的公众号就是花了太多时间在排版上了。为了实现**层级缩进**的效果,不惜在秀米排版器中里三层,外三层地套用了六个布局模板,这种排版终究还是太**费神费时**了。 97 | 98 | 更高效的排版方法,非 Markdown 所属。这是一种轻量级的「标记语言」,几分钟就可以学会,省出来的时间,就可以专注于打磨文字。教程请参阅 [Markdown 入门教程及书写风格指南](https://tingtalk.me/markdown/)。 99 | 100 | 用 Markdown 写好之后,把文章复制到以下其中一个转换器: 101 | 102 | - [Markdown Nice](https://mdnice.com/):让微信排版变 Nice,支持自定义主题 CSS 和在文末列出微信外链。 103 | - [微信 Markdown 编辑器](https://doocs.github.io/md/):高度简洁。 104 | - [可能吧公众号 Style 一键转换器](https://knb.im/mp/):老司机禅叔出品。 105 | 106 | 一篇结构清晰,页面美观的佳作就诞生了。 107 | -------------------------------------------------------------------------------- /source/_posts/writing/mp/wechat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/writing/mp/wechat.png -------------------------------------------------------------------------------- /source/_posts/writing/style-guide.assets/image-20201207122815959.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/writing/style-guide.assets/image-20201207122815959.png -------------------------------------------------------------------------------- /source/_posts/writing/style-guide/essay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/_posts/writing/style-guide/essay.png -------------------------------------------------------------------------------- /source/about/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/about/alipay.jpg -------------------------------------------------------------------------------- /source/about/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 关于 3 | date: 2017-07-15 11:03:10 4 | --- 5 | 6 | ## 了解我 7 | 8 | - [我是谁?](https://tingtalk.me/tim/) 9 | - [为什么叫「庭说」?](https://tingtalk.me/brand/) 10 | - [为什么要写博客?](https://tingtalk.me/blog/) 11 | 12 | ## 联系我 13 | 14 | ### 沟通 15 | 16 | - Email:tingtalk.me(at)gmail.com 17 | 18 | - Telegram:[@tingtalkme](https://t.me/tingtalkme) 19 | 20 | - Telegram 群组:[@tingtalk_group](https://t.me/tingtalk_group) 21 | 22 | - 微信号:`tingtalkme`,备注 `博客` 。通过好友申请后,请告诉我是从哪里得知庭说(非必须)。 23 | 24 | ![wechat.jpg](wechat.jpg) 25 | 26 | ### 订阅 27 | 28 | - Telegram 频道:[@tingtalk](https://t.me/tingtalk) 29 | - Newsletter:[tingtalk.substack.com](https://tingtalk.substack.com/) 30 | - Twitter:[@tingtalkme](https://twitter.com/tingtalkme) 31 | - 公众号:扫描下方的二维码,关注「庭说 TingTalk 」。 32 | 33 | ![wechat-mp.jpg](wechat_channel.jpg) 34 | 35 | ## 鼓励我 36 | 37 | 写作是一个字斟句酌(Copy editing)的过程,若非反复查证(Fact-checking),不敢轻易说出口,所以随着访问量的上升,给我带来不小的心理压力。 38 | 39 | 为了维持博客的内容输出: 40 | 41 | - 域名费用大概是每年一百多元。 42 | - 挤占了娱乐的时间:看电影、看连续剧、玩游戏、打篮球等。 43 | - 挤占了挣钱的时间:这些时间本可以做一些有经济收益的工作或者副业。 44 | 45 | 不过,我相信只有「 非功利写作」,才能做到毫无保留。我也相信每个时代都会悄悄犒赏,那些爱学习爱分享的人。你的捐赠,会鼓励作者持续写作,感谢你的慷慨。 46 | 47 | 48 | 49 | ### 间接鼓励我 50 | 51 | #### 浮墨笔记 52 | 53 | 重要的不是记录,而是更好地思考。欢迎注册使用 [flomo](https://flomoapp.com/register2/?MjA5Ng)(邀请码是 `MjA5Ng`),帮你记录更多的想法,让你的记录习惯更加持久,并建立起自己的知识川流(flow + memo)。 54 | 55 | 56 | #### 在线存储 57 | 58 | 邀请朋友加入 [Dropbox](https://db.tt/glXXjeFXJN)(中文名:多宝箱),每当您有一位朋友安装 [Dropbox](https://db.tt/glXXjeFXJN) 时,您和朋友都可以获得 500MB 额外奖励空间。 59 | 60 | 61 | #### 域名注册 62 | 63 | [NameSilo](https://www.namesilo.com/?rid=d1eaf64se ):`tingtalk.me` 就是一个域名。 64 | 65 | #### 服务器 66 | 67 | 备受好评的外贸站空间 [SiteGround](https://www.siteground.com/index.htm?afcode=f1a2ab78644588e68591fe8d53734936)。 68 | 69 | 70 | 71 | ### 直接鼓励我 72 | 73 | 你可以在捐赠备注中留下想说的话,或者需要在本页展示的链接,例如博客、Twitter 等。 74 | 75 | #### PayPal 76 | 77 | 通过 [PayPal](https://paypal.me/WeitingZhong) 给我加鸡腿 🍗。 78 | 79 | #### 赞赏码 80 | 81 | 若是文章对你有帮助,微信 / 支付宝扫描下方赞赏码,给予**小额**鼓励: 82 | 83 | ![wechat-reward.jpg](wechatpay.jpg) 84 | 85 | ![alipay-reward.jpg](alipay.jpg) 86 | 87 | 88 | 89 | | 赞赏时间 | 赞赏者 | 金额 | 留言 | 90 | | ---------------- | -------- | ------: | ------------------------------------------------------------ | 91 | | 2020-02-15 14:08 | WTF | ¥8.88 | | 92 | | 2020-02-25 17:07 | `*雪` | ¥10.00 | 赏你个鸡腿!? | 93 | | 2020-03-01 22:57 | LY | ¥10.00 | 棒棒哒!! | 94 | | 2020-03-23 16:23 | ZXW | ¥5.00 | 搜电报找到你,现在还是登录不了,收不到短信。
但看到你的信仰那篇…… | 95 | | 2020-03-23 22:31 | GJL | ¥20.00 | | 96 | | 2020-03-27 21:19 | 夏月凉团 | ¥5.00 | 排版真不错!看了教程,值得学习。 | 97 | | 2020-03-29 16:10 | [Ynewtime](https://www.ynewtime.com/) | ¥10.00 | 👍 | 98 | | 2020-03-31 21:47 | 匿名 | ¥2.00 | 感谢您的教程! | 99 | | 2020-04-02 21:47 | 玉奇 | ¥30.00 | 喝杯咖啡。 | 100 | | 2020-04-05 17:24 | `_PATTI_` | ¥0.01 | | 101 | | 2020-04-07 00:43 | `ㅤ` | ¥1.00 | 保持好奇心,向您学习。 | 102 | | 2020-04-23 23:42 | 杰克浚~ | ¥10.00 | 开放、自由、合作、共享。谢谢你。 | 103 | | 2020-04-30 21:44 | 小丑(GZC) | ¥5.20 | 一切美好的事物都值得 520。感谢你朋友圈的照片,感受到浓浓生活气息。 | 104 | | 2020-05-27 18:22 | 匿名 | ¥2.00 | 长满白头发一定是骗人的。 | 105 | | 2020-06-09 11:14 | 水泽节 | ¥10.00 | 感谢您的分享教程。博客很漂亮。持此愿投赠,仅一小钱。祝好! | 106 | | 2020-06-09 15:48 | 匿名 | ¥2.00 | Thanks。 | 107 | | 2020-07-08 21:05 | 运生 | ¥5.00 | | 108 | | 2020-08-28 09:39 | 商海泛舟 | ¥10.00 | 感谢。 | 109 | | 2020-09-19 01:15 | **祥 | ¥2.00 | 用心分享,十分感谢。 | 110 | | 2020-09-19 12:39 | **富 | ¥10.24 | 你明天的早操我包了,请你吃个豪华的。 | 111 | | 2020-10-02 20:21 | CancerGary | ¥10.00 | 写得好。 | 112 | | 2020-10-10 11:17 | **剑 | ¥2.00 | | 113 | | 2020-10-21 13:22 | **坤 | ¥10.00 | 遇见同类真好! | 114 | | 2020-11-17 02:01 | 世俗 | ¥1.00 | | 115 | | 2020-11-21 09:30 | 枇杷木 | ¥5.00 | 干活满满!感谢 ❤ | 116 | | 2020-11-26 19:40 | **然 | ¥2.00 | | 117 | | 2020-11-30 18:14 | [一嘉之盐糖](https://jiapeng.me/) | ¥20.00 | 博客很赞! | 118 | | 2021-01-31 13:31 | *希 | ¥3.00 | | 119 | | 2021-02-04 00:54 | LightHouse | ¥8.00 | 研究 TG 认识你,发现李志、特德・姜、Serendipity 等,感谢。 | 120 | | 2021-02-05 14:51 | 星星入了眼 | ¥1.88 | | 121 | | 2021-02-10 16:48 | [君子的梦呓](https://lbjheiheihei.xyz/) | ¥1.88 | 赞,注册了美区账号给我表姐用 🤣。 | 122 | | 2021-03-12 09:19 | 陈年大枣 | ¥1.00 | 小小心意,不成敬意。 | 123 | | 2021-04-02 22:00 | **杰 | ¥19.00 | | 124 | | 2021-05-05 19:08 | SJX | ¥10.00 | 😋 | 125 | | 2021-05-31 14:03 | 匿名 | ¥5.00 | 一介书生,无它,谢谢! | 126 | | 2021-06-11 23:40 | *浩 | ¥50.00 | 付出总是有回报的,谢谢分享。 | 127 | 128 | 捐赠只是一种支持的形式,你有意义的评论、邮件或任何反馈我都欢迎。 129 | 130 | -------------------------------------------------------------------------------- /source/about/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/about/wechat.jpg -------------------------------------------------------------------------------- /source/about/wechat_channel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/about/wechat_channel.jpg -------------------------------------------------------------------------------- /source/about/wechatpay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/about/wechatpay.jpg -------------------------------------------------------------------------------- /source/ads.txt: -------------------------------------------------------------------------------- 1 | google.com, pub-5917720111786469, DIRECT, f08c47fec0942fa0 -------------------------------------------------------------------------------- /source/categories/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 分类 3 | date: 2018-06-25 20:53:27 4 | type: "categories" 5 | 6 | --- 7 | 8 | -------------------------------------------------------------------------------- /source/images/alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/alipay.jpg -------------------------------------------------------------------------------- /source/images/alipay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/alipay.png -------------------------------------------------------------------------------- /source/images/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-144x144.png -------------------------------------------------------------------------------- /source/images/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-192x192.png -------------------------------------------------------------------------------- /source/images/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-36x36.png -------------------------------------------------------------------------------- /source/images/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-48x48.png -------------------------------------------------------------------------------- /source/images/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-72x72.png -------------------------------------------------------------------------------- /source/images/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/android-icon-96x96.png -------------------------------------------------------------------------------- /source/images/apple-touch-icon-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/apple-touch-icon-next.png -------------------------------------------------------------------------------- /source/images/avatar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/avatar.gif -------------------------------------------------------------------------------- /source/images/avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/avatar.png -------------------------------------------------------------------------------- /source/images/favicon-16x16-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/favicon-16x16-next.png -------------------------------------------------------------------------------- /source/images/favicon-32x32-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/favicon-32x32-next.png -------------------------------------------------------------------------------- /source/images/logo.svg: -------------------------------------------------------------------------------- 1 | TT -------------------------------------------------------------------------------- /source/images/reward.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/reward.jpg -------------------------------------------------------------------------------- /source/images/wechat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/wechat.jpg -------------------------------------------------------------------------------- /source/images/wechat_channel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/wechat_channel.jpg -------------------------------------------------------------------------------- /source/images/wechat_mp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/wechat_mp.jpg -------------------------------------------------------------------------------- /source/images/wechatpay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/wechatpay.jpg -------------------------------------------------------------------------------- /source/images/wechatpay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/source/images/wechatpay.png -------------------------------------------------------------------------------- /source/tags/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 标签 3 | date: 2019-10-26 00:41:28 4 | type: "tags" 5 | --- 6 | -------------------------------------------------------------------------------- /themes/landscape/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | tmp -------------------------------------------------------------------------------- /themes/landscape/Gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function(grunt){ 2 | grunt.initConfig({ 3 | gitclone: { 4 | fontawesome: { 5 | options: { 6 | repository: 'https://github.com/FortAwesome/Font-Awesome.git', 7 | directory: 'tmp/fontawesome' 8 | }, 9 | }, 10 | fancybox: { 11 | options: { 12 | repository: 'https://github.com/fancyapps/fancyBox.git', 13 | directory: 'tmp/fancybox' 14 | } 15 | } 16 | }, 17 | copy: { 18 | fontawesome: { 19 | expand: true, 20 | cwd: 'tmp/fontawesome/fonts/', 21 | src: ['**'], 22 | dest: 'source/css/fonts/' 23 | }, 24 | fancybox: { 25 | expand: true, 26 | cwd: 'tmp/fancybox/source/', 27 | src: ['**'], 28 | dest: 'source/fancybox/' 29 | } 30 | }, 31 | _clean: { 32 | tmp: ['tmp'], 33 | fontawesome: ['source/css/fonts'], 34 | fancybox: ['source/fancybox'] 35 | } 36 | }); 37 | 38 | require('load-grunt-tasks')(grunt); 39 | 40 | grunt.renameTask('clean', '_clean'); 41 | 42 | grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']); 43 | grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']); 44 | grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']); 45 | grunt.registerTask('clean', ['_clean']); 46 | }; -------------------------------------------------------------------------------- /themes/landscape/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Tommy Chen 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /themes/landscape/README.md: -------------------------------------------------------------------------------- 1 | # Landscape 2 | 3 | A brand new default theme for [Hexo]. 4 | 5 | - [Preview](http://hexo.io/hexo-theme-landscape/) 6 | 7 | ## Installation 8 | 9 | ### Install 10 | 11 | ``` bash 12 | $ git clone https://github.com/hexojs/hexo-theme-landscape.git themes/landscape 13 | ``` 14 | 15 | **Landscape requires Hexo 2.4 and above.** If you would like to enable the RSS, the [hexo-generate-feed] plugin is also required. 16 | 17 | ### Enable 18 | 19 | Modify `theme` setting in `_config.yml` to `landscape`. 20 | 21 | ### Update 22 | 23 | ``` bash 24 | cd themes/landscape 25 | git pull 26 | ``` 27 | 28 | ## Configuration 29 | 30 | ``` yml 31 | # Header 32 | menu: 33 | Home: / 34 | Archives: /archives 35 | rss: /atom.xml 36 | 37 | # Content 38 | excerpt_link: Read More 39 | fancybox: true 40 | 41 | # Sidebar 42 | sidebar: right 43 | widgets: 44 | - category 45 | - tag 46 | - tagcloud 47 | - archives 48 | - recent_posts 49 | 50 | # Miscellaneous 51 | google_analytics: 52 | favicon: /favicon.png 53 | twitter: 54 | google_plus: 55 | ``` 56 | 57 | - **menu** - Navigation menu 58 | - **rss** - RSS link 59 | - **excerpt_link** - "Read More" link at the bottom of excerpted articles. `false` to hide the link. 60 | - **fancybox** - Enable [Fancybox] 61 | - **sidebar** - Sidebar style. You can choose `left`, `right`, `bottom` or `false`. 62 | - **widgets** - Widgets displaying in sidebar 63 | - **google_analytics** - Google Analytics ID 64 | - **favicon** - Favicon path 65 | - **twitter** - Twiiter ID 66 | - **google_plus** - Google+ ID 67 | 68 | ## Features 69 | 70 | ### Fancybox 71 | 72 | Landscape uses [Fancybox] to showcase your photos. You can use Markdown syntax or fancybox tag plugin to add your photos. 73 | 74 | ``` 75 | ![img caption](img url) 76 | 77 | {% fancybox img_url [img_thumbnail] [img_caption] %} 78 | ``` 79 | 80 | ### Sidebar 81 | 82 | You can put your sidebar in left side, right side or bottom of your site by editing `sidebar` setting. 83 | 84 | Landscape provides 5 built-in widgets: 85 | 86 | - category 87 | - tag 88 | - tagcloud 89 | - archives 90 | - recent_posts 91 | 92 | All of them are enabled by default. You can edit them in `widget` setting. 93 | 94 | ## Development 95 | 96 | ### Requirements 97 | 98 | - [Grunt] 0.4+ 99 | - Hexo 2.4+ 100 | 101 | ### Grunt tasks 102 | 103 | - **default** - Download [Fancybox] and [Font Awesome]. 104 | - **fontawesome** - Only download [Font Awesome]. 105 | - **fancybox** - Only download [Fancybox]. 106 | - **clean** - Clean temporarily files and downloaded files. 107 | 108 | [Hexo]: https://hexo.io/ 109 | [Fancybox]: http://fancyapps.com/fancybox/ 110 | [Font Awesome]: http://fontawesome.io/ 111 | [Grunt]: http://gruntjs.com/ 112 | [hexo-generate-feed]: https://github.com/hexojs/hexo-generator-feed 113 | -------------------------------------------------------------------------------- /themes/landscape/_config.yml: -------------------------------------------------------------------------------- 1 | # Header 2 | menu: 3 | Home: / 4 | Archives: /archives 5 | rss: /atom.xml 6 | 7 | # Content 8 | excerpt_link: Read More 9 | fancybox: true 10 | 11 | # Sidebar 12 | sidebar: right 13 | widgets: 14 | - category 15 | - tag 16 | - tagcloud 17 | - archive 18 | - recent_posts 19 | 20 | # display widgets at the bottom of index pages (pagination == 2) 21 | index_widgets: 22 | # - category 23 | # - tagcloud 24 | # - archive 25 | 26 | # widget behavior 27 | archive_type: 'monthly' 28 | show_count: false 29 | 30 | # Miscellaneous 31 | google_analytics: 32 | gauges_analytics: 33 | favicon: /favicon.png 34 | twitter: 35 | google_plus: 36 | fb_admins: 37 | fb_app_id: 38 | -------------------------------------------------------------------------------- /themes/landscape/languages/de.yml: -------------------------------------------------------------------------------- 1 | categories: Kategorien 2 | search: Suche 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: zurück 7 | next: weiter 8 | comment: Kommentare 9 | archive_a: Archiv 10 | archive_b: "Archive: %s" 11 | page: Seite %d 12 | recent_posts: letzter Beitrag 13 | newer: Neuer 14 | older: Älter 15 | share: Teilen 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Kategorie 19 | tag: Tag 20 | -------------------------------------------------------------------------------- /themes/landscape/languages/default.yml: -------------------------------------------------------------------------------- 1 | categories: Categories 2 | search: Search 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Prev 7 | next: Next 8 | comment: Comments 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: Page %d 12 | recent_posts: Recent Posts 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag -------------------------------------------------------------------------------- /themes/landscape/languages/es.yml: -------------------------------------------------------------------------------- 1 | categories: Categorías 2 | search: Buscar 3 | tags: Tags 4 | tagcloud: Nube de Tags 5 | tweets: Tweets 6 | prev: Previo 7 | next: Siguiente 8 | comment: Comentarios 9 | archive_a: Archivos 10 | archive_b: "Archivos: %s" 11 | page: Página %d 12 | recent_posts: Posts recientes 13 | newer: Nuevo 14 | older: Viejo 15 | share: Compartir 16 | powered_by: Construido por 17 | rss_feed: RSS 18 | category: Categoría 19 | tag: Tag -------------------------------------------------------------------------------- /themes/landscape/languages/fr.yml: -------------------------------------------------------------------------------- 1 | categories: Catégories 2 | search: Rechercher 3 | tags: Mot-clés 4 | tagcloud: Nuage de mot-clés 5 | tweets: Tweets 6 | prev: Précédent 7 | next: Suivant 8 | comment: Commentaires 9 | archive_a: Archives 10 | archive_b: "Archives: %s" 11 | page: Page %d 12 | recent_posts: Articles récents 13 | newer: Récent 14 | older: Ancien 15 | share: Partager 16 | powered_by: Propulsé par 17 | rss_feed: Flux RSS 18 | category: Catégorie 19 | tag: Mot-clé 20 | -------------------------------------------------------------------------------- /themes/landscape/languages/ja.yml: -------------------------------------------------------------------------------- 1 | categories: カテゴリ 2 | search: 検索 3 | tags: タグ 4 | tagcloud: タグクラウド 5 | tweets: ツイート 6 | prev: 戻る 7 | next: 次へ 8 | comment: コメント 9 | archive_a: アーカイブ 10 | archive_b: "アーカイブ: %s" 11 | page: ページ %d 12 | recent_posts: 最近の投稿 13 | newer: 次の記事 14 | older: 前の記事 15 | share: 共有 16 | powered_by: Powered by 17 | rss_feed: RSSフィード 18 | category: カテゴリ 19 | tag: タグ 20 | -------------------------------------------------------------------------------- /themes/landscape/languages/ko.yml: -------------------------------------------------------------------------------- 1 | categories: 카테고리 2 | search: 검색 3 | tags: 태그 4 | tagcloud: 태그 클라우드 5 | tweets: 트윗 6 | prev: 이전 7 | next: 다음 8 | comment: 댓글 9 | archive_a: 아카이브 10 | archive_b: "아카이브: %s" 11 | page: 페이지 %d 12 | recent_posts: 최근 포스트 13 | newer: 최신 14 | older: 이전 15 | share: 공유 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: 카테고리 19 | tag: 태그 20 | -------------------------------------------------------------------------------- /themes/landscape/languages/nl.yml: -------------------------------------------------------------------------------- 1 | 2 | categories: Categorieën 3 | search: Zoeken 4 | tags: Labels 5 | tagcloud: Tag Cloud 6 | tweets: Tweets 7 | prev: Vorige 8 | next: Volgende 9 | comment: Commentaren 10 | archive_a: Archieven 11 | archive_b: "Archieven: %s" 12 | page: Pagina %d 13 | recent_posts: Recente berichten 14 | newer: Nieuwer 15 | older: Ouder 16 | share: Delen 17 | powered_by: Powered by 18 | rss_feed: RSS Feed 19 | category: Categorie 20 | tag: Label 21 | -------------------------------------------------------------------------------- /themes/landscape/languages/no.yml: -------------------------------------------------------------------------------- 1 | categories: Kategorier 2 | search: Søk 3 | tags: Tags 4 | tagcloud: Tag Cloud 5 | tweets: Tweets 6 | prev: Forrige 7 | next: Neste 8 | comment: Kommentarer 9 | archive_a: Arkiv 10 | archive_b: "Arkiv: %s" 11 | page: Side %d 12 | recent_posts: Siste innlegg 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag -------------------------------------------------------------------------------- /themes/landscape/languages/pt.yml: -------------------------------------------------------------------------------- 1 | categories: Categorias 2 | search: Buscar 3 | tags: Tags 4 | tagcloud: Nuvem de Tags 5 | tweets: Tweets 6 | prev: Anterior 7 | next: Próximo 8 | comment: Comentários 9 | archive_a: Arquivos 10 | archive_b: "Arquivos: %s" 11 | page: Página %d 12 | recent_posts: Postagens Recentes 13 | newer: Mais Recente 14 | older: Mais Antigo 15 | share: Compartilhar 16 | powered_by: Desenvolvido por 17 | rss_feed: Feed RSS 18 | category: Categoria 19 | tag: Tag 20 | -------------------------------------------------------------------------------- /themes/landscape/languages/ru.yml: -------------------------------------------------------------------------------- 1 | categories: Категории 2 | search: Поиск 3 | tags: Метки 4 | tagcloud: Облако меток 5 | tweets: Твиты 6 | prev: Назад 7 | next: Вперед 8 | comment: Комментарии 9 | archive_a: Архив 10 | archive_b: "Архив: %s" 11 | page: Страница %d 12 | recent_posts: Недавние записи 13 | newer: Следующий 14 | older: Предыдущий 15 | share: Поделиться 16 | powered_by: Создано с помощью 17 | rss_feed: RSS-каналы 18 | category: Категория 19 | tag: Метка -------------------------------------------------------------------------------- /themes/landscape/languages/zh-CN.yml: -------------------------------------------------------------------------------- 1 | categories: 分类 2 | search: 搜索 3 | tags: 标签 4 | tagcloud: 标签云 5 | tweets: 推文 6 | prev: 上一页 7 | next: 下一页 8 | comment: 留言 9 | archive_a: 归档 10 | archive_b: 归档:%s 11 | page: 第 %d 页 12 | recent_posts: 最新文章 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag -------------------------------------------------------------------------------- /themes/landscape/languages/zh-TW.yml: -------------------------------------------------------------------------------- 1 | categories: 分類 2 | search: 搜尋 3 | tags: 標籤 4 | tagcloud: 標籤雲 5 | tweets: 推文 6 | prev: 上一頁 7 | next: 下一頁 8 | comment: 留言 9 | archive_a: 彙整 10 | archive_b: 彙整:%s 11 | page: 第 %d 頁 12 | recent_posts: 最新文章 13 | newer: Newer 14 | older: Older 15 | share: Share 16 | powered_by: Powered by 17 | rss_feed: RSS Feed 18 | category: Category 19 | tag: Tag -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/after-footer.ejs: -------------------------------------------------------------------------------- 1 | <% if (config.disqus_shortname){ %> 2 | 15 | <% } %> 16 | 17 | 18 | 19 | <% if (theme.fancybox){ %> 20 | <%- css('fancybox/jquery.fancybox') %> 21 | <%- js('fancybox/jquery.fancybox.pack') %> 22 | <% } %> 23 | 24 | <%- js('js/script') %> 25 | <%- partial('gauges-analytics') %> 26 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/archive-post.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %> 5 | <%- partial('post/title', {class_name: 'archive-article-title'}) %> 6 |
7 |
8 |
-------------------------------------------------------------------------------- /themes/landscape/layout/_partial/archive.ejs: -------------------------------------------------------------------------------- 1 | <% if (pagination == 2){ %> 2 | <% page.posts.each(function(post){ %> 3 | <%- partial('article', {post: post, index: true}) %> 4 | <% }) %> 5 | <% } else { %> 6 | <% var last; %> 7 | <% page.posts.each(function(post, i){ %> 8 | <% var year = post.date.year(); %> 9 | <% if (last != year){ %> 10 | <% if (last != null){ %> 11 | 12 | <% } %> 13 | <% last = year; %> 14 |
15 |
16 | <%= year %> 17 |
18 |
19 | <% } %> 20 | <%- partial('archive-post', {post: post, even: i % 2 == 0}) %> 21 | <% }) %> 22 | <% if (page.posts.length){ %> 23 |
24 | <% } %> 25 | <% } %> 26 | <% if (page.total > 1){ %> 27 | 34 | <% } %> 35 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/article.ejs: -------------------------------------------------------------------------------- 1 |
2 |
3 | <%- partial('post/date', {class_name: 'article-date', date_format: null}) %> 4 | <%- partial('post/category') %> 5 |
6 |
7 | <%- partial('post/gallery') %> 8 | <% if (post.link || post.title){ %> 9 |
10 | <%- partial('post/title', {class_name: 'article-title'}) %> 11 |
12 | <% } %> 13 |
14 | <% if (post.excerpt && index){ %> 15 | <%- post.excerpt %> 16 | <% if (theme.excerpt_link){ %> 17 |

18 | <%= theme.excerpt_link %> 19 |

20 | <% } %> 21 | <% } else { %> 22 | <%- post.content %> 23 | <% } %> 24 |
25 | 32 |
33 | <% if (!index){ %> 34 | <%- partial('post/nav') %> 35 | <% } %> 36 |
37 | 38 | <% if (!index && post.comments && config.disqus_shortname){ %> 39 |
40 |
41 | 42 |
43 |
44 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/footer.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/gauges-analytics.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.gauges_analytics){ %> 2 | 3 | 17 | 18 | <% } %> 19 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/google-analytics.ejs: -------------------------------------------------------------------------------- 1 | <% if (theme.google_analytics){ %> 2 | 3 | 13 | 14 | <% } %> 15 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/head.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | <%- partial('google-analytics') %> 6 | <% 7 | var title = page.title; 8 | 9 | if (is_archive()){ 10 | title = __('archive_a'); 11 | 12 | if (is_month()){ 13 | title += ': ' + page.year + '/' + page.month; 14 | } else if (is_year()){ 15 | title += ': ' + page.year; 16 | } 17 | } else if (is_category()){ 18 | title = __('category') + ': ' + page.category; 19 | } else if (is_tag()){ 20 | title = __('tag') + ': ' + page.tag; 21 | } 22 | %> 23 | <% if (title){ %><%= title %> | <% } %><%= config.title %> 24 | 25 | <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %> 26 | <% if (theme.rss){ %> 27 | 28 | <% } %> 29 | <% if (theme.favicon){ %> 30 | 31 | <% } %> 32 | <% if (config.highlight.enable){ %> 33 | 34 | <% } %> 35 | <%- css('css/style') %> 36 | 37 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/header.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/mobile-nav.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/category.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.categories && post.categories.length){ %> 2 |
3 | <%- list_categories(post.categories, { 4 | show_count: false, 5 | class: 'article-category', 6 | style: 'none', 7 | separator: '►' 8 | }) %> 9 |
10 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/date.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/gallery.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.photos && post.photos.length){ %> 2 |
3 |
4 | <% post.photos.forEach(function(photo, i){ %> 5 | 6 | 7 | 8 | <% }) %> 9 |
10 |
11 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/nav.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.prev || post.next){ %> 2 | 22 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/tag.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.tags && post.tags.length){ %> 2 | <%- list_tags(post.tags, { 3 | show_count: false, 4 | class: 'article-tag' 5 | }) %> 6 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/post/title.ejs: -------------------------------------------------------------------------------- 1 | <% if (post.link){ %> 2 |

3 | 4 |

5 | <% } else if (post.title){ %> 6 | <% if (index){ %> 7 |

8 | <%= post.title %> 9 |

10 | <% } else { %> 11 |

12 | <%= post.title %> 13 |

14 | <% } %> 15 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_partial/sidebar.ejs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /themes/landscape/layout/_widget/archive.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.posts.length){ %> 2 |
3 |

<%= __('archive_a') %>

4 |
5 | <%- list_archives({show_count: theme.show_count, type: theme.archive_type}) %> 6 |
7 |
8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/landscape/layout/_widget/category.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.categories.length){ %> 2 |
3 |

<%= __('categories') %>

4 |
5 | <%- list_categories({show_count: theme.show_count}) %> 6 |
7 |
8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/landscape/layout/_widget/recent_posts.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.posts.length){ %> 2 |
3 |

<%= __('recent_posts') %>

4 |
5 | 12 |
13 |
14 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/_widget/tag.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.tags.length){ %> 2 |
3 |

<%= __('tags') %>

4 |
5 | <%- list_tags({show_count: theme.show_count}) %> 6 |
7 |
8 | <% } %> 9 | -------------------------------------------------------------------------------- /themes/landscape/layout/_widget/tagcloud.ejs: -------------------------------------------------------------------------------- 1 | <% if (site.tags.length){ %> 2 |
3 |

<%= __('tagcloud') %>

4 |
5 | <%- tagcloud() %> 6 |
7 |
8 | <% } %> -------------------------------------------------------------------------------- /themes/landscape/layout/archive.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.archive, index: true}) %> -------------------------------------------------------------------------------- /themes/landscape/layout/category.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.category, index: true}) %> -------------------------------------------------------------------------------- /themes/landscape/layout/index.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: 2, index: true}) %> -------------------------------------------------------------------------------- /themes/landscape/layout/layout.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/head') %> 2 | 3 |
4 |
5 | <%- partial('_partial/header', null, {cache: !config.relative_link}) %> 6 |
7 |
<%- body %>
8 | <% if (theme.sidebar && theme.sidebar !== 'bottom'){ %> 9 | <%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %> 10 | <% } %> 11 |
12 | <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> 13 |
14 | <%- partial('_partial/mobile-nav', null, {cache: !config.relative_link}) %> 15 | <%- partial('_partial/after-footer') %> 16 |
17 | 18 | -------------------------------------------------------------------------------- /themes/landscape/layout/page.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {post: page, index: false}) %> -------------------------------------------------------------------------------- /themes/landscape/layout/post.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/article', {post: page, index: false}) %> -------------------------------------------------------------------------------- /themes/landscape/layout/tag.ejs: -------------------------------------------------------------------------------- 1 | <%- partial('_partial/archive', {pagination: config.tag, index: true}) %> -------------------------------------------------------------------------------- /themes/landscape/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hexo-theme-landscape", 3 | "version": "0.0.2", 4 | "private": true, 5 | "devDependencies": { 6 | "grunt": "~0.4.2", 7 | "load-grunt-tasks": "~0.2.0", 8 | "grunt-git": "~0.2.2", 9 | "grunt-contrib-clean": "~0.5.0", 10 | "grunt-contrib-copy": "~0.4.1" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /themes/landscape/scripts/fancybox.js: -------------------------------------------------------------------------------- 1 | var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/; 2 | 3 | /** 4 | * Fancybox tag 5 | * 6 | * Syntax: 7 | * {% fancybox /path/to/image [/path/to/thumbnail] [title] %} 8 | */ 9 | 10 | hexo.extend.tag.register('fancybox', function(args){ 11 | var original = args.shift(), 12 | thumbnail = ''; 13 | 14 | if (args.length && rUrl.test(args[0])){ 15 | thumbnail = args.shift(); 16 | } 17 | 18 | var title = args.join(' '); 19 | 20 | return '' + 21 | '' + title + '' 22 | '' + 23 | (title ? '' + title + '' : ''); 24 | }); -------------------------------------------------------------------------------- /themes/landscape/source/css/_extend.styl: -------------------------------------------------------------------------------- 1 | $block-caption 2 | text-decoration: none 3 | text-transform: uppercase 4 | letter-spacing: 2px 5 | color: color-grey 6 | margin-bottom: 1em 7 | margin-left: 5px 8 | line-height: 1em 9 | text-shadow: 0 1px #fff 10 | font-weight: bold 11 | 12 | $block 13 | background: #fff 14 | box-shadow: 1px 2px 3px #ddd 15 | border: 1px solid color-border 16 | border-radius: 3px 17 | 18 | $base-style 19 | h1 20 | font-size: 2em 21 | h2 22 | font-size: 1.5em 23 | h3 24 | font-size: 1.3em 25 | h4 26 | font-size: 1.2em 27 | h5 28 | font-size: 1em 29 | h6 30 | font-size: 1em 31 | color: color-grey 32 | hr 33 | border: 1px dashed color-border 34 | strong 35 | font-weight: bold 36 | em, cite 37 | font-style: italic 38 | sup, sub 39 | font-size: 0.75em 40 | line-height: 0 41 | position: relative 42 | vertical-align: baseline 43 | sup 44 | top: -0.5em 45 | sub 46 | bottom: -0.2em 47 | small 48 | font-size: 0.85em 49 | acronym, abbr 50 | border-bottom: 1px dotted 51 | ul, ol, dl 52 | margin: 0 20px 53 | line-height: line-height 54 | ul, ol 55 | ul, ol 56 | margin-top: 0 57 | margin-bottom: 0 58 | ul 59 | list-style: disc 60 | ol 61 | list-style: decimal 62 | dt 63 | font-weight: bold -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/archive.styl: -------------------------------------------------------------------------------- 1 | .archives-wrap 2 | margin: block-margin 0 3 | 4 | .archives 5 | clearfix() 6 | 7 | .archive-year-wrap 8 | margin-bottom: 1em 9 | 10 | .archive-year 11 | @extend $block-caption 12 | 13 | .archives 14 | column-gap: 10px 15 | @media mq-tablet 16 | column-count: 2 17 | @media mq-normal 18 | column-count: 3 19 | 20 | .archive-article 21 | avoid-column-break() 22 | 23 | .archive-article-inner 24 | @extend $block 25 | padding: 10px 26 | margin-bottom: 15px 27 | 28 | .archive-article-title 29 | text-decoration: none 30 | font-weight: bold 31 | color: color-default 32 | transition: color 0.2s 33 | line-height: line-height 34 | &:hover 35 | color: color-link 36 | 37 | .archive-article-footer 38 | margin-top: 1em 39 | 40 | .archive-article-date 41 | color: color-grey 42 | text-decoration: none 43 | font-size: 0.85em 44 | line-height: 1em 45 | margin-bottom: 0.5em 46 | display: block 47 | 48 | #page-nav 49 | clearfix() 50 | margin: block-margin auto 51 | background: #fff 52 | box-shadow: 1px 2px 3px #ddd 53 | border: 1px solid color-border 54 | border-radius: 3px 55 | text-align: center 56 | color: color-grey 57 | overflow: hidden 58 | a, span 59 | padding: 10px 20px 60 | line-height: 1 61 | height: 2ex 62 | a 63 | color: color-grey 64 | text-decoration: none 65 | &:hover 66 | background: color-grey 67 | color: #fff 68 | .prev 69 | float: left 70 | .next 71 | float: right 72 | .page-number 73 | display: inline-block 74 | @media mq-mobile 75 | display: none 76 | .current 77 | color: color-default 78 | font-weight: bold 79 | .space 80 | color: color-border -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/comment.styl: -------------------------------------------------------------------------------- 1 | #comments 2 | background: #fff 3 | box-shadow: 1px 2px 3px #ddd 4 | padding: article-padding 5 | border: 1px solid color-border 6 | border-radius: 3px 7 | margin: block-margin 0 8 | a 9 | color: color-link -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/footer.styl: -------------------------------------------------------------------------------- 1 | #footer 2 | background: color-footer-background 3 | padding: 50px 0 4 | border-top: 1px solid color-border 5 | color: color-grey 6 | a 7 | color: color-link 8 | text-decoration: none 9 | &:hover 10 | text-decoration: underline 11 | 12 | #footer-info 13 | line-height: line-height 14 | font-size: 0.85em -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/header.styl: -------------------------------------------------------------------------------- 1 | #header 2 | height: banner-height 3 | position: relative 4 | border-bottom: 1px solid color-border 5 | &:before, &:after 6 | content: "" 7 | position: absolute 8 | left: 0 9 | right: 0 10 | height: 40px 11 | &:before 12 | top: 0 13 | background: linear-gradient(rgba(0, 0, 0, 0.2), transparent) 14 | &:after 15 | bottom: 0 16 | background: linear-gradient(transparent, rgba(0, 0, 0, 0.2)) 17 | 18 | #header-outer 19 | height: 100% 20 | position: relative 21 | 22 | #header-inner 23 | position: relative 24 | overflow: hidden 25 | 26 | #banner 27 | position: absolute 28 | top: 0 29 | left: 0 30 | width: 100% 31 | height: 100% 32 | background: url(banner-url) center #000 33 | background-size: cover 34 | z-index: -1 35 | 36 | #header-title 37 | text-align: center 38 | height: logo-size 39 | position: absolute 40 | top: 50% 41 | left: 0 42 | margin-top: logo-size * -0.5 43 | 44 | $logo-text 45 | text-decoration: none 46 | color: #fff 47 | font-weight: 300 48 | text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) 49 | 50 | #logo 51 | @extend $logo-text 52 | font-size: logo-size 53 | line-height: logo-size 54 | letter-spacing: 2px 55 | 56 | #subtitle 57 | @extend $logo-text 58 | font-size: subtitle-size 59 | line-height: subtitle-size 60 | letter-spacing: 1px 61 | 62 | #subtitle-wrap 63 | margin-top: subtitle-size 64 | 65 | #main-nav 66 | float: left 67 | margin-left: -15px 68 | 69 | $nav-link 70 | float: left 71 | color: #fff 72 | opacity: 0.6 73 | text-decoration: none 74 | text-shadow: 0 1px rgba(0, 0, 0, 0.2) 75 | transition: opacity 0.2s 76 | display: block 77 | padding: 20px 15px 78 | &:hover 79 | opacity: 1 80 | 81 | .nav-icon 82 | @extend $nav-link 83 | font-family: font-icon 84 | text-align: center 85 | font-size: font-size 86 | width: font-size 87 | height: font-size 88 | padding: 20px 15px 89 | position: relative 90 | cursor: pointer 91 | 92 | .main-nav-link 93 | @extend $nav-link 94 | font-weight: 300 95 | letter-spacing: 1px 96 | @media mq-mobile 97 | display: none 98 | 99 | #main-nav-toggle 100 | display: none 101 | &:before 102 | content: "\f0c9" 103 | @media mq-mobile 104 | display: block 105 | 106 | #sub-nav 107 | float: right 108 | margin-right: -15px 109 | 110 | #nav-rss-link 111 | &:before 112 | content: "\f09e" 113 | 114 | #nav-search-btn 115 | &:before 116 | content: "\f002" 117 | 118 | #search-form-wrap 119 | position: absolute 120 | top: 15px 121 | width: 150px 122 | height: 30px 123 | right: -150px 124 | opacity: 0 125 | transition: 0.2s ease-out 126 | &.on 127 | opacity: 1 128 | right: 0 129 | @media mq-mobile 130 | width: 100% 131 | right: -100% 132 | 133 | .search-form 134 | position: absolute 135 | top: 0 136 | left: 0 137 | right: 0 138 | background: #fff 139 | padding: 5px 15px 140 | border-radius: 15px 141 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) 142 | 143 | .search-form-input 144 | border: none 145 | background: none 146 | color: color-default 147 | width: 100% 148 | font: 13px font-sans 149 | outline: none 150 | &::-webkit-search-results-decoration 151 | &::-webkit-search-cancel-button 152 | -webkit-appearance: none 153 | 154 | .search-form-submit 155 | position: absolute 156 | top: 50% 157 | right: 10px 158 | margin-top: -7px 159 | font: 13px font-icon 160 | border: none 161 | background: none 162 | color: #bbb 163 | cursor: pointer 164 | &:hover, &:focus 165 | color: #777 -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/highlight.styl: -------------------------------------------------------------------------------- 1 | // https://github.com/chriskempson/tomorrow-theme 2 | highlight-background = #2d2d2d 3 | highlight-current-line = #393939 4 | highlight-selection = #515151 5 | highlight-foreground = #cccccc 6 | highlight-comment = #999999 7 | highlight-red = #f2777a 8 | highlight-orange = #f99157 9 | highlight-yellow = #ffcc66 10 | highlight-green = #99cc99 11 | highlight-aqua = #66cccc 12 | highlight-blue = #6699cc 13 | highlight-purple = #cc99cc 14 | 15 | $code-block 16 | background: highlight-background 17 | margin: 0 article-padding * -1 18 | padding: 15px article-padding 19 | border-style: solid 20 | border-color: color-border 21 | border-width: 1px 0 22 | overflow: auto 23 | color: highlight-foreground 24 | line-height: font-size * line-height 25 | 26 | $line-numbers 27 | color: #666 28 | font-size: 0.85em 29 | 30 | .article-entry 31 | pre, code 32 | font-family: font-mono 33 | code 34 | background: color-background 35 | text-shadow: 0 1px #fff 36 | padding: 0 0.3em 37 | pre 38 | @extend $code-block 39 | code 40 | background: none 41 | text-shadow: none 42 | padding: 0 43 | .highlight 44 | @extend $code-block 45 | pre 46 | border: none 47 | margin: 0 48 | padding: 0 49 | table 50 | margin: 0 51 | width: auto 52 | td 53 | border: none 54 | padding: 0 55 | figcaption 56 | clearfix() 57 | font-size: 0.85em 58 | color: highlight-comment 59 | line-height: 1em 60 | margin-bottom: 1em 61 | a 62 | float: right 63 | .gutter pre 64 | @extend $line-numbers 65 | text-align: right 66 | padding-right: 20px 67 | .line 68 | height: font-size * line-height 69 | .line.marked 70 | background: highlight-selection 71 | .gist 72 | margin: 0 article-padding * -1 73 | border-style: solid 74 | border-color: color-border 75 | border-width: 1px 0 76 | background: highlight-background 77 | padding: 15px article-padding 15px 0 78 | .gist-file 79 | border: none 80 | font-family: font-mono 81 | margin: 0 82 | .gist-data 83 | background: none 84 | border: none 85 | .line-numbers 86 | @extend $line-numbers 87 | background: none 88 | border: none 89 | padding: 0 20px 0 0 90 | .line-data 91 | padding: 0 !important 92 | .highlight 93 | margin: 0 94 | padding: 0 95 | border: none 96 | .gist-meta 97 | background: highlight-background 98 | color: highlight-comment 99 | font: 0.85em font-sans 100 | text-shadow: 0 0 101 | padding: 0 102 | margin-top: 1em 103 | margin-left: article-padding 104 | a 105 | color: color-link 106 | font-weight: normal 107 | &:hover 108 | text-decoration: underline 109 | 110 | pre 111 | .comment 112 | .title 113 | color: highlight-comment 114 | .variable 115 | .attribute 116 | .tag 117 | .regexp 118 | .ruby .constant 119 | .xml .tag .title 120 | .xml .pi 121 | .xml .doctype 122 | .html .doctype 123 | .css .id 124 | .css .class 125 | .css .pseudo 126 | color: highlight-red 127 | .number 128 | .preprocessor 129 | .built_in 130 | .literal 131 | .params 132 | .constant 133 | color: highlight-orange 134 | .class 135 | .ruby .class .title 136 | .css .rules .attribute 137 | color: highlight-green 138 | .string 139 | .value 140 | .inheritance 141 | .header 142 | .ruby .symbol 143 | .xml .cdata 144 | color: highlight-green 145 | .css .hexcolor 146 | color: highlight-aqua 147 | .function 148 | .python .decorator 149 | .python .title 150 | .ruby .function .title 151 | .ruby .title .keyword 152 | .perl .sub 153 | .javascript .title 154 | .coffeescript .title 155 | color: highlight-blue 156 | .keyword 157 | .javascript .function 158 | color: highlight-purple 159 | -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/mobile.styl: -------------------------------------------------------------------------------- 1 | @media mq-mobile 2 | #mobile-nav 3 | position: absolute 4 | top: 0 5 | left: 0 6 | width: mobile-nav-width 7 | height: 100% 8 | background: color-mobile-nav-background 9 | border-right: 1px solid #fff 10 | 11 | @media mq-mobile 12 | .mobile-nav-link 13 | display: block 14 | color: color-grey 15 | text-decoration: none 16 | padding: 15px 20px 17 | font-weight: bold 18 | &:hover 19 | color: #fff 20 | -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/sidebar-aside.styl: -------------------------------------------------------------------------------- 1 | #sidebar 2 | @media mq-normal 3 | column(sidebar-column) 4 | 5 | .widget-wrap 6 | margin: block-margin 0 7 | 8 | .widget-title 9 | @extend $block-caption 10 | 11 | .widget 12 | color: color-sidebar-text 13 | text-shadow: 0 1px #fff 14 | background: color-widget-background 15 | box-shadow: 0 -1px 4px color-widget-border inset 16 | border: 1px solid color-widget-border 17 | padding: 15px 18 | border-radius: 3px 19 | a 20 | color: color-link 21 | text-decoration: none 22 | &:hover 23 | text-decoration: underline 24 | ul, ol, dl 25 | ul, ol, dl 26 | margin-left: 15px 27 | list-style: disc -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/sidebar-bottom.styl: -------------------------------------------------------------------------------- 1 | .widget-wrap 2 | margin-bottom: block-margin !important 3 | @media mq-normal 4 | column(main-column) 5 | 6 | .widget-title 7 | color: #ccc 8 | text-transform: uppercase 9 | letter-spacing: 2px 10 | margin-bottom: .5em 11 | line-height: 1em 12 | font-weight: bold 13 | 14 | .widget 15 | color: color-grey 16 | ul, ol 17 | li 18 | display: inline-block 19 | zoom:1 20 | *display:inline 21 | padding-right: .75em 22 | /* Having problems getting balanced white space between items 23 | li:before 24 | content: " | " 25 | li:first-child:before 26 | content: none 27 | */ 28 | -------------------------------------------------------------------------------- /themes/landscape/source/css/_partial/sidebar.styl: -------------------------------------------------------------------------------- 1 | if sidebar is bottom 2 | @import "sidebar-bottom" 3 | else 4 | @import "sidebar-aside" 5 | 6 | .widget 7 | @extend $base-style 8 | line-height: line-height 9 | word-wrap: break-word 10 | font-size: 0.9em 11 | ul, ol 12 | list-style: none 13 | margin: 0 14 | ul, ol 15 | margin: 0 20px 16 | ul 17 | list-style: disc 18 | ol 19 | list-style: decimal 20 | 21 | .category-list-count 22 | .tag-list-count 23 | .archive-list-count 24 | padding-left: 5px 25 | color: color-grey 26 | font-size: 0.85em 27 | &:before 28 | content: "(" 29 | &:after 30 | content: ")" 31 | 32 | .tagcloud 33 | a 34 | margin-right: 5px 35 | display: inline-block 36 | -------------------------------------------------------------------------------- /themes/landscape/source/css/_util/grid.styl: -------------------------------------------------------------------------------- 1 | ///////////////// 2 | // Semantic.gs // for Stylus: http://learnboost.github.com/stylus/ 3 | ///////////////// 4 | 5 | // Utility function — you should never need to modify this 6 | // _gridsystem-width = (column-width + gutter-width) * columns 7 | gridsystem-width(_columns = columns) 8 | (column-width + gutter-width) * _columns 9 | 10 | // Set @total-width to 100% for a fluid layout 11 | // total-width = gridsystem-width(columns) 12 | total-width = 100% 13 | 14 | ////////// 15 | // GRID // 16 | ////////// 17 | 18 | body 19 | clearfix() 20 | width: 100% 21 | 22 | row(_columns = columns) 23 | clearfix() 24 | display: block 25 | width: total-width * ((gutter-width + gridsystem-width(_columns)) / gridsystem-width(_columns)) 26 | margin: 0 total-width * (((gutter-width * .5) / gridsystem-width(_columns)) * -1) 27 | 28 | column(x, _columns = columns) 29 | display: inline 30 | float: left 31 | width: total-width * ((((gutter-width + column-width) * x) - gutter-width) / gridsystem-width(_columns)) 32 | margin: 0 total-width * ((gutter-width * .5) / gridsystem-width(_columns)) 33 | 34 | push(offset = 1) 35 | margin-left: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns)) 36 | 37 | pull(offset = 1) 38 | margin-right: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns)) -------------------------------------------------------------------------------- /themes/landscape/source/css/_util/mixin.styl: -------------------------------------------------------------------------------- 1 | // http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/ 2 | hide-text() 3 | text-indent: 100% 4 | white-space: nowrap 5 | overflow: hidden 6 | 7 | // http://codepen.io/shshaw/full/gEiDt 8 | absolute-center(width, height = width) 9 | // margin: auto 10 | // position: absolute 11 | // top: 50% 12 | // top: 0 13 | // left: 0 14 | // bottom: 0 15 | // right: 0 16 | // width: width 17 | // height: height 18 | // overflow: auto 19 | width: width 20 | height: height 21 | position: absolute 22 | top: 50% 23 | left: 50% 24 | margin-top: width * -0.5 25 | margin-left: height * -0.5 26 | 27 | avoid-column-break() 28 | vendor("column-break-inside", avoid, only: webkit) 29 | page-break-inside: avoid // for firefox 30 | overflow: hidden // fix for firefox 31 | break-inside: avoid-column 32 | -------------------------------------------------------------------------------- /themes/landscape/source/css/_variables.styl: -------------------------------------------------------------------------------- 1 | // Config 2 | support-for-ie = false 3 | vendor-prefixes = webkit moz ms official 4 | 5 | // Colors 6 | color-default = #555 7 | color-grey = #999 8 | color-border = #ddd 9 | color-link = #258fb8 10 | color-background = #eee 11 | color-sidebar-text = #777 12 | color-widget-background = #ddd 13 | color-widget-border = #ccc 14 | color-footer-background = #262a30 15 | color-mobile-nav-background = #191919 16 | color-twitter = #00aced 17 | color-facebook = #3b5998 18 | color-pinterest = #cb2027 19 | color-google = #dd4b39 20 | 21 | // Fonts 22 | font-sans = -apple-system, BlinkMacSystemFont, 23 | "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", 24 | "Fira Sans", "Droid Sans", "Helvetica Neue", 25 | sans-serif 26 | font-serif = Georgia, "Times New Roman", serif 27 | font-mono = "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace 28 | font-icon = FontAwesome 29 | font-icon-path = "fonts/fontawesome-webfont" 30 | font-icon-version = "4.0.3" 31 | font-size = 14px 32 | line-height = 1.6em 33 | line-height-title = 1.1em 34 | 35 | // Header 36 | logo-size = 40px 37 | subtitle-size = 16px 38 | banner-height = 300px 39 | banner-url = "images/banner.jpg" 40 | 41 | sidebar = hexo-config("sidebar") 42 | 43 | // Layout 44 | block-margin = 50px 45 | article-padding = 20px 46 | mobile-nav-width = 280px 47 | main-column = 9 48 | sidebar-column = 3 49 | 50 | if sidebar and sidebar isnt bottom 51 | _sidebar-column = sidebar-column 52 | else 53 | _sidebar-column = 0 54 | 55 | // Grids 56 | column-width = 80px 57 | gutter-width = 20px 58 | columns = main-column + _sidebar-column 59 | 60 | // Media queries 61 | mq-mobile = "screen and (max-width: 479px)" 62 | mq-tablet = "screen and (min-width: 480px) and (max-width: 767px)" 63 | mq-normal = "screen and (min-width: 768px)" -------------------------------------------------------------------------------- /themes/landscape/source/css/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/css/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /themes/landscape/source/css/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/css/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /themes/landscape/source/css/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/css/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /themes/landscape/source/css/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/css/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /themes/landscape/source/css/images/banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/css/images/banner.jpg -------------------------------------------------------------------------------- /themes/landscape/source/css/style.styl: -------------------------------------------------------------------------------- 1 | @import "nib" 2 | @import "_variables" 3 | @import "_util/mixin" 4 | @import "_util/grid" 5 | 6 | global-reset() 7 | 8 | input, button 9 | margin: 0 10 | padding: 0 11 | &::-moz-focus-inner 12 | border: 0 13 | padding: 0 14 | 15 | @font-face 16 | font-family: FontAwesome 17 | font-style: normal 18 | font-weight: normal 19 | src: url(font-icon-path + ".eot?v=#" + font-icon-version) 20 | src: url(font-icon-path + ".eot?#iefix&v=#" + font-icon-version) format("embedded-opentype"), 21 | url(font-icon-path + ".woff?v=#" + font-icon-version) format("woff"), 22 | url(font-icon-path + ".ttf?v=#" + font-icon-version) format("truetype"), 23 | url(font-icon-path + ".svg#fontawesomeregular?v=#" + font-icon-version) format("svg") 24 | 25 | html, body, #container 26 | height: 100% 27 | 28 | body 29 | background: color-background 30 | font: font-size font-sans 31 | -webkit-text-size-adjust: 100% 32 | 33 | .outer 34 | clearfix() 35 | max-width: (column-width + gutter-width) * columns + gutter-width 36 | margin: 0 auto 37 | padding: 0 gutter-width 38 | 39 | .inner 40 | column(columns) 41 | 42 | .left, .alignleft 43 | float: left 44 | 45 | .right, .alignright 46 | float: right 47 | 48 | .clear 49 | clear: both 50 | 51 | #container 52 | position: relative 53 | 54 | .mobile-nav-on 55 | overflow: hidden 56 | 57 | #wrap 58 | height: 100% 59 | width: 100% 60 | position: absolute 61 | top: 0 62 | left: 0 63 | transition: 0.2s ease-out 64 | z-index: 1 65 | background: color-background 66 | .mobile-nav-on & 67 | left: mobile-nav-width 68 | 69 | if sidebar and sidebar isnt bottom 70 | #main 71 | @media mq-normal 72 | column(main-column) 73 | 74 | if sidebar is left 75 | @media mq-normal 76 | #main 77 | float: right 78 | 79 | @import "_extend" 80 | @import "_partial/header" 81 | @import "_partial/article" 82 | @import "_partial/comment" 83 | @import "_partial/archive" 84 | @import "_partial/footer" 85 | @import "_partial/highlight" 86 | @import "_partial/mobile" 87 | 88 | if sidebar 89 | @import "_partial/sidebar" -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/blank.gif -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/fancybox_loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/fancybox_loading.gif -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/fancybox_loading@2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/fancybox_loading@2x.gif -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/fancybox_overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/fancybox_overlay.png -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/fancybox_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/fancybox_sprite.png -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/fancybox_sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/fancybox_sprite@2x.png -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/helpers/fancybox_buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ting-talk/blog/53efabbc53780b0949a2391a6c3b21fa278d14c5/themes/landscape/source/fancybox/helpers/fancybox_buttons.png -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css: -------------------------------------------------------------------------------- 1 | #fancybox-buttons { 2 | position: fixed; 3 | left: 0; 4 | width: 100%; 5 | z-index: 8050; 6 | } 7 | 8 | #fancybox-buttons.top { 9 | top: 10px; 10 | } 11 | 12 | #fancybox-buttons.bottom { 13 | bottom: 10px; 14 | } 15 | 16 | #fancybox-buttons ul { 17 | display: block; 18 | width: 166px; 19 | height: 30px; 20 | margin: 0 auto; 21 | padding: 0; 22 | list-style: none; 23 | border: 1px solid #111; 24 | border-radius: 3px; 25 | -webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); 26 | -moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); 27 | box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); 28 | background: rgb(50,50,50); 29 | background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%); 30 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51))); 31 | background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); 32 | background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); 33 | background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); 34 | background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%); 35 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 ); 36 | } 37 | 38 | #fancybox-buttons ul li { 39 | float: left; 40 | margin: 0; 41 | padding: 0; 42 | } 43 | 44 | #fancybox-buttons a { 45 | display: block; 46 | width: 30px; 47 | height: 30px; 48 | text-indent: -9999px; 49 | background-color: transparent; 50 | background-image: url('fancybox_buttons.png'); 51 | background-repeat: no-repeat; 52 | outline: none; 53 | opacity: 0.8; 54 | } 55 | 56 | #fancybox-buttons a:hover { 57 | opacity: 1; 58 | } 59 | 60 | #fancybox-buttons a.btnPrev { 61 | background-position: 5px 0; 62 | } 63 | 64 | #fancybox-buttons a.btnNext { 65 | background-position: -33px 0; 66 | border-right: 1px solid #3e3e3e; 67 | } 68 | 69 | #fancybox-buttons a.btnPlay { 70 | background-position: 0 -30px; 71 | } 72 | 73 | #fancybox-buttons a.btnPlayOn { 74 | background-position: -30px -30px; 75 | } 76 | 77 | #fancybox-buttons a.btnToggle { 78 | background-position: 3px -60px; 79 | border-left: 1px solid #111; 80 | border-right: 1px solid #3e3e3e; 81 | width: 35px 82 | } 83 | 84 | #fancybox-buttons a.btnToggleOn { 85 | background-position: -27px -60px; 86 | } 87 | 88 | #fancybox-buttons a.btnClose { 89 | border-left: 1px solid #111; 90 | width: 35px; 91 | background-position: -56px 0px; 92 | } 93 | 94 | #fancybox-buttons a.btnDisabled { 95 | opacity : 0.4; 96 | cursor: default; 97 | } -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Buttons helper for fancyBox 3 | * version: 1.0.5 (Mon, 15 Oct 2012) 4 | * @requires fancyBox v2.0 or later 5 | * 6 | * Usage: 7 | * $(".fancybox").fancybox({ 8 | * helpers : { 9 | * buttons: { 10 | * position : 'top' 11 | * } 12 | * } 13 | * }); 14 | * 15 | */ 16 | ;(function ($) { 17 | //Shortcut for fancyBox object 18 | var F = $.fancybox; 19 | 20 | //Add helper object 21 | F.helpers.buttons = { 22 | defaults : { 23 | skipSingle : false, // disables if gallery contains single image 24 | position : 'top', // 'top' or 'bottom' 25 | tpl : '
' 26 | }, 27 | 28 | list : null, 29 | buttons: null, 30 | 31 | beforeLoad: function (opts, obj) { 32 | //Remove self if gallery do not have at least two items 33 | 34 | if (opts.skipSingle && obj.group.length < 2) { 35 | obj.helpers.buttons = false; 36 | obj.closeBtn = true; 37 | 38 | return; 39 | } 40 | 41 | //Increase top margin to give space for buttons 42 | obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30; 43 | }, 44 | 45 | onPlayStart: function () { 46 | if (this.buttons) { 47 | this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn'); 48 | } 49 | }, 50 | 51 | onPlayEnd: function () { 52 | if (this.buttons) { 53 | this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn'); 54 | } 55 | }, 56 | 57 | afterShow: function (opts, obj) { 58 | var buttons = this.buttons; 59 | 60 | if (!buttons) { 61 | this.list = $(opts.tpl).addClass(opts.position).appendTo('body'); 62 | 63 | buttons = { 64 | prev : this.list.find('.btnPrev').click( F.prev ), 65 | next : this.list.find('.btnNext').click( F.next ), 66 | play : this.list.find('.btnPlay').click( F.play ), 67 | toggle : this.list.find('.btnToggle').click( F.toggle ), 68 | close : this.list.find('.btnClose').click( F.close ) 69 | } 70 | } 71 | 72 | //Prev 73 | if (obj.index > 0 || obj.loop) { 74 | buttons.prev.removeClass('btnDisabled'); 75 | } else { 76 | buttons.prev.addClass('btnDisabled'); 77 | } 78 | 79 | //Next / Play 80 | if (obj.loop || obj.index < obj.group.length - 1) { 81 | buttons.next.removeClass('btnDisabled'); 82 | buttons.play.removeClass('btnDisabled'); 83 | 84 | } else { 85 | buttons.next.addClass('btnDisabled'); 86 | buttons.play.addClass('btnDisabled'); 87 | } 88 | 89 | this.buttons = buttons; 90 | 91 | this.onUpdate(opts, obj); 92 | }, 93 | 94 | onUpdate: function (opts, obj) { 95 | var toggle; 96 | 97 | if (!this.buttons) { 98 | return; 99 | } 100 | 101 | toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn'); 102 | 103 | //Size toggle button 104 | if (obj.canShrink) { 105 | toggle.addClass('btnToggleOn'); 106 | 107 | } else if (!obj.canExpand) { 108 | toggle.addClass('btnDisabled'); 109 | } 110 | }, 111 | 112 | beforeClose: function () { 113 | if (this.list) { 114 | this.list.remove(); 115 | } 116 | 117 | this.list = null; 118 | this.buttons = null; 119 | } 120 | }; 121 | 122 | }(jQuery)); 123 | -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css: -------------------------------------------------------------------------------- 1 | #fancybox-thumbs { 2 | position: fixed; 3 | left: 0; 4 | width: 100%; 5 | overflow: hidden; 6 | z-index: 8050; 7 | } 8 | 9 | #fancybox-thumbs.bottom { 10 | bottom: 2px; 11 | } 12 | 13 | #fancybox-thumbs.top { 14 | top: 2px; 15 | } 16 | 17 | #fancybox-thumbs ul { 18 | position: relative; 19 | list-style: none; 20 | margin: 0; 21 | padding: 0; 22 | } 23 | 24 | #fancybox-thumbs ul li { 25 | float: left; 26 | padding: 1px; 27 | opacity: 0.5; 28 | } 29 | 30 | #fancybox-thumbs ul li.active { 31 | opacity: 0.75; 32 | padding: 0; 33 | border: 1px solid #fff; 34 | } 35 | 36 | #fancybox-thumbs ul li:hover { 37 | opacity: 1; 38 | } 39 | 40 | #fancybox-thumbs ul li a { 41 | display: block; 42 | position: relative; 43 | overflow: hidden; 44 | border: 1px solid #222; 45 | background: #111; 46 | outline: none; 47 | } 48 | 49 | #fancybox-thumbs ul li img { 50 | display: block; 51 | position: relative; 52 | border: 0; 53 | padding: 0; 54 | max-width: none; 55 | } -------------------------------------------------------------------------------- /themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Thumbnail helper for fancyBox 3 | * version: 1.0.7 (Mon, 01 Oct 2012) 4 | * @requires fancyBox v2.0 or later 5 | * 6 | * Usage: 7 | * $(".fancybox").fancybox({ 8 | * helpers : { 9 | * thumbs: { 10 | * width : 50, 11 | * height : 50 12 | * } 13 | * } 14 | * }); 15 | * 16 | */ 17 | ;(function ($) { 18 | //Shortcut for fancyBox object 19 | var F = $.fancybox; 20 | 21 | //Add helper object 22 | F.helpers.thumbs = { 23 | defaults : { 24 | width : 50, // thumbnail width 25 | height : 50, // thumbnail height 26 | position : 'bottom', // 'top' or 'bottom' 27 | source : function ( item ) { // function to obtain the URL of the thumbnail image 28 | var href; 29 | 30 | if (item.element) { 31 | href = $(item.element).find('img').attr('src'); 32 | } 33 | 34 | if (!href && item.type === 'image' && item.href) { 35 | href = item.href; 36 | } 37 | 38 | return href; 39 | } 40 | }, 41 | 42 | wrap : null, 43 | list : null, 44 | width : 0, 45 | 46 | init: function (opts, obj) { 47 | var that = this, 48 | list, 49 | thumbWidth = opts.width, 50 | thumbHeight = opts.height, 51 | thumbSource = opts.source; 52 | 53 | //Build list structure 54 | list = ''; 55 | 56 | for (var n = 0; n < obj.group.length; n++) { 57 | list += '
  • '; 58 | } 59 | 60 | this.wrap = $('
    ').addClass(opts.position).appendTo('body'); 61 | this.list = $('').appendTo(this.wrap); 62 | 63 | //Load each thumbnail 64 | $.each(obj.group, function (i) { 65 | var el = obj.group[ i ], 66 | href = thumbSource( el ); 67 | 68 | if (!href) { 69 | return; 70 | } 71 | 72 | $("").load(function () { 73 | var width = this.width, 74 | height = this.height, 75 | widthRatio, heightRatio, parent; 76 | 77 | if (!that.list || !width || !height) { 78 | return; 79 | } 80 | 81 | //Calculate thumbnail width/height and center it 82 | widthRatio = width / thumbWidth; 83 | heightRatio = height / thumbHeight; 84 | 85 | parent = that.list.children().eq(i).find('a'); 86 | 87 | if (widthRatio >= 1 && heightRatio >= 1) { 88 | if (widthRatio > heightRatio) { 89 | width = Math.floor(width / heightRatio); 90 | height = thumbHeight; 91 | 92 | } else { 93 | width = thumbWidth; 94 | height = Math.floor(height / widthRatio); 95 | } 96 | } 97 | 98 | $(this).css({ 99 | width : width, 100 | height : height, 101 | top : Math.floor(thumbHeight / 2 - height / 2), 102 | left : Math.floor(thumbWidth / 2 - width / 2) 103 | }); 104 | 105 | parent.width(thumbWidth).height(thumbHeight); 106 | 107 | $(this).hide().appendTo(parent).fadeIn(300); 108 | 109 | }) 110 | .attr('src', href) 111 | .attr('title', el.title); 112 | }); 113 | 114 | //Set initial width 115 | this.width = this.list.children().eq(0).outerWidth(true); 116 | 117 | this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))); 118 | }, 119 | 120 | beforeLoad: function (opts, obj) { 121 | //Remove self if gallery do not have at least two items 122 | if (obj.group.length < 2) { 123 | obj.helpers.thumbs = false; 124 | 125 | return; 126 | } 127 | 128 | //Increase bottom margin to give space for thumbs 129 | obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15); 130 | }, 131 | 132 | afterShow: function (opts, obj) { 133 | //Check if exists and create or update list 134 | if (this.list) { 135 | this.onUpdate(opts, obj); 136 | 137 | } else { 138 | this.init(opts, obj); 139 | } 140 | 141 | //Set active element 142 | this.list.children().removeClass('active').eq(obj.index).addClass('active'); 143 | }, 144 | 145 | //Center list 146 | onUpdate: function (opts, obj) { 147 | if (this.list) { 148 | this.list.stop(true).animate({ 149 | 'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)) 150 | }, 150); 151 | } 152 | }, 153 | 154 | beforeClose: function () { 155 | if (this.wrap) { 156 | this.wrap.remove(); 157 | } 158 | 159 | this.wrap = null; 160 | this.list = null; 161 | this.width = 0; 162 | } 163 | } 164 | 165 | }(jQuery)); -------------------------------------------------------------------------------- /themes/landscape/source/js/script.js: -------------------------------------------------------------------------------- 1 | (function($){ 2 | // Search 3 | var $searchWrap = $('#search-form-wrap'), 4 | isSearchAnim = false, 5 | searchAnimDuration = 200; 6 | 7 | var startSearchAnim = function(){ 8 | isSearchAnim = true; 9 | }; 10 | 11 | var stopSearchAnim = function(callback){ 12 | setTimeout(function(){ 13 | isSearchAnim = false; 14 | callback && callback(); 15 | }, searchAnimDuration); 16 | }; 17 | 18 | $('#nav-search-btn').on('click', function(){ 19 | if (isSearchAnim) return; 20 | 21 | startSearchAnim(); 22 | $searchWrap.addClass('on'); 23 | stopSearchAnim(function(){ 24 | $('.search-form-input').focus(); 25 | }); 26 | }); 27 | 28 | $('.search-form-input').on('blur', function(){ 29 | startSearchAnim(); 30 | $searchWrap.removeClass('on'); 31 | stopSearchAnim(); 32 | }); 33 | 34 | // Share 35 | $('body').on('click', function(){ 36 | $('.article-share-box.on').removeClass('on'); 37 | }).on('click', '.article-share-link', function(e){ 38 | e.stopPropagation(); 39 | 40 | var $this = $(this), 41 | url = $this.attr('data-url'), 42 | encodedUrl = encodeURIComponent(url), 43 | id = 'article-share-box-' + $this.attr('data-id'), 44 | offset = $this.offset(); 45 | 46 | if ($('#' + id).length){ 47 | var box = $('#' + id); 48 | 49 | if (box.hasClass('on')){ 50 | box.removeClass('on'); 51 | return; 52 | } 53 | } else { 54 | var html = [ 55 | '
    ', 56 | '', 57 | '
    ', 58 | '', 59 | '', 60 | '', 61 | '', 62 | '
    ', 63 | '
    ' 64 | ].join(''); 65 | 66 | var box = $(html); 67 | 68 | $('body').append(box); 69 | } 70 | 71 | $('.article-share-box.on').hide(); 72 | 73 | box.css({ 74 | top: offset.top + 25, 75 | left: offset.left 76 | }).addClass('on'); 77 | }).on('click', '.article-share-box', function(e){ 78 | e.stopPropagation(); 79 | }).on('click', '.article-share-box-input', function(){ 80 | $(this).select(); 81 | }).on('click', '.article-share-box-link', function(e){ 82 | e.preventDefault(); 83 | e.stopPropagation(); 84 | 85 | window.open(this.href, 'article-share-box-window-' + Date.now(), 'width=500,height=450'); 86 | }); 87 | 88 | // Caption 89 | $('.article-entry').each(function(i){ 90 | $(this).find('img').each(function(){ 91 | if ($(this).parent().hasClass('fancybox')) return; 92 | 93 | var alt = this.alt; 94 | 95 | if (alt) $(this).after('' + alt + ''); 96 | 97 | $(this).wrap(''); 98 | }); 99 | 100 | $(this).find('.fancybox').each(function(){ 101 | $(this).attr('rel', 'article' + i); 102 | }); 103 | }); 104 | 105 | if ($.fancybox){ 106 | $('.fancybox').fancybox(); 107 | } 108 | 109 | // Mobile nav 110 | var $container = $('#container'), 111 | isMobileNavAnim = false, 112 | mobileNavAnimDuration = 200; 113 | 114 | var startMobileNavAnim = function(){ 115 | isMobileNavAnim = true; 116 | }; 117 | 118 | var stopMobileNavAnim = function(){ 119 | setTimeout(function(){ 120 | isMobileNavAnim = false; 121 | }, mobileNavAnimDuration); 122 | } 123 | 124 | $('#main-nav-toggle').on('click', function(){ 125 | if (isMobileNavAnim) return; 126 | 127 | startMobileNavAnim(); 128 | $container.toggleClass('mobile-nav-on'); 129 | stopMobileNavAnim(); 130 | }); 131 | 132 | $('#wrap').on('click', function(){ 133 | if (isMobileNavAnim || !$container.hasClass('mobile-nav-on')) return; 134 | 135 | $container.removeClass('mobile-nav-on'); 136 | }); 137 | })(jQuery); --------------------------------------------------------------------------------