_×
File Edit View Favorites Tools Help [Sign Up] [Sign In]
Address:
✉ Messages ×
Loading...

🧩 Scripts you can put on your site

A user site is your HTML, so you can already build whatever you like. Scripts are the bits you cannot build on your own: the ones that need somewhere to keep things, that need to know who is looking, and that need a form that can post back. A guestbook, a forum, a poll, a hit counter.

You add one by typing its code into a page. That is all there is to it. There is no panel to configure and nothing to install.

[lp:guestbook]

17 of them at the moment, 11 of which take posts from visitors. This page is built from the scripts themselves, so it is never out of date.

Classics

Hit Counter Anyone can see it

An odometer showing how many people have been by. One count per visitor per day, so a refresh does not pad it.

[lp:hitcounter]

SettingWhat it does
idName it if you want more than one. Default main.
styleodometer (black LCD) or plain. Default odometer.
digitsHow many digits to pad to. Default 6.
labelText above the number. Default "You are visitor".
For example
[lp:hitcounter]
[lp:hitcounter style="plain" label="Visitors so far"]

Site of the Day Anyone can see it

Shows one other LonePortal user site, picked fresh each day. Everybody sees the same one, so it is a real spotlight rather than a random link.

[lp:siteoftheday]

SettingWhat it does
titleHeading. Default "Site of the Day".
mine1 lets your own site come up. Default 0, which skips it.
countHow many to show. Default 1, max 5.
For example
[lp:siteoftheday]
[lp:siteoftheday title="Go and visit" count=3]

Who is Online Anyone can see it

Shows who is looking at your site right now. Members by name, everyone else counted as guests.

[lp:whosonline]

SettingWhat it does
idName it. Default main.
minutesHow recent counts as online. Default 15, max 120.
titleHeading. Default "Who is Online".
For example
[lp:whosonline]
[lp:whosonline minutes=30 title="Currently browsing"]
Community

Chatroom Members only Takes posts

A room for talking or roleplay. Members post under a character name if they want one, and the room can refresh itself while you are reading.

[lp:chatroom]

SettingWhat it does
idName it. One id per room, so you can run more than one.
titleHeading. Default "Chatroom".
limitLines kept on screen. Default 40, max 200.
rp1 shows the character name box. Default 1, set 0 for a plain chat.
refreshSeconds between auto refreshes. Default 20, 0 turns it off.
For example
[lp:chatroom]
[lp:chatroom id="tavern" title="The Rusty Tankard" limit=60]
[lp:chatroom rp=0 refresh=0]

Collection Members only Takes posts

Everybody keeps their own list here: films, games, records, books, whatever you set it to. Search it to check whether you already own something, and look through what other members have.

[lp:collection kind="Films"]

SettingWhat it does
idName it. One id per list, so a site can run films and games side by side.
kindWhat is being collected, like Films or Games. Default Items.
titleHeading. Defaults to the kind.
field2Label for the middle box. Default Year.
field3Label for the third box. Default Format.
limitEntries shown per page. Default 25, max 100.
wish1 keeps a wishlist alongside what people own. Default 1.
For example
[lp:collection kind="Films"]
[lp:collection id="games" kind="Games" field3="Console"]
[lp:collection id="vinyl" kind="Records" field2="Year" field3="Label" wish=0]

Comments Members only Takes posts

A comment thread tied to the page it is on. Put it on your layout once and every page gets its own thread. Members only.

[lp:comments]

SettingWhat it does
idName it if you want more than one on a page. Default main.
titleHeading. Default "Comments".
limitHow many to show. Default 50.
orderasc for oldest first, desc for newest first. Default asc.
For example
[lp:comments]
[lp:comments title="Thoughts?" order=desc]

Forum Members only Takes posts

A proper little forum on your site. Members start topics and reply to each other, busiest topic floats to the top, and you can hide or delete anything.

[lp:forum]

SettingWhat it does
idName it if you want more than one. Default main.
titleHeading. Default "Forum".
limitTopics per page. Default 15, max 50.
locked1 lets people reply but stops new topics. Default 0.
For example
[lp:forum]
[lp:forum title="The Lounge" limit=25]

Guestbook Members only Takes posts

Visitors sign your page and leave a message. Members only, so it does not fill up with spam. You can hide any entry from your dashboard.

[lp:guestbook]

SettingWhat it does
idName it if you want more than one. Default main.
titleHeading. Default "Sign my guestbook".
limitHow many entries to show. Default 20, max 200.
For example
[lp:guestbook]
[lp:guestbook title="Leave a note!" limit=50]

Poll Members only Takes posts

Ask your visitors something. Members only, one vote each, results shown as bars. Change the question by editing the shortcode.

[lp:poll q="Best console?" options="SNES|N64|Genesis"]

SettingWhat it does
idName it. Change the id to start a fresh poll and keep the old votes. Default main.
qThe question.
optionsThe choices, separated by a pipe character.
resultsalways to show results before voting, after to hide them until someone votes. Default after.
For example
[lp:poll q="Favourite retro console?" options="SNES|N64|Genesis|Atari 2600"]
[lp:poll id="round2" q="Pizza topping?" options="Pineapple|Not pineapple" results=always]
Content

Blog Members only Takes posts

Write posts on your own site. Only you can post, anybody can read, and you can edit a post after the fact. Put [lp:comments] underneath if you want replies.

[lp:blog]

SettingWhat it does
idName it if you want more than one. Default main.
titleHeading. Default "Blog".
limitPosts per page. Default 5, max 25.
full1 shows every post in full on the list. Default 0, which shows openings.
For example
[lp:blog]
[lp:blog title="Dev Log" limit=10 full=1]

RSS Feed Anyone can see it

Pulls headlines from any RSS or Atom feed and lists them. Game news, a webcomic, another LonePortal site, anything with a feed. Cached for an hour.

[lp:rss url="https://example.com/feed.xml"]

SettingWhat it does
idName it if you want more than one. Default main.
urlThe feed address. Required. Must be http or https.
limitHow many headlines. Default 8, max 25.
titleHeading. Defaults to the feed title.
datesyes or no. Default yes.
For example
[lp:rss url="https://example.com/feed.xml"]
[lp:rss id="news" url="https://example.com/rss" limit=5 title="Game News"]

Recipes Members only Takes posts

Proper recipe cards with ingredients, steps, timings and servings. Yours by default, or open it up and let members add theirs.

[lp:recipes]

SettingWhat it does
idName it if you want more than one. Default main.
titleHeading. Default "Recipes".
open1 lets any member add a recipe. Default 0, just you.
limitRecipes per page. Default 12, max 50.
For example
[lp:recipes]
[lp:recipes title="Family Cookbook" open=1]

Reviews Members only Takes posts

Let members rate and review something out of five stars. One review each, an average with a breakdown, and you can hide anything unfair.

[lp:reviews of="Chrono Trigger"]

SettingWhat it does
idName it. Use a different id per thing you are reviewing.
ofWhat is being reviewed. Shown as the heading.
limitReviews per page. Default 10, max 50.
For example
[lp:reviews of="Chrono Trigger"]
[lp:reviews id="sonic2" of="Sonic 2" limit=25]

Story Archive Members only Takes posts

A submission archive for creepypasta, SCP style entries or any long form writing. Members submit, you approve, readers get a clean reading page.

[lp:stories]

SettingWhat it does
idName it if you want more than one. Default main.
titleHeading. Default "Archive".
submit1 lets members submit, 0 makes it yours alone. Default 1.
queue1 holds submissions for your approval. Default 1. Turn it off and they go straight up.
limitEntries per page. Default 15, max 50.
prefixPuts a code in front of each title, like SCP. Off by default.
For example
[lp:stories]
[lp:stories title="The Archive" prefix="SCP" limit=25]
[lp:stories submit=0]
Decoration

Media Anyone can see it

Drop anything from the LonePortal media library onto your page. Pick one exact image, or let it choose from a category so the page changes by itself each day.

[lp:media type="icon"]

SettingWhat it does
itemOne exact image, using the code from the Media tab, like m42.
typegallery, gif, icon, background, wallpaper or misc. Ignored when you name an item.
catNarrow it to one category.
modeone for a single image, strip for a row of them. Default one.
countHow many in a strip. Default 5, max 24.
daily1 keeps the same pick all day, 0 changes it every load. Default 1.
wMax width in pixels, so a wallpaper does not swallow your page.
link1 links the image to its full size copy. Default 0.
For example
[lp:media item="m42"]
[lp:media type="icon" cat="buttons"]
[lp:media type="gallery" mode="strip" count=6 w=80]
Earning

Giveaway Members only Takes posts

Run an LP$ giveaway on your site, paid from your site wallet. Members enter once by default, and you draw a winner when you are ready.

[lp:giveaway prize=250]

SettingWhat it does
idName it. Use a fresh id for each giveaway you run.
titleHeading. Default "Giveaway".
prizeLP$ the winner gets. Required.
whatWhat people are entering for, in your own words.
joinsEntries one person may have. Default 1.
endsClosing date, like 2026-09-20. Optional.
For example
[lp:giveaway prize=250]
[lp:giveaway id="launch" prize=1000 what="Launch week draw" ends="2026-10-01"]

LonePortal Ads Anyone can see it

Shows a LonePortal ad on your site. You earn LP$1 each time a member clicks one, once per member per day, up to LP$50 a day. The LP$ comes from whoever bought the ad. You can buy one yourself on the Wallet tab of your dashboard.

[lp:ads]

SettingWhat it does
idName the slot so you can tell them apart in your stats. Default main.
sizebanner (728x90), half (468x60) or box (250x250). Default banner.
labelyes or no, shows the small "Ad" marker. Default yes, and it stays on for honesty.
For example
[lp:ads]
[lp:ads id="footer" size=half]
[lp:ads id="side" size=box]

💡 How they work

Where to type it

Anywhere in a page, in your dashboard under Pages. It sits in your HTML like any other line, and whatever is around it stays exactly where you put it. The Scripts tab has an Add to page button that does it for you.

Nothing goes live until you publish

Everything you add lands in your demo build first. Preview it, move it, take it out again. The live site does not change until you press Publish Changes, and Revert to Previous Published throws the demo build away and starts again from whatever is live. Those two buttons are the whole safety net.

Two of the same thing

Give them different id values and they keep their own separate contents. Two guestbooks, one on each page, that do not share entries:

[lp:guestbook id="main"]
[lp:guestbook id="art"]

Change an id later and you get a fresh empty one. The old contents are not deleted, they are just not on screen any more, so changing it back brings them with it.

Your site, your rules

On your own pages you get Hide and Delete next to every post anybody leaves. Nobody else sees those buttons. Hiding is not deleting: a hidden post can come back, so it is the safer one to reach for first.

Pictures and emoji

Every posting box has an emoji strip and a GIF picker under it, and the GIFs come from the LonePortal media library. To put an image in a post by hand:

[img]https://loneportal.com/assets/...[/img]

Only images hosted here are allowed, which is deliberate: it means nobody can use your guestbook to load a tracking pixel from somewhere else. The Media tab in your dashboard has everything with the tag already written out.

Paying people, and being paid

The Wallet tab holds LP$ you have set aside for your site. Turn on pay per post and members earn LP$ for signing your guestbook or leaving a comment, up to the daily limits you set. Giveaways come out of the same wallet, which is why a giveaway can say on the page whether the prize is actually set aside.

The other direction is [lp:ads]: an ad slot that earns you LP$1 per member who clicks it, once per person per day.

What visitors can and cannot type

Anything anybody posts is escaped before it is shown, so nothing typed into a guestbook can run as code on your page. A small set of things are turned back into formatting afterwards: [b]bold[/b], [i]italics[/i], links, and [img] for LonePortal hosted images. Links get nofollow so a guestbook cannot be farmed for search ranking.

If something is not there

A shortcode you mistyped shows as Unknown script rather than disappearing, because staring at an empty space wondering where your guestbook went is a miserable afternoon. A script that hits a problem shows a small note and the rest of your page carries on as normal.

🛠 Go to your dashboard   Browse user sites   Media library

Done