{"id":4923,"date":"2025-12-12T20:07:15","date_gmt":"2025-12-12T11:07:15","guid":{"rendered":"https:\/\/matoken.org\/blog\/?p=4923"},"modified":"2025-12-12T20:07:17","modified_gmt":"2025-12-12T11:07:17","slug":"ascii_moon","status":"publish","type":"post","link":"https:\/\/matoken.org\/blog\/2025\/12\/12\/ascii_moon\/","title":{"rendered":"\u6708\u306e\u6e80\u3061\u6b20\u3051\u3092TUI\u3067\u8868\u793a\u3059\u308bASCII Moon"},"content":{"rendered":"<p><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 16 16\"><path fill=\"currentColor\" d=\"M8.796 9.048c-1.552-2.238-1.199-5.323.61-8.1c-3.47-.12-6.6 2.232-7.269 5.672c-.742 3.82 1.83 7.533 5.749 8.294a7.23 7.23 0 0 0 7.526-3.218c-2.794.177-5.27-.711-6.616-2.648\"\/><\/svg><!-- oui:moon --><\/p>\n<div class=\"paragraph\">\n<p><a href=\"http:\/\/asciimoon.com\/\">asciimoon.com<\/a> \u3068\u3044\u3046\u6708\u306e\u6e80\u3061\u6b20\u3051\u304casciiart \u3067\u8868\u73fe\u3055\u308c\u305f\u30b5\u30a4\u30c8\u304c\u3042\u308a\u307e\u3059\uff0e\u305f\u3060\u3057JavaScript\u304c\u7121\u3044\u3068\u6e80\u3061\u6b20\u3051\u306f\u5206\u304b\u3089\u305aw3m \u306a\u3069\u3067\u306f\u4eca\u3072\u3068\u3064\u306a\u611f\u3058\u3067\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>ASCII Moon \u306f\u305d\u306esite\u306b\u30a4\u30f3\u30b9\u30d1\u30a4\u30a2\u3055\u308c\u305f\u6708\u306e\u6e80\u3061\u6b20\u3051\u3092TUI \u3067\u8868\u793a\u3059\u308b\u30b3\u30de\u30f3\u30c9\u3067\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/rockydd\/ascii_moon\">rockydd\/ascii_moon: A TUI (Terminal User Interface) application written in Rust that displays the moon phase in ASCII art.<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p><!--more--><\/p>\n<div class=\"paragraph\">\n<p>ASCII Moon \u306f<a href=\"https:\/\/github.com\/rockydd\/ascii_moon\/releases\">Releases<\/a> page \u306bLinux\/macOS\/Windows \u306eamd64 \u7248\u306e\u30d0\u30a4\u30ca\u30ea\u304c\u7f6e\u3044\u3066\u3042\u308a\u307e\u3059\uff0e<br \/>\nLinux armhf \u3067\u306f\u3069\u3046\u3060\u308d\u3046\u3068\u4eca\u56de\u306fsource \u304b\u3089build \u3057\u307e\u3057\u305f\uff0e<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>$ git clone https:\/\/github.com\/rockydd\/ascii_moon.git\n$ cd ascii_moon\n$ cargo build --release\n$ .\/target\/release\/ascii_moon\n$ .\/target\/release\/ascii_moon --help\nA TUI to show the moon phase\n\nUsage: ascii_moon [OPTIONS]\n\nOptions:\n  -d, --date &lt;DATE&gt;    Date in YYYY-MM-DD format (defaults to today)\n      --lines &lt;LINES&gt;  Render the moon to a specific number of lines (non-interactive)\n  -h, --help           Print help\n  -V, --version        Print version\n$ .\/target\/release\/ascii_moon --version\nascii_moon 0.2.0<\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>\u30aa\u30d7\u30b7\u30e7\u30f3\u7121\u3057\u3067\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30e2\u30fc\u30c9\uff0e<br \/>\n<code>-d, --date &lt;\u65e5\u4ed8(YYY-MM-DD)&gt;<\/code> \u3067\u7279\u5b9a\u306e\u65e5\u4ed8\u3067\u8d77\u52d5\uff0e<br \/>\n<code>--lines &lt;\u884c\u6570&gt;<\/code> \u306fscript \u3084MOTD \u306a\u3069\u5411\u3051\u3067\u6307\u5b9a\u3057\u305f\u884c\u6570\u3067\u6708\u306eAsciiArt \u3092\u51fa\u529b\u3057\u307e\u3059\uff0e<br \/>\n<code>-d, --date<\/code> \u3068 <code>--lines<\/code> \u306f\u4e00\u7dd2\u306b\u6307\u5b9a\u3067\u304d\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/matoken.org\/blog\/wp-content\/uploads\/2025\/12\/ascii_moon.webp\" alt=\"ascii moon\"><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30e2\u30fc\u30c9\u3067\u306f\u30ab\u30fc\u30bd\u30eb\u5de6\u53f3\u30671\u65e5\u5358\u4f4d\u3067\u65e5\u4ed8\u3092\u64cd\u4f5c\u3067\u304d\u307e\u3059\uff0e<code>l<\/code> key \u3067\u5730\u540d\u306e\u30e9\u30d9\u30eb\u306eon\/off\uff0c<code>L<\/code> key \u3067\u30e9\u30d9\u30eb\u306e\u8a00\u8a9e\u5909\u66f4\uff0c<code>i<\/code> key \u3067\u4e0b\u90e8\u306e\u60c5\u5831\u306eon\/off \u304c\u3067\u304d\u307e\u3059\uff0e<br \/>\n\u30a4\u30f3\u30bf\u30e9\u30af\u30c6\u30a3\u30d6\u30e2\u30fc\u30c9\u306e\u52d5\u4f5c\u306e\u72b6\u614b\u306f\u4ee5\u4e0b\u306easciinema \u3067\u78ba\u8a8d\u3067\u304d\u307e\u3059\uff0e<\/p>\n<\/div>\n<p><a href=\"https:\/\/asciinema.org\/a\/761599\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/asciinema.org\/a\/761599.svg\" \/><\/a><\/p>\n<div class=\"paragraph\">\n<p>TUI \u3067\u3082\u3053\u306eAscii Moon, astroterm, tracker \u306a\u3069\u9762\u767d\u3044\u5929\u6587\u30a2\u30d7\u30ea\u304c\u5897\u3048\u3066\u3044\u308b\u611f\u3058\u304c\u3057\u307e\u3059\uff0e<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https:\/\/matoken.org\/blog\/2025\/01\/25\/astroterm\/\">astroterm\u3067\u7aef\u672b\u4e0a\u3067\u661f\u56f3\u3092\u697d\u3057\u3080 \u2013 matoken&#8217;s blog<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/matoken.org\/blog\/2025\/05\/31\/terminal-based-real-time-satellite-tracking\/\">terminal\u885b\u661f\u8ffd\u8de1\u30a2\u30d7\u30ea\u306etracker \u2013 matoken&#8217;s blog<\/a><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"title\">\u74b0\u5883<\/div>\n<div class=\"content\">\n<pre>$ .\/target\/release\/ascii_moon --version\nascii_moon 0.2.0\n$ cargo version\nwarning: `\/home\/matoken\/.cargo\/config` is deprecated in favor of `config.toml`\n  |\n  = help: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`\ncargo 1.92.0 (344c4567c 2025-10-21)\n$ cargo build --release\n$ lsb_release -dr\nNo LSB modules are available.\nDescription:    Raspbian GNU\/Linux 12 (bookworm)\nRelease:        12\n$ arch\narmv7l\n$ cat \/sys\/firmware\/devicetree\/base\/model\nRaspberry Pi 3 Model B Rev 1.2<\/pre>\n<\/div>\n<\/div>\n<blockquote class=\"mastodon-embed\" data-embed-url=\"https:\/\/inari.opencocon.org\/@matoken\/115004624735839734\/embed\" style=\"background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;\"><p> <a href=\"https:\/\/inari.opencocon.org\/@matoken\/115004624735839734\" target=\"_blank\" style=\"align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;\"> <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" width=\"32\" height=\"32\" viewBox=\"0 0 79 75\"><path d=\"M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z\" fill=\"currentColor\"\/><\/svg> <\/p>\n<div style=\"color: #787588; margin-top: 16px;\">Post by <a rel=\"mention\" class=\"u-url mention\" href=\"https:\/\/inari.opencocon.org\/@matoken\">@matoken<\/a><\/div>\n<div style=\"font-weight: 500;\">View on Mastodon<\/div>\n<p> <\/a> <\/p><\/blockquote>\n<p> <script data-allowed-prefixes=\"https:\/\/inari.opencocon.org\/\" async src=\"https:\/\/inari.opencocon.org\/embed.js\"><\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>asciimoon.com \u3068\u3044\u3046\u6708\u306e\u6e80\u3061\u6b20\u3051\u304casciiart \u3067\u8868\u73fe\u3055\u308c\u305f\u30b5\u30a4\u30c8\u304c\u3042\u308a\u307e\u3059\uff0e\u305f\u3060\u3057JavaScript\u304c\u7121\u3044\u3068\u6e80\u3061\u6b20\u3051\u306f\u5206\u304b\u3089\u305aw3m \u306a\u3069\u3067\u306f\u4eca\u3072\u3068\u3064\u306a\u611f\u3058\u3067\u3057\u305f\uff0e ASCII Moon \u306f\u305d\u306esi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"webmentions_disabled_pings":false,"webmentions_disabled":false,"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[809,6,546],"tags":[1246,44,654],"class_list":["post-4923","post","type-post","status-publish","format-standard","hentry","category-bookworm-raspberry-pi-os","category-linux","category-raspberry-pi-os","tag-moon","tag-raspberrypi","tag-tui"],"_links":{"self":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/comments?post=4923"}],"version-history":[{"count":2,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4923\/revisions"}],"predecessor-version":[{"id":4925,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/posts\/4923\/revisions\/4925"}],"wp:attachment":[{"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/media?parent=4923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/categories?post=4923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matoken.org\/blog\/wp-json\/wp\/v2\/tags?post=4923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}