Easy-to-manage touch screens
무료 오픈소스 터치스크린으로 USB 설정 가이드, 드래그‑드롭 편집기, 로컬 제어를 제공하며 Home Assistant용으로 제작되었습니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Pinfo's website
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Source for pinfoapp.com, Pinfo's marketing website, served via GitHub Pages.
index.html — landing pageprivacy/index.html — privacy policy, served at /privacytos/index.html — terms of service, served at /tossite-notice/index.html — German Impressum (site notice), served at /site-noticeevent/index.html — event landing page, served at /event404.html — catch-all fallback that also handles per-event links
(/event/<uuid>) on GitHub Pages, since GitHub Pages has no server-side
rewrites. Kept byte-identical to event/index.html on purpose — see
"Two hosting setups" below. If you edit one, copy it over the other:
cp event/index.html 404.html.functions/event/[id].js — Cloudflare Pages Function that does the same
job as 404.html/event/index.html server-side (see below). Only takes
effect once this repo is actually deployed on Cloudflare Pages._headers, _routes.json — Cloudflare Pages config (ignored by GitHub
Pages). See "Two hosting setups".style.css — shared styleslib/carousel.js — testimonial carousel on the landing pagelib/qna.js — FAQ accordion on the landing pageassets/ — images, icons, badgesCNAME — custom domain (pinfoapp.com)robots.txt — allows all crawlers, points at sitemap.xmlsitemap.xml — lists the site's static pagesThis repo currently supports two ways of being hosted, and only one is actually live:
/event/<uuid> has no matching file, so it falls through to
404.html, served with an HTTP 404 status. Buttons/tags are filled in by
client-side JS after a Supabase fetch, so link-preview crawlers (which
don't run JS and mostly require a 200) never see the real event title,
image, or the magic-invite buttons — the crawler only sees the generic
placeholder card. This is a real, known limitation of static hosting, not
a bug to chase further here.functions/event/[id].js
server-renders the real og:/twitter: tags and returns HTTP 200 for
/event/<uuid>, which is what actually makes link previews work in
WhatsApp/iMessage/Slack. This requires the account owner to (a) create a
Cloudflare Pages project connected to this GitHub repo, and (b) move
pinfoapp.com's nameservers to Cloudflare and add it as the project's
custom domain. Neither step can be done from a coding session — both need
the Cloudflare dashboard and the domain registrar. Until that happens,
this repo keeps working exactly as it does today on GitHub Pages; none of
the Cloudflare-only files (functions/, _headers, _routes.json) do
anything on GitHub Pages, they're just inert.Because of this, event/index.html and 404.html must stay identical.
event/index.html is what Cloudflare's Function fetches as its template and
what serves the exact /event URL on GitHub Pages; 404.html is what
actually serves /event/<uuid> on GitHub Pages today. Any change to the
event page's markup or script (new buttons, copy changes, meta tags) needs
to go into both files, or the two hosting setups will silently drift and
whichever one is live at the time won't have the fix. Once the Cloudflare
cutover happens, 404.html's only remaining job is the true 404 case
(non-event unmatched paths), and it could reasonably be trimmed back down
at that point.
Event links can carry an invite token: https://pinfoapp.com/event/<event_id>?t=<token>.
Opening the link never validates or consumes the token on the website - that
happens only inside the app via an authenticated call, so that a chat app's
link-preview bot (which fetches the URL to build its card) can't burn the
invite before the person taps it. event/index.html/404.html:
?t= is absent — no
buttons, unchanged from before this feature.?t= is present, show two buttons: "Get Pinfo" (App Store) and
"I have Pinfo - open my invite" (pinfo://event/<event_id>?t=<token>, the
app's custom scheme — required because a pinfoapp.com link tapped from a
page already on pinfoapp.com stays in Safari; Universal Links only fire
coming from another app).index.html's <head> carries a meta description, canonical URL, Open Graph
and Twitter Card tags, and SoftwareApplication JSON-LD, so links shared in
WhatsApp/iMessage/Slack render a title, description, and image instead of a
bare URL.aggregateRating to the JSON-LD until there is a real App Store
rating to show — fabricated review markup risks a search-quality penalty.<title>/<h1>/meta description should track the App Store
listing's positioning (discovery/nightlife, not "event planning" — see the
iOS repo's ASO playbook) so the site and the App Store target the same terms.Event links of the form https://pinfoapp.com/event/<uuid> are meant to open the Pinfo iOS app directly instead of Safari.
.well-known/apple-app-site-association and apple-app-site-association (root copy, for pre-iOS 9.3.2 compatibility) declare the association with app ID C2M4B3336A.Pinfo.PinfoApp for the /event/* path..nojekyll is required so GitHub Pages serves the .well-known/ directory (Jekyll hides dot-directories by default).application/octet-stream, not application/json. This is expected and does not need to change — iOS 9.3.1+ does not require the application/json content type. _headers forces application/json for both AASA paths on Cloudflare Pages instead, once/if that's live — see "Two hosting setups"./event/<uuid> cannot resolve to a static per-path file. event/index.html serves the exact /event URL; individual event links (/event/<uuid>) fall through to 404.html, which reads the event id from the path, fetches the event from Supabase for a rich preview (title/date/cover image), and offers to open the app (pinfo://event/<uuid>) or the App Store. GitHub Pages returns these with an HTTP 404 status even though the page renders correctly — some link-preview crawlers may reject that status, which is a known limitation of this hosting setup, not a bug in the page itself.curl -I https://pinfoapp.com/.well-known/apple-app-site-association
Should return 200 with a Content-Type of application/octet-stream.
pinfoapp.com (apex)A records for pinfoapp.com pointing to
185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153The code side of this migration is done and merged (functions/event/[id].js,
_headers, _routes.json). What's left needs the Cloudflare account and the
domain registrar, which no coding session can do:
PinfoApp/pinfoapp.github.io), branch master. Build
command: none (static site). Build output directory: / (repo root —
Cloudflare auto-detects functions/).pinfoapp.com's nameservers to Cloudflare, then add pinfoapp.com
as the Pages project's custom domain (the Cloudflare dashboard walks
through both together).curl -I https://pinfoapp.com/event/<a real public event uuid> → 200
(not 404), and curl -s on the same URL shows the real event title
and image in the raw og: tags.200 with the generic card
and no leaked details.Content-Type: application/json.apps.apple.com from any
sandbox used so far): confirm https://apps.apple.com/app/id6463236759
still resolves to the real Pinfo App Store listing. It's referenced
throughout this repo (event/index.html, 404.html, index.html,
the Cloudflare Function's fallback card) as the canonical download link.