LinkGram
×

Welcome to LinkGram

Create a link space, drop URLs in, and share a short address. Public spaces are indexed below; private spaces stay off the directory.

Example: http://link.commongrounds.cc/?demo

Create a link space
Listing:

Password unlocks edit, delete, listing, and space settings. Both public and private spaces count human views.

Open a link space

Uses

LinkGram is a small PHP app for link spaces: named folders of URLs with Open Graph previews, inline media, and a short address. There is no account system. Each space has a 1–10 character suffix and a password that unlocks management.

Typical live URL shapes:

  • Home / directory: http://link.commongrounds.cc/
  • Query: http://link.commongrounds.cc/?demo
  • Pretty path (Apache rewrite or php -S … router.php): http://link.commongrounds.cc/demo

Spaces are JSON files under linkspaces/. That directory is blocked from direct web access.

1. Personal reading list

Who: one person
Listing: private
Who adds links: owner only

Create a private space (notes, later, inbox). Paste article URLs as you go. Click a row to expand the Open Graph card (image, title, description) instead of leaving the page. Use Find when the list grows.

The suffix is the secret. Do not put a private space in the public directory. Anyone who has the URL can view it; only the password can add or delete.

Share: copy the space URL into a password manager or a note to yourself. Do not post it publicly.

2. Shared clip file for a small team

Who: a handful of people who know the password
Listing: private
Who adds links: owner, or anyone who unlocks

Same as a reading list, but the password is shared in the team channel. Researchers drop tickets, docs, and tickets’ related pages. Unlock once per browser session to add, edit, delete, or refresh a stale preview.

Human view counts on the space show whether anyone actually opened it, without logging identities.

Share: one URL in Slack/email. Change the password from Management if someone leaves.

3. Public bulletin / community board

Who: visitors you may never meet
Listing: public (appears on the home directory)
Who adds links: anyone with the URL

Create a public space (board, town, flea). Visitors add URLs; they cannot edit or delete without the password. The home page indexes public spaces by views, then recency.

Use a title and description so the directory row makes sense (Yard sale links, Neighborhood resources).

Moderation: unlock with the password and delete junk. Duplicate URLs are rejected. There is a cap of 100 links per space.

4. Event or conference resource board

Who: attendees
Listing: public for the duration, then private or left as an archive
Who adds links: organizers (private), or attendees (public)

Before the event, create conf2026 or summit. Drop the run-of-show PDF, slides, maps, and session YouTube links.

  • Organizer-only adds: keep it private and print/QR the URL on badges.
  • Crowd-sourced extras: switch Listing to public so attendees can paste recaps.

PDFs and images expand inline. Session videos play in sequence from the transport bar.

After the event, set the space back to private if you do not want it in the site directory.

5. Classroom or workshop pack

Who: a teacher plus students
Listing: public or private
Who adds links: teacher, optionally students

One space per class or week (bio3, week12). Teacher unlocks, pastes readings, problem PDFs, and demo videos. Students open the short URL on phones; type scales with screen size.

If students should contribute sources, make the space public. If it is a closed reading pack, keep it private and put the URL in the LMS.

Playable pack: YouTube + MP3s use Sequence for “watch in this order” or Shuffle for a listening warm-up.

6. Listening room / mixtape

Who: friends, a show, a radio hour
Listing: public if you want discovery; private for a guest list
Who adds links: owner (private) or guests (public)

Paste YouTube, Vimeo, SoundCloud, direct .mp3 / .ogg / .m4a files, or Shoutcast / Icecast stream URLs (including .m3u / .pls playlists). The transport bar appears when at least one playable item exists.

  • Sequence: listed order (newest first on the page).
  • Shuffle: random order; the setting is remembered per space in the browser.
  • Click a row or Play to expand the player inline. When a track ends, the next one opens.

Direct video files (.mp4, .webm) and HLS playlists (.m3u8) play inline the same way.

7. Document and image drop

Who: a working group exchanging files that already live on the web
Listing: usually private
Who adds links: owner or unlocked members

LinkGram does not host uploads. It embeds URLs that already point at files:

KindExamplesExpand shows
PDF…/brief.pdfinline PDF
Image.jpg .png .gif .webp .svgimage
Audio.mp3 .wav .ogg .m4aHTML5 audio
RadioShoutcast / Icecast, .m3u .plslive audio
Video.mp4 .webm .m3u8HTML5 video
Pageordinary https://…Open Graph card

Use the Note field for “print this”, “latest draft”, page numbers, etc.

8. Public directory as a tiny link portal

Who: the site operator
Listing: many public spaces
Who adds links: each space’s community

The home page is the index: title, suffix, link count, human views, last update. Operators create several public spaces instead of one giant list (music, docs, news). Search engines may index public spaces; private spaces send noindex.

Views are human-ish: obvious bots are skipped, and the same browser is not counted again for 12 hours.

9. Short-address sharing

Who: anyone who needs a URL that fits on a sticker or SMS
Listing: either

Pick a memorable suffix (map, menu, qr). Copy the space URL from the toolbar. Share on a row copies a link to that item (/?menu#id) so it opens expanded. On Apache with the shipped rewrite rules, /menu and /?menu both work.

Reserved names such as index, api, admin, and space cannot be used as suffixes.

10. Local or USB demo

Who: developer or presenter with no public host

php -S localhost:8080 router.php

Open http://localhost:8080/. Pretty suffixes (/demo) work through router.php. Data still lands in linkspaces/. Fine for a talk, a classroom machine, or testing before copying the folder to a host.

Deployment notes that affect these uses
  • Runtime: PHP with curl (Open Graph fetch). No database.
  • Apache: deploy the folder, enable mod_rewrite, use .htaccess (a non-dot htaccess copy is included for hosts that hide dotfiles).
  • Built-in server: php -S localhost:8080 router.php.
  • Disk: linkspaces/<suffix>/links.json plus a deny rule so those files are not downloadable as URLs.
  • Limits: suffix 1–10 letters or numbers; 100 links per space; HTTP(S) URLs only.
  • Public vs private: public spaces are listed and accept visitor adds; private spaces are unlisted, noindex, and only the unlocked owner can add.
  • Password: required to create a space; unlocks edit, delete, listing, title, and password change. It is not a login for viewers.
  • Previews: Open Graph is fetched when a link is added and cached. Unlock and Refresh if a card is empty or stale.
Choosing public or private
If you need…Choose
Discovery on the home pagePublic
Crowd-sourced linksPublic
A URL that is easy to guess but not advertisedPrivate
Only you (or people with the password) may addPrivate
Search engines to skip itPrivate
A QR code on a posterEither; public if strangers should contribute

You can switch listing later from Management without changing the suffix or existing links.

Public directory
Title Suffix Links Views Updated
2 public spaces indexed. LinkGram 1.08 — Amfile.org