TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Your family's day as a metro map, for TRMNL e-ink displays
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your family's day drawn as a transit map. One line per person runs across
the board under an hour strip; events are stops on their line, the people at
a shared event are joined across their lines, a holiday is named beside the
date and a day off is named at the line's head. The whole thing lays itself
out to the screen it lands on: TRMNL OG, OG V2, TRMNL X in landscape or
portrait, and every mashup size.
It runs entirely on TRMNL Serverless: plugin/src/transform.js fetches
your ICS feeds and normalises them, plugin/src/shared.liquid draws the map.
No server of your own.README 전문 보기 ↗Your family's day drawn as a transit map. One line per person runs across the board under an hour strip; events are stops on their line, the people at a shared event are joined across their lines, a holiday is named beside the date and a day off is named at the line's head. The whole thing lays itself out to the screen it lands on: TRMNL OG, OG V2, TRMNL X in landscape or portrait, and every mashup size.
It runs entirely on TRMNL Serverless: plugin/src/transform.js fetches
your ICS feeds and normalises them, plugin/src/shared.liquid draws the map.
No server of your own.
In TRMNL: Plugins → Recipes, find Metro Calendar and install it (direct link). Nothing to build or upload.
The plugin starts on an example day while Calendars is empty. Example Day picks which one; see the demo folder for what each shows.
To show your own calendars, paste their ICS links into Calendars, one per row, with a name in front of each:
Alex https://calendar.google.com/calendar/ical/…/basic.ics
Sam https://outlook.live.com/owa/calendar/…/calendar.ics
Sam webcal://p12-caldav.icloud.com/published/2/…
https://…/family.ics
https://…/holidays.ics holiday
Each name is a line on the board; the same name twice puts two calendars
on one line; a link with no name is the whole household's and shows on
every line. Google's public-holiday calendars are recognised by their
address; for another provider's, put holiday after the link. A link
with no name at all, in a list with no names, is a line named as its
service names the calendar.
To route one shared feed to several people by rules (a school calendar
with each child's class in the title), switch Set Up With to the
setup helper and paste a JSON configuration into Configuration. Build it with the
Configuration editor,
which also previews the map at every device size, or write it by hand
(see CONFIG.md). The editor opens as a step-by-step setup:
who lives here, then one screen per calendar with click-by-click
instructions for finding its link in Google Calendar, iCloud, Outlook,
Nextcloud or Synology, and a check that reads the calendar back to you
("Found 14 appointments, the next is Swimming on Tuesday at 4") before it
adds anything. It saves your answers in your browser as you go, and
pasting back what TRMNL already has reopens it with every answer filled
in. Add ?full to the address for the old page with every control on it
at once. No ICS links yet? The editor's Examples
section has three presets (Family of 4, Parent on Shifts,
One Shared Calendar): pick one, draw the map, then swap the
placeholder links for your own.
webcal:// link.{
"version": 1,
"docs": "https://raw.githubusercontent.com/ExcuseMi/trmnl-metro-calendar-plugin/main/CONFIG.md",
"lines": [{ "name": "Sam" }, { "name": "Alex" }, { "name": "Kids" }],
"calendars": [
{ "url": "https://…/work.ics", "line": "Sam" },
{ "url": "https://…/alex.ics", "line": "Alex" },
{ "url": "https://…/school.ics",
"rules": [{ "match": { "type": "word", "value": "L2" }, "line": "Kids" },
{ "match": { "type": "contains", "value": "staff" }, "hide": true }] }
]
}
A line is just a name: its side, texture and shade are worked out for you.
A calendar says whose it is with line; one without a line is the
household's, and anything in it no rule routes goes on every line.
Rules match on the title or another field (word, contains, exact,
regex), or on status, weekday, duration, time, any, and
and/or/not of those, and can assign one or more lines, rewrite the
title, or hide the event. Everything is documented in
CONFIG.md; what the drawing means in rules.md; how to change the board without making it worse in
MAINTENANCE.md.
Recurring events: daily, weekly, monthly and yearly rules are read with
INTERVAL, UNTIL, COUNT, BYDAY (including "the third Tuesday"),
BYMONTHDAY, BYMONTH and BYSETPOS, and EXDATE and RECURRENCE-ID
overrides are honoured. A rule by week number or day of the year, or one
firing several times a day, shows on its first date only.
trmnl.bettens.dev. It stores
nothing and logs no calendar address. It sits behind Cloudflare, whose
own logs this project does not control. If you would rather nothing
leave your browser, paste or upload the .ics text instead.cd plugin && trmnlp serve # local preview at http://127.0.0.1:4567
./test.sh # every suite
./test.sh node # only the ones without a browser (engine, geometry, editor)
./test.sh trmnl tests/layout/band_spec.rb # only the trmnlp suite: paths, rspec arguments
The suites that render the plugin or run its transform are RSpec files in
plugin/tests/, on trmnlp's own test framework
(trmnlp test, run in the trmnl/trmnlp image by tools/trmnl-test, needs
Docker); the report is under test/trmnl-report/.
To run your own copy rather than the recipe: Plugins → Private Plugins →
New, name it, save, then from plugin/ run ./push.sh. Not
trmnlp push: the server takes 100KB per file and the sources are several
times that, so push.sh strips the comments and minifies before it
uploads, and refuses to upload a build that does not render (the
shipped spec in plugin/tests/).
The board is drawn by solver/, a set of plain node modules bundled into the
template by plugin/bundle.js; plugin/src/transform.js turns calendars into
facts and decides nothing about the picture. rules.md is the specification
for what the drawing means.
The layout is verified with headless-Chrome screenshots of trmnlp build
output at real device sizes; the renders in docs/ come from that. The
editor needs to be served over http to load the plugin template for its
preview (python3 -m http.server from the repo root works).
MIT, see LICENSE.
The quickest way to a board that reads like the examples is the editor's AI prompt: it describes the plugin, your calendars and what makes a board read well. Paste it into an assistant, paste the answer back, and you have a configuration that names the lines, routes a mixed feed to the right people and trims the titles, without writing a rule by hand. Each demo board is also a worked example: demo/simpsons/config.json, demo/futurama/config.json, demo/friends/config.json.
Optional settings: Time Format, Location and Temperature Unit for the weather, the Weather Alert Banner with its rain chance, cold and heat thresholds, and Show The Example Anyway.