Cartoon Craft——real-time strategy game.

What is Cartoon Craft?
This is a real-time strategy game.
Get ready for the real battle!

How to play?
– Use worker to collect gold and lumber.
– Build a building like barracks to produce soldiers, archer, sword man, tank, troll and other units
– Eliminate your enemies with your army

You have to decide whether you go for the rich man strategy or poor faster guerrilla way. And you may need a lot of defense towers when you collect resource. When you have enough army and ready to battle, scout and attack opponent’s base.

Come join the battle and save us!

Hello there! Check out the Android app deals we have for you today. 

#new #android #giveaways

  • Memorize: Learn Russian Words with Flashcards (100% discount)
  • Cartoon Craft (100% discount)
  • The Rich King VIP – Amazing Clicker (100% discount)
  • Currency Converter Easily+ (100% discount)
  • Monster Killer Pro – Assassin, Archer Hero Shooter (100% discount)
  • New Math Puzzles for Geniuses 2021 (100% discount)
  • Prepositions Test & Practice PRO (100% discount)
  • Speed View GPS Pro (100% discount)
  • Memorize: Learn French Words with Flashcards (100% discount)

#new #android #discounts

  • Bladient Icons (29% discount)
  • Word Search Challenge PRO (50% discount)
  • Mumber – Icon Pack (34% discount)
  • Math Studio (50% discount)
  • John Bet VIP Betting Tips (54% discount)
  • John Bet VIP SILVER Tips (53% discount)
  • Millimeter Pro – screen ruler, protractor, level (60% discount)
  • 3D EARTH PRO – local weather forecast & rain radar (90% discount)
  • Tomb Hunter Pro (50% discount)
  • Dark Tosca – Icon Pack (25% discount)
  • Mavon – Icon Pack (34% discount)
  • LiquidPlayer Pro : music equalizer mp3 radio 3D (67% discount)
  • Space Guy (72% discount)
  • Moon+ Reader Pro (50% discount)

FSNotes——modern notes manager for macOS and iOS.

FSNotes is modern notes manager for macOS and iOS. App respects open formats like GitHub Flavored Markdown, so you can easily write documents on iPhone and MacBook. It’s simple and blazing fast!


FSNotes is an open source project and is provided for free, but you can support development by buying application in App Store or Mac App Store for symbolic price.

Supports the TextBundle Format

Store images and text in one place with
TextBundle containers 🧳
Store notes secure with
Encrypted TextBundle containers (AES-256) 🔐

Edit with TouchBar

Edit faster with virtual buttons on your TouchBar

Lock notes with TouchID

Encrypt and decrypt sensitive notes with one touch

Dark Mode

Balanced, polished dark theme

Optional Git versioning and backups

Many more

  • Markdown-first. Also supports plaintext and RTF files.
  • Fast and lightweight. Works smoothly with 10k+ files.
  • Access anywhere. Sync with iCloud Drive or Dropbox.
  • Multi-folder storage.
  • Keyboard-centricnvalt-inspired controls and shortcuts.
  • Syntax highlighting within code blocks. Supports over 170 programming languages.
  • In-line image support.
  • Organize with tags.
  • Cross-note links using .[[double brackets]]
  • Elastic two-pane view. Choose a vertical or horizontal layout.
  • External editor support (changes seamless live sync with UI).
  • Pin important notes.
  • Quickly copy notes to the clipboard.
  • Dark mode.
  • Lock sensitive notes with AES-256 encryption.
  • Mermaid and MathJax support.
  • Optional Git versioning and backups.

FSNotes Manager for iOS

  • Sync via iCloud Drive.
  • 3D Touch and configurable keyboard.
  • TextBundle and EncryptedTextBundle containers.
  • Pinned notes kept in sync with the desktop app.
  • Dynamic fonts (iOS 11+).
  • Night mode by location or screen brightness.
  • Sharing extension.
  • Encrypted note support.

FSNotes App – Modern notes manager for macOS and iOS

Community ⚒

GitHub – glushchenko/fsnotes: Notes manager for macOS/iOS


Memorize: Learn Russian Words with Flashcards

“Memorize: Learn Russian Words with Flashcards” is an AI-based study App for learning and memorizing Russian vocabulary.

*9000+ Useful Russian Words*

-Russian vocabulary flashcards picked by experts
-The designed word sets for an expat, businessman, tourist, and language learners
-Vocabularies for all language levels – from absolute beginner to very advanced
-Ultimate vocabulary list for TORFL test preparation
-9000+ flashcards which cover the most useful Russian words from different categories: Russian Alphabet, Numbers, Directions, Colors, Transportation, Travel, Calendar, Hobbies, Foods, Shopping, Family, Nature, Health, Feelings, Body, Dating, Society, Culture, Language, History, Foreign Countries, Education, School, Economy, Science, Business, Study & Test, Emergency, Etc..
-Romanization (Transliteration) of Russian for reading and speaking easily
-Audio included in every flashcard to practice listening and pronunciation
-And more & more Russian vocabulary flashcards will be added continuously.

*Scientific Way to Learn the Russian words*

-Artificial Intelligence (AI) picks Russian words that you need to learn based on the detailed analysis of your achievement and progress.
-From starting out with a small number of flashcards, more & more will be added automatically to the next test set until you can memorize all the cards in the dictionary.
-New and difficult Russian flashcards will be shown more often while old and easy cards will be shown less often to exploit the psychological spacing effect. The use of this spaced repetition system (SRS) has been shown to increase the rate of learning.
-By comparing your habit to other users, AI continuously personalizes the level of difficulty and the amount of your test for effective vocabulary memorization.
-And this scientific algorithm reminds you at the proper time to review words so that you will never forget.

*Easy, Fast and Clean Features*

-Ready-to-learn simple and intuitive Russian – English translation flashcards
-Support many types of test for learning Russian (Multiple choice question, listening, matching, flipping flashcard and etc.)
-Search the entire word dictionary in English or Russian Alphabet
-Detailed stats on your overall progress, whole Russian dictionary and individual words that you memorized
-Settings for turning on/off pronunciation symbols
-Light and dark themes
-Settings for audio gender and playback speed
-Support split-screen mode
-Support landscape mode (for tablets)
-Realtime syncing with your other phones and tablets

*Memorize: Learn Russian Words with Flashcards*

Vocabulary represents one of the most important skills necessary for learning a foreign language. It is the basis for the development of all the other skills: reading comprehension, listening comprehension, speaking, writing, spelling, and pronunciation.
When confronted with a native Russian speaker, when watching a movie without subtitle or when listening to a favorite Russian song, when reading a text or when writing a letter to a Russian friend, language learners will always need to operate with words.

We focus on the techniques which help you remember the vocabulary.
If you have any questions or comments, please send them us an email at support+russian+android@memorize.tech
Thank you!


-New!: Recent search history.
-Minor fixes and improvements.
Hello there! Check out the Android app deals we have for you today.

#new #android #giveaways


主题纸牌PV : 玩纸牌游戏并装饰塔楼!



■ 游戏介绍

■ 特征
1. 简单有趣的游戏方式
– 请忘掉以前玩过的那些主题纸牌!全新三角塔牌一秒上手!

2. 可爱的童话人物
– 与小时候喜欢的童话人物一起玩游戏吧!白雪公主、匹诺曹、彼得潘等可爱的童话人物为你的纸牌游戏之旅一起加油喔!

3. 装扮家园
– 选择装修、饰品以及童话人物来打造专属空间!

4. 玩法多样化
– 游戏包含有奖励游戏、小游戏、特殊道具收集等多种玩法,还可以选择多种漂亮的纸牌以及牌桌皮肤喔!



Hello there! Check out the Android app deals we have for you today.

#new #android #giveaways

  • Galaxy Attack: Alien Shooter (Premium) (100% discount)

#new #android #discounts



ChartCube 图表魔方——AntV 在线图表制作工具 拖拽之间快速搞定图表制作





















ChartCube – 在线图表制作工具 (alipay.com)


xgplayer —— 一个Web视频播放器类库


西瓜播放器是一个Web视频播放器类库,它本着一切都是组件化的原则设计了独立可拆卸的 UI 组件。更重要的是它不只是在 UI 层有灵活的表现,在功能上也做了大胆的尝试:摆脱视频加载、缓冲、格式支持对 video 的依赖。尤其是在 mp4 点播上做了较大的努力,让本不支持流式播放的 mp4 能做到分段加载,这就意味着可以做到清晰度无缝切换、加载控制、节省视频流量。同时,它也集成了对 flv、hls、dash 的点播和直播支持。文档


  1. 安装
    $ npm install xgplayer
  2. 使用
  • Step 1:
    <div id="vs"></div>
  • Step 2:
    import Player from 'xgplayer'
    let player = new Player({
        id: 'vs',
        url: 'https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/byted-player-videos/1.0.0/xgplayer-demo.mp4'



西瓜播放器提供了较多的插件,插件分两类:一部分是自启动的,一部分是继承播放器核心类 xgplayer 的。原则上官方提供插件都是自启动的,封装的第三方类库都是继承方式。有些功能插件本身能提供降级方案建议使用自启动方式,否则建议使用继承方式。播放器支持自定义插件,更多内容查看 插件


import Player from 'xgplayer'
import 'xgplayer-mp4'

let player = new Player({
    id: 'video',
    url: '//abc.com/test.mp4'

xgplayer-mp4插件就是自启动的,它会自己加载 mp4 视频、解析 mp4 格式,实现自定义加载、缓冲、无缝切换等详情。对于不支持 MSE 的设备自动降级。


为了方便开发者调试,我们提供了示例视频资源。示例文件较大,可使用 git clone –recurse-submodules -j8 命令完整拉取源码和示例文件;如果你只对源码感兴趣可以使用 git clone 命令仅拉取源码部分。

$ git clone --recurse-submodules -j8 git@github.com:bytedance/xgplayer.git # 或者:git clone git@github.com:bytedance/xgplayer.git
$ cd xgplayer
$ npm install
$ npm run dev

访问 http://localhost:9090/examples/index.html



  1. 本开源项目中所有代码基于 MIT 许可协议,您默认遵守许可协议中约定的义务。
  2. 您默认授权我们将您使用西瓜播放器所在业务的Logo放置在本官网展示。 若您有任何问题,请联系我们。


有人会问 video.js、mediaElement.js 等视频播放器已经很强大了,我们为什么还要造轮子?我们就从以下几个方面来聊聊。


字节跳动的视频业务大多数是短视频,早期的时候我们在 video.js 基础上做二次开发。后来发现很多功能达不到我们的要求,比如自定义UI的成本、视频的清晰度无缝切换、视频流量的节省。考虑到当前点播依旧是mp4居多,我们做了个大胆的假设:在播放器端加载视频、解析视频、转换格式,让不支持分段播放的mp4动态支持,这样就无须转换源视频的格式,服务器端也无其他开销。在这个动力下,我们在2017年年底完成了这项开发任务,并与2018年年初测试了稳定性和经济收益。

在这个背景下,我们一次解析了 hls、flv 等视频,这样我们不再简单的依赖第三方的视频库,只有掌握了底层技术才有优化的可能性。在不断攻克 hls、flv 解析的背景下,我们增强了产品体验,比如交互效果、进场动画等。直到最近,我们想完善文档并把播放器源代码开源出来给更多的视频从业者一个参考,我们一起交流学习,共同进步。




西瓜播放器 (bytedance.com)


stackedit——In-browser Markdown editor

Rich Markdown editor

StackEdit’s Markdown syntax highlighting is unique. The refined text formatting of the editor helps you visualize the final rendering of your files.

WYSIWYG controls

StackEdit provides very handy formatting buttons and shortcuts, thanks to PageDown, the WYSIWYG-style Markdown editor used by Stack Overflow.

Smart layout

Whether you write, you review, you comment… StackEdit’s layout provides you with the flexibility you need, without sacrifice.

Live preview with Scroll Sync

StackEdit’s Scroll Sync feature accurately binds the scrollbars of the editor panel and the preview panel to ensure that you always keep an eye on the output while writing.

Designed for web writers

Stay connected

StackEdit can sync your files with Google Drive, Dropbox and GitHub. It can also publish them as blog posts to Blogger, WordPress and Zendesk. You can choose whether to upload in Markdown format, HTML, or to format the output using the Handlebars template engine.


StackEdit allows you to insert inline comments and embed collaborator discussions in your files, just as well as Microsoft Word and Google Docs.


With StackEdit, you can share collaborative workspaces, thanks to the synchronization mechanism. If two collaborators are working on the same file at the same time, StackEdit takes care of merging the changes.

Write offline!

Even when you travel, StackEdit is still accessible and lets you write offline just like any desktop application. You have no excuse!

Extended Markdown support

GitHub Flavored Markdown

StackEdit supports different Markdown flavors such as Markdown Extra, GFM and CommonMark. Each Markdown feature can be enabled or disabled at your convenience.

LaTeX mathematical expressions

StackEdit renders mathematics from LaTeX expressions inside your markdown file, as you would do on Stack Exchange.

UML diagrams

StackEdit enables you to write sequence diagrams and flow charts using a simple syntax.


StackEdit can render musical scores using the ABC notation.


StackEdit supports inserting emojis in your file using the Markdown emoji markup.


StackEdit – In-browser Markdown editor


petite-vue——mini 版的vue


petite-vue is an alternative distribution of Vue optimized for progressive enhancement. It provides the same template syntax and reactivity mental model with standard Vue. However, it is specifically optimized for “sprinkling” small amount of interactions on an existing HTML page rendered by a server framework. See more details in how it differs from standard Vue.

  • Only ~5.8kb
  • Vue-compatible template syntax
  • DOM-based, mutates in place
  • Driven by @vue/reactivity


  • This is pretty new. There are probably bugs and there might still be API changes, so use at your own risk. Is it usable though? Very much. Check out the examples to see what it’s capable of.
  • The issue list is intentionally disabled because I have higher priority things to focus on for now and don’t want to be distracted. If you found a bug, you’ll have to either workaround it or submit a PR to fix it yourself. That said, feel free to use the discussions tab to help each other out.
  • Feature requests are unlikely to be accepted at this time – the scope of this project is intentionally kept to a bare minimum.


petite-vue can be used without a build step. Simply load it from a CDN:

<script src="https://unpkg.com/petite-vue" defer init></script>

<!-- anywhere on the page -->
<div v-scope="{ count: 0 }">
  {{ count }}
  <button @click="count++">inc</button>
  • Use to mark regions on the page that should be controlled by .v-scopepetite-vue
  • The attribute makes the script execute after HTML content is parsed.defer
  • The attribute tells to automatically query and initialize all elements that have on the page.initpetite-vuev-scope

Manual Init

If you don’t want the auto init, remove the attribute and move the scripts to end of :init<body>

<script src="https://unpkg.com/petite-vue"></script>

Or, use the ES module build:

<script type="module">
  import { createApp } from 'https://unpkg.com/petite-vue?module'

Production CDN URLs

The short CDN URL is meant for prototyping. For production usage, use a fully resolved CDN URL to avoid resolving and redirect cost:

  • Global build: https://unpkg.com/petite-vue@0.2.2/dist/petite-vue.iife.js
    • exposes global, supports auto initPetiteVue
  • ESM build: https://unpkg.com/petite-vue@0.2.2/dist/petite-vue.es.js
    • Must be used with <script type="module">


Check out the examples directory.


petite-vue only

  • v-scope
  • v-effect
  • @mounted & @unmounted events

Has Different Behavior

  • In expressions, points to the current element the directive is bound to (instead of component root element)$el
  • createApp() accepts global state instead of a component
  • Components are simplified into object-returning functions
  • Custom directives have a different interface

Vue Compatible

  • {{ }} text bindings
  • v-bind (including shorthand and class/style special handling):
  • v-on (including shorthand and all modifiers)@
  • v-model (all input types + non-string bindings):value
  • v-if / v-else / v-else-if
  • v-for
  • v-show
  • v-html
  • v-text
  • v-pre
  • v-once
  • v-cloak
  • reactive()
  • nextTick()
  • Template refs

Not Supported

Some features are dropped because they have a relatively low utility/size ratio in the context of progressive enhancement. If you need these features, you should probably just use standard Vue.

  • ref(), etc.computed()
  • Render functions ( has no virtual DOM)petite-vue
  • Reactivity for Collection Types (Map, Set, etc., removed for smaller size)
  • Transition, KeepAlive, Teleport, Suspense
  • v-for deep destructure
  • v-on="object"
  • v-is & <component :is="xxx">
  • v-bind:style auto-prefixing

Comparison with standard Vue

The point of is not just about being small. It’s about using the optimal implementation for the intended use case (progressive enhancement).petite-vue

Standard Vue can be used with or without a build step. When using a build setup (e.g. with Single-File Components), we pre-compile all the templates so there’s no template processing to be done at runtime. And thanks to tree-shaking, we can ship optional features in standard Vue that doesn’t bloat your bundle size when not used. This is the optimal usage of standard Vue, but since it involves a build setup, it is better suited when building SPAs or apps with relatively heavy interactions.

When using standard Vue without a build step and mounting to in-DOM templates, it is much less optimal because:

  • We have to ship the Vue template compiler to the browser (13kb extra size)
  • The compiler will have to retrieve the template string from already instantiated DOM
  • The compiler then compiles the string into a JavaScript render function
  • Vue then replaces existing DOM templates with new DOM generated from the render funciton.

petite-vue avoids all this overhead by walking the existing DOM and attaching fine-grained reactive effects to the elements directly. The DOM is the template. This means is much more efficient in progressive enhancement scenarios.petite-vue

This is also how Vue 1 worked. The trade-off here is that this approach is coupled to the DOM and thus not suitable for platform agnostic rendering or JavaScript SSR. We also lose the ability to work with render functions for advanced abstrations. However as you can probably tell, these capabilities are rarely needed in the context of progressive enhancement.

Comparison with Alpine

petite-vue is indeed addressing a similar scope to Alpine, but aims to be (1) even more minimal and (2) more Vue-compatible.

  • petite-vue is around half the size of Alpine.
  • petite-vue has no transition system (maybe this can be an opt-in plugin).
  • Although Alpine largely resembles Vue’s design, there are various cases where the behavior is different from Vue itself. It may also diverge more from Vue in the future. This is good because Alpine shouldn’t have to restrict its design to strictly follow Vue – it should have the freedom to develop in a direction that makes sense for its goals.

    In comparison, will try to align with standard Vue behavior whenever possible so that there is less friction moving to standard Vue if needed. It’s intended to be part of the Vue ecosystem to cover the progressive enhancement use case where standard Vue is less optimized for nowadays.petite-vue

Security and CSP

petite-vue evaluates JavaScript expressions in the templates. This means if is mounted on a region of the DOM that contains non-sanitized HTML from user data, it may lead to XSS attacks. If your page renders user-submitted HTML, you should prefer initializing petite-vue using explicit mount target so that it only processes parts that are controlled by you. You can also sanitize any user-submitted HTML for the attribute.petite-vuev-scope

petite-vue evaluates the expressions using , which may be prohibited in strict CSP settings. There is no plan to provide a CSP build because it involves shipping an expression parser which defeats the purpose of being lightweight. If you have strict CSP requirements, you should probably use standard Vue and pre-compile the templates.new Function()



GitHub – vuejs/petite-vue: 5kb subset of Vue optimized for progressive enhancement




A second brain,
for you, forever.

Obsidian is a powerful knowledge base on top of
local folder of plain text Markdown files.

The human brain is non-linear: we jump from idea to idea, all the time. Your second brain should work the same.

In Obsidian, making and following connections is frictionless. Tend to your notes like a gardener; at the end of the day, sit back and marvel at your own knowledge graph.

The graph is your knowledge at a glance. Explore, observe, and stay motivated. With group, filter, and display options, see things your way.
Local graph shows connections around you. Get inspired while writing.
Converge your thoughts.
Broaden your view to see this note in other contexts. Link relevant pages with one click.
Diverge your thoughts.
See all existing and potential links from this note. Turn mentions into links with one click.

Note-taking is incredibly personal. Tried every app, but something always irks you? You deserve better.

For those who can’t custom-build a solution for themselves, Obsidian is as close as you can get, with plugins, themes, and custom CSS at your disposal.


Obsidian is built to be extensible from the ground up. We want you to build your own system, play with it, tweak it, until you’re happy.
Obsidian is a versatile toolbox: with 25 core and 291 community plugins, 60+ themes, plus custom styling, you can tweak Obsidian to work and look exactly how you want it.
Some community plugins do a single thing extremely well, like Calendar and Kanban. Others unlock endless possibilities: Dataview and Templater are great examples.
They are super easy to grab: the built-in plugin marketplace lets you install them with one click. And the sum of the parts is greater than the whole: some plugins work even better together.
Looking for something unique? There’s no need to wait for someone else to make it! Whether you have programming experience or not, you can try your hands at making your Obsidian plugin.
All community plugins are available on GitHub if you like to study them. Our developer community is also here to help!

In our age when cloud services can shut downget bought, or change privacy policy any day, the last thing you want is proprietary format and data lock-in.

With Obsidian, your data sits in a local folder. Never leave your life’s work held hostage in the cloud again.

Obsidian uses Markdown. Markdown is widely used by sites like Reddit and GitHub and not going away anytime soon.
Markdown is designed to be human readable. It’s not obfuscated by encoding; you can directly edit the source files with Markdown editors, or edit them automatically with scripts.
Your notes live on your device, period. You can encrypt them or back them up however you want; it’s your decision, not ours.
Plain text files let you do various sync, encryption, and data processing on top of it. Obsidian plays nice with Dropbox, Cryptomator, and any software that works with plain text files.
No internet? No problem. Obsidian works completely offline, internet or service issues will never be your problem.
Enjoy reading and working on your notes anytime, anywhere.