Embed shellmap on your blog
Drop a placeholder <div> and one script tag into any HTML page. Renders a command card with 227 commands available across bash, zsh, fish, PowerShell, and cmd.exe — copy buttons included.
The snippet
Paste this into your HTML where you want the card to appear. Replace grep with any of the 227 supported command slugs (see the full list below).
<div data-shellmap-cmd="grep"></div>
<script src="https://shellmap.eversources.app/embed.js" async></script>The script tag is needed once per page — the IIFE auto-discovers every data-shellmap-cmddiv on the page and mounts each one into a shadow DOM so host-page CSS can't leak in.
Live preview
Three widgets rendered live on this page — each from a different rooting (Unix utility, PowerShell-rooted reverse lookup, archive tool with Windows-side divergence). Try the tabs and copy buttons.
The widget auto-themes via prefers-color-scheme— it follows the visitor's OS-level dark/light preference inside its own shadow DOM. To force a specific theme regardless of OS, add data-shellmap-theme="dark" or data-shellmap-theme="light" to the placeholder <div>.
How it works
- Placeholder. Add a
<div data-shellmap-cmd="<command>"></div>where the card should render. Thedata-shellmap-cmdattribute value is the command slug — e.g.grep,ls,Get-ChildItem. - Loader. Include
<script src="https://shellmap.eversources.app/embed.js" async></script>once per page (anywhere — the script defers viaDOMContentLoaded). - Fetches JSON from
/embed/<slug>with permissive CORS (statically generated at build time, cached at the edge for 1 hour client-side, 1 day on the CDN). - Shadow DOM. Each card mounts into
attachShadow({ mode: 'open' })with inline styles, so the host page's CSS, Tailwind reset, Bootstrap, etc, can't bleed in and break the layout. - Zero dependencies. Vanilla JS, ~3KB minified. Works in every browser with shadow DOM support (Chrome 53+, Firefox 63+, Safari 10+, Edge 79+).
Supported commands (227)
Any of the 227 command slugs below works as the data-shellmap-cmd value. Click any to see its canonical page.
- ls
- grep
- cat
- find
- cp
- mv
- rm
- mkdir
- pwd
- cd
- tail
- head
- sort
- wc
- kill
- top
- ps
- jobs
- bg
- fg
- sed
- awk
- tr
- cut
- uniq
- xargs
- curl
- wget
- netstat
- nslookup
- ping
- tar
- zip
- gzip
- chmod
- chown
- chgrp
- select-string
- tee
- diff
- patch
- stat
- file
- ssh
- scp
- rsync
- which
- whereis
- type
- command-v
- source
- set
- unset
- read
- printf
- eval
- export
- alias
- unalias
- pushd
- popd
- dirs
- touch
- history
- test
- trap
- wait
- time
- getopts
- declare
- function
- return
- exec
- realpath
- double-bracket
- expr
- times
- fc
- typeset
- readlink
- more
- less
- tac
- whois
- gpg
- passwd
- telnet
- ftp
- sftp
- get-process
- get-content
- invoke-webrequest
- new-item
- remove-item
- dig
- df
- du
- nohup
- screen
- id
- get-childitem
- host
- ln
- tree
- bang-bang
- bang-dollar
- rsh
- rlogin
- get-service
- stop-service
- move-item
- copy-item
- test-path
- resolve-path
- where-object
- foreach-object
- sort-object
- select-object
- measure-object
- set-location
- get-location
- write-output
- get-help
- test-connection
- compare-object
- get-command
- clear-host
- start-process
- out-file
- write-host
- set-content
- add-content
- group-object
- invoke-expression
- mount
- umount
- dd
- lsblk
- unzip
- pkill
- pgrep
- lsof
- pidof
- systemctl
- ip
- ifconfig
- ss
- route
- tracepath
- whoami
- ssh-keygen
- who
- groups
- usermod
- tmux
- crontab
- journalctl
- dmesg
- man
- env
- printenv
- date
- uname
- free
- apt
- brew
- yum
- rpm
- pip
- echo
- sleep
- yes
- nc
- comm
- basename
- dirname
- mktemp
- bc
- seq
- nl
- paste
- split
- iconv
- od
- invoke-restmethod
- convertto-json
- convertfrom-json
- export-csv
- import-csv
- jq
- xxd
- hexdump
- strings
- cmp
- get-date
- push-location
- pop-location
- get-member
- read-host
- sha256sum
- md5sum
- sha1sum
- shasum
- sha512sum
- nice
- renice
- disown
- ulimit
- exit
- break
- continue
- let
- column
- sudo
- su
- umask
- getfacl
- setfacl
- 7z
- bzip2
- xz
- traceroute
- yq
- xmllint
- dialog
- expect
- strace
License & attribution
The widget is free to embed on any site, commercial or non-commercial. The card's footer links back to the full command page on shellmap — that's the only attribution we ask for, and it's baked in. No analytics, no tracking, no cookies set by the widget.