[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80929":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":15,"stars30d":13,"stars90d":14,"forks30d":14,"starsTrendScore":12,"compositeScore":16,"rankGlobal":9,"rankLanguage":9,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":14,"starSnapshotCount":14,"syncStatus":13,"lastSyncTime":24,"discoverSource":25},80929,"Mo","ojazeker\u002FMo","ojazeker","A Raspberry Pi thermal printer solution for Magic: The Gathering.  ",null,"Python",34,3,2,0,1,1.81,"MIT License",false,"main",[],"2026-06-12 02:04:08","# Mo\n\n![Mo](docs\u002Fimages\u002Fmo.jpg)\n\nMo is a Raspberry Pi thermal printer solution for Magic: The Gathering.  \nGet a random momir creature, print cards, decks, tokens, anything really! \nRuns fully offline.\n\nThis started as a Momir Basic printer, but right now it has functionality way beyond that.\n\n\n## Features\n\n- Momir Basic, pick a CMC and Mo will print instantly\n- Mo-Jho-Sto support, complete with avatar images\n- System 7 inspired web interface with numpad and token\u002Fcard search windows\n- Decklist window to print multiple cards at once, deck-preview window to review before print\n- MTGTOP8 scraper to pull top 8 decks in various formats\n- Completely offline at runtime — all images and databases are stored on the pi\n- Dithered images optimised for thermal printing\n- Switch for hotspot\u002Fnetwork mode (handy when away from home)\n- The scripts always try to pull the first printing of a card\n- Webapp support for bookmarking without an adress bar on mobile devices\n- Double-sided cards get printed as one continuous image\n\n## How it works\n\nThe project has two distinct stages:\n\n**Build (on your Mac\u002FPc)** — pull card data from Scryfall, dither images, build databases, test the app locally.  \n**Runtime (on the Pi)** — serve the Flask app on boot, handle printer output.\n\n## Project Structure\n\n```\nMo\u002F\n├── app\u002F                          # Everything that runs on the Pi\n│   ├── app.py                    # Flask app entry point\n│   ├── utils.py                  # Card loading\u002Ffiltering\n│   ├── helpers.py                # Shared helpers\n│   ├── printer.py                # ESC\u002FPOS thermal printer driver\n│   ├── netswitch.py              # GPIO switch reader — called by systemd at boot\n│   ├── run.sh                    # Pi startup script\n│   ├── data\u002F                     # Built by pipeline (gitignored)\n│   │   ├── card_text_index.json\n│   │   └── token_data.json\n│   ├── routes\u002F                   # Flask route blueprints\n│   ├── templates\u002Findex.html\n│   └── static\u002F                   # style.css (compiled from sass\u002F), script.js\n├── images\u002F                       # Downloaded full-colour images (gitignored)\n│   ├── creature\u002F\n│   ├── instant\u002F\n│   ├── artifact\u002F\n│   ├── token\u002F\n│   └── ...                       # One folder per card type, subfolder per CMC\n├── images_dithered\u002F              # Dithered BMPs deployed to Pi (gitignored)\n│   ├── creature\u002F\n│   ├── token\u002F\n│   └── ...\n├── js\u002F                           # JS source modules (built to app\u002Fstatic\u002Fjs\u002F)\n├── sass\u002F                         # Sass source → app\u002Fstatic\u002Fcss\u002Fstyle.css\n├── cards_json\u002F                   # MTGJSON source files (gitignored)\n├── deck_lists\u002F                   # Fetched decklists (gitignored)\n├── scripts\u002F\n│   ├── build\u002F                    # Mac\u002FPC only — data pipeline\n│   │   ├── pipeline.py           # Run all build steps\n│   │   ├── extract_cards.py\n│   │   ├── extract_creatures.py\n│   │   ├── download_images.py\n│   │   ├── download_tokens.py\n│   │   ├── dither_for_printer.py\n│   │   ├── dither_tokens.py\n│   │   ├── dither_avatars.py\n│   │   ├── dither_momir_avatar.py\n│   │   ├── build_card_text_index.py\n│   │   ├── refresh_token_metadata.py\n│   │   ├── fetch_set_list.py\n│   │   ├── fetch_top8_decklists.py\n│   │   ├── add_cards.py\n│   │   └── cleanup_images.py\n│   └── deploy\u002F                   # Pi setup and deployment\n│       ├── deploy_pi.sh          # Mac → Pi rsync + service restart\n│       ├── install_momir_service.sh  # Run once on Pi\n│       └── switch_pi_network_mode.sh # Manual network mode switch\n├── config.example.sh             # Copy to config.sh and fill in your values\n├── docs\u002F\n│   ├── develop.md                # Local dev server, Sass, venv\n│   ├── update.md                 # Adding cards, running the build pipeline\n│   └── deploy.md                 # Pi setup, rsync, systemd, network modes\n├── run.sh                        # Local dev start script\n└── requirements.txt\n```\n\n## Docs\n\n| Guide | Contents |\n|---|---|\n| [docs\u002Fsetup.md](docs\u002Fsetup.md) | First-time setup — environment, downloading data, building images |\n| [docs\u002Fdevelop.md](docs\u002Fdevelop.md) | Local dev server, Sass, JS, API routes |\n| [docs\u002Fupdate.md](docs\u002Fupdate.md) | Adding new sets, re-running parts of the pipeline |\n| [docs\u002Fdeploy.md](docs\u002Fdeploy.md) | Pi setup, deploying updates, network modes |\n| [docs\u002Fbom.md](docs\u002Fbom.md) | Bill of materials — hardware components |\n| [docs\u002Fhardware.md](docs\u002Fhardware.md) | Wiring, power setup, GPIO pinout |\n| [docs\u002Fwishlist.md](docs\u002Fwishlist.md) | Features I'll probably add in the future |\n\n## Support\n\nI've done my best to make forking this project as easy as possible — it takes some work but it's a lot of fun to get printing this way!\n\nIf you enjoy the project, consider buying me a coffee:  \n[ko-fi.com\u002Fojazeker](https:\u002F\u002Fko-fi.com\u002Fojazeker)","Mo 是一个基于树莓派的热敏打印机解决方案，专为《万智牌》玩家设计。其核心功能包括即时打印随机生物、卡牌、套牌和指示物，并支持Mo-Jho-Sto模式以及带有图像的头像。系统拥有一个受System 7启发的网页界面，提供数字键盘和搜索窗口来查找卡片或指示物，同时具备一次打印多张卡片的套牌列表窗口和预览功能。此外，它能够从MTGTOP8抓取各种赛制下的顶级套牌信息，并且运行时完全离线，所有数据均存储于树莓派中。项目通过优化图像以适应热敏打印质量，并允许在热点与网络模式之间切换。适合需要快速打印个性化游戏内容或参与线下活动而无需互联网连接的《万智牌》爱好者使用。","2026-06-11 04:02:53","CREATED_QUERY"]