Skip to content

gnostr-org/gnostr-web.archive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gnostr-web - publishing and extraction


For content command examples:

npm run install-all:

npm run install-all

OR

npm install-curl

npm install-jq

npm install-python3


gnostr-query > public/app.js

python3 <(curl -s \
https://raw.githubusercontent.com/gnostr-org/gnostr/master/template/gnostr-query) \
-i \
4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941 | \
gnostr-cat \
-u \
ws://127.0.0.1:2016 | \
jq .[2].content | \
sed 's/\"//' | \
rev | \
sed 's/\"//' | \
sed 's/\\n//' | \
rev > public/app.js

The CSS Stylesheet as kind 5393

{
  "content": "body {\n  margin:0;\n  width:100vw;\n  height: 100vh;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  overflow:hidden;\n  background-size: cover;\n  background-color:#000000;\n  color:white;\n  font-family: Verdana, Geneva, Tahoma, sans-serif;\n  font-weight: bold;\n}\n.background-text {\n  font-size: 200px;\n  letter-spacing: 20px;\n\n  color:transparent;\n  background-clip: text;\n  -webkit-text-fill-color: transparent;\n  -webkit-background-clip: text;\n\n  background-image: url(\"3c55892674bd88431fd0d9b611e96e65c91802a128596bf3bcd6ca6c4aa2d5c7\");\n  background-size: 120%;  \n  animation: bg-animation 30s cubic-bezier(0.3,0,0.7,1) infinite;\n}\n@keyframes bg-animation {\n  0% {background-position: 50% 50%;}\n  33% {background-position: 100% 100%;}\n  66% {background-position: 0% 0%;}\n  100% {background-position: 50% 50%;}\n}",
  "created_at": 1690408572,
  "id": "7ccda059f9f4b7ddfe8e39aa4f3a41f2c262bfee9203b5894eff36a8f9499a05",
  "kind": 5393,
  "pubkey": "d8313563e54827bba3826017ce79c400e4b661d098295af6ca6b3dad620d7bea",
  "sig": "7e13d1de11081fbcd5fedfaa68f8172b3335548f33e3b3ecb485d5adf60bc9a9454f1bba536a68ae36f76ccccd4f5a51a8f4bd35393e73746e5b42e29f02e0fb",
  "tags": []
}

The Picture as Kind 1065/1964

{
  "content": "",
  "created_at": 1690408198,
  "id": "3c55892674bd88431fd0d9b611e96e65c91802a128596bf3bcd6ca6c4aa2d5c7",
  "kind": 1065,
  "pubkey": "f8ff11c7a7d3478355d3b4d174e5a473797a906ea4aa61aa9b6bc0652c1ea17a",
  "sig": "c165a741f217b270e9da243f37b2b4091843b470b91c1f2bd51abc4f93a59668285c8af19eae5b73367273dad47c8201a0496f6a4b6b3a1564398f6c3474d826",
  "tags": [
    ["e","844cfc062e21378fd59a00e7153d50b93221f4c9c2019e055365a951238adebe"],
    ["m","image/jpeg"],
    ["x","c1fa31650ed9508eefd8aad7ce97c48e4caceef775d2962123bbd939bcfdd102"],
    ["size","35478"],
    ["dim","600x291"],
    ["blurhash","ZCDQv]NZWAa$S0o4NGS0WWIPfioLa}j@ayxZspa{A8oMs;a_o3bENGjcoL-Cj[WWj?juju$+WnWV"]
  ]
}
gnostr-query -i \
3c55892674bd88431fd0d9b611e96e65c91802a128596bf3bcd6ca6c4aa2d5c7 | \
gnostr-cat -u \
ws://localhost:6102 | \
jq | \
sed 's/\"//' | \
rev | \
sed 's/\"//' | \
rev
gnostr-query -i \
3c55892674bd88431fd0d9b611e96e65c91802a128596bf3bcd6ca6c4aa2d5c7 | \
gnostr-cat -u \
ws://127.0.0.1:6102 | \
jq .[2].tags | \
jq .[5] | \
jq .[1] | \
tr -d "\"" | \
base64

The JS JavaScript as kind 5394

{
  "content": "const msgs = [\n    \"Hello, Nostr\",\n    \"Hola, Nostr\",\n    \"Ciao, Nostr\", \n    \"こんにちは, Nostr\"\n]\n\nvar index = 0\n\nfunction changeMessage() {\n    // Refresh DIV with new content.\n    index = (index+1) % msgs.length\n    document.getElementById(\"msg\").innerHTML = msgs[index]\n}\n\nlet reload = window.setInterval('changeMessage()', 1000);",
  "created_at": 1690405834,
  "id": "4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941",
  "kind": 5394,
  "pubkey": "218550284d467cacc0575e29f9a51b5ffa0aea0caa7d42625a520865c1e217e9",
  "sig": "35b73a45a899c663cd11e38b84f1d7e54fc18c726f504981ca8692bd53997c99eb6a224b29aa320b802c691289b915ccd7f2d6b846c0ba6b5312fb52affb460b",
  "tags": []
}
gnostr-query -i \
4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941 | \
gnostr-cat -u \
ws://localhost:6102 | \
jq .[2] | \
jq .content | \
sed 's/\"//' | \
rev | \
sed 's/\"//' | \
rev

The HTML WebPage as kind 5392

{
  "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Nostr Web Test</title>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"7ccda059f9f4b7ddfe8e39aa4f3a41f2c262bfee9203b5894eff36a8f9499a05\" />\n</head>\n<body>\n    <div class=\"background-text\" id=\"msg\">HELLO, Nostr</div>\n\n    <script src=\"4885034c358f0f3e57bfa3018685801e49d4a384c828c6ad0f384fbacd19d941\"></script>\n</body>\n</html>",
  "created_at": 1690408656,
  "id": "1efc13c6ffbaf60c0347baf89f6ecaad22f74abf82165fcdb55ef7e8cca8a597",
  "kind": 5392,
  "pubkey": "dca7cf1f68f7a37e83343954f6292361b071fde4f0eb33374852892bccb2ac11",
  "sig": "6faf0c63b3b7a9e702013aabc22b8eb8fe8e9e2d91662e2dd5ec73d8ba7db066e09db9135835a41aaab89c9391d02a66ab1c2d55722e37e18e58e3bc3020bd5a",
  "tags": []
}
gnostr-query -i \
1efc13c6ffbaf60c0347baf89f6ecaad22f74abf82165fcdb55ef7e8cca8a597 | \
gnostr-cat -u \
ws://localhost:6102 | \
jq .[2].content | \
sed 's/\"//' | \
rev | \
sed 's/\"//' | \
rev | \
sed 's/<!DOCTYPE html>//' | \
pandoc -o index.html

Publishing in "gnostr" context

 set RELAY_COMMAND="gnostr-cat -u ws://127.0.0.1" && gnostr --sec $(gnostr-sha256) --kind 5393 --tag gnostr gnostr --tag gnostr-web gnostr-web  --envelope --content "$(cat public/app.css)" 

Extracting in "gnostr" context

set PORT=6102 && set RELAY_COMMAND="gnostr-cat -u ws://127.0.0.1:$PORT" && gnostr-query -a a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd --kind 5393 -g weeble 2097 | $RELAY_COMMAND

Running

Install modules: npm install

To run, do: node index.mjs

About

gnostr-web: publishing and extracting web content

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 47.5%
  • C++ 22.6%
  • Makefile 13.5%
  • JavaScript 7.8%
  • Shell 2.6%
  • CSS 2.5%
  • Other 3.5%