From 2764787e0b8278846e47d172dc5815b5e2fcb116 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:08:52 +0200 Subject: [PATCH 001/145] Delete .gitattributes --- .gitattributes | 63 -------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index 1ff0c423042..00000000000 --- a/.gitattributes +++ /dev/null @@ -1,63 +0,0 @@ -############################################################################### -# Set default behavior to automatically normalize line endings. -############################################################################### -* text=auto - -############################################################################### -# Set default behavior for command prompt diff. -# -# This is need for earlier builds of msysgit that does not have it on by -# default for csharp files. -# Note: This is only used by command line -############################################################################### -#*.cs diff=csharp - -############################################################################### -# Set the merge driver for project and solution files -# -# Merging from the command prompt will add diff markers to the files if there -# are conflicts (Merging from VS is not affected by the settings below, in VS -# the diff markers are never inserted). Diff markers may cause the following -# file extensions to fail to load in VS. An alternative would be to treat -# these files as binary and thus will always conflict and require user -# intervention with every merge. To do so, just uncomment the entries below -############################################################################### -#*.sln merge=binary -#*.csproj merge=binary -#*.vbproj merge=binary -#*.vcxproj merge=binary -#*.vcproj merge=binary -#*.dbproj merge=binary -#*.fsproj merge=binary -#*.lsproj merge=binary -#*.wixproj merge=binary -#*.modelproj merge=binary -#*.sqlproj merge=binary -#*.wwaproj merge=binary - -############################################################################### -# behavior for image files -# -# image files are treated as binary by default. -############################################################################### -#*.jpg binary -#*.png binary -#*.gif binary - -############################################################################### -# diff behavior for common document formats -# -# Convert binary document formats to text before diffing them. This feature -# is only available from the command line. Turn it on by uncommenting the -# entries below. -############################################################################### -#*.doc diff=astextplain -#*.DOC diff=astextplain -#*.docx diff=astextplain -#*.DOCX diff=astextplain -#*.dot diff=astextplain -#*.DOT diff=astextplain -#*.pdf diff=astextplain -#*.PDF diff=astextplain -#*.rtf diff=astextplain -#*.RTF diff=astextplain From cd517a9de069a95c9f14a7c03971aa9edbec4860 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:09:06 +0200 Subject: [PATCH 002/145] Delete .gitignore --- .gitignore | 189 ----------------------------------------------------- 1 file changed, 189 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 796453635bb..00000000000 --- a/.gitignore +++ /dev/null @@ -1,189 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -x64/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Roslyn cache directories -*.ide/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -#NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding addin-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -## TODO: Comment the next line if you want to checkin your -## web deploy settings but do note that will include unencrypted -## passwords -#*.pubxml - -# NuGet Packages Directory -packages/* -## TODO: If the tool you use requires repositories.config -## uncomment the next line -#!packages/repositories.config - -# Enable "build/" folder in the NuGet Packages folder since -# NuGet packages use it for MSBuild targets. -# This line needs to be after the ignore of the build folder -# (and the packages folder if the line above has been uncommented) -!packages/build/ - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Others -sql/ -*.Cache -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# LightSwitch generated files -GeneratedArtifacts/ -_Pvt_Extensions/ -ModelManifest.xml \ No newline at end of file From ed0d0167b43734a5fd38106cdd1c17f6049432c7 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:09:14 +0200 Subject: [PATCH 003/145] Delete PULL_REQUEST_TEMPLATE.md --- PULL_REQUEST_TEMPLATE.md | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 PULL_REQUEST_TEMPLATE.md diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 0bd9285929f..00000000000 --- a/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,2 +0,0 @@ -- There is reasonable content on the page (see: [No Content](https://github.com/js-org/dns.js.org/wiki/No-Content)) -- I have read and accepted the [ToS](http://dns.js.org/terms.html) From 0f413561705936a431de8767026213dd57de3488 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:09:41 +0200 Subject: [PATCH 004/145] Delete cnames_active.js --- cnames_active.js | 983 ----------------------------------------------- 1 file changed, 983 deletions(-) delete mode 100644 cnames_active.js diff --git a/cnames_active.js b/cnames_active.js deleted file mode 100644 index f35f340484c..00000000000 --- a/cnames_active.js +++ /dev/null @@ -1,983 +0,0 @@ - -/* - ***** ACTIVE SUBDOMAINS - * *********************** - * - * for the moment the following subdomains are active - * file a pull request to add your own GitHub Page - * - * - **** README - * *********** - * - * KEY: The subdomain you request (e.g.: "foo" would give the custom domain "foo.js.org"). - * - * VALUE: The regular domain provided by GitHub (e.g.: "foo.github.io" for a User-/Organization Page - * or "foo.github.io/bar" for a Project Page). - * - * CLOUDFLARE: JS.ORG uses CloudFlare as its DNS. By default, CloudFlare proxies all requests to your subdomain - * to get SSL support (https://foo.js.org) and make use of browser caching with a TTL of 30 min. - * But you can opt-out from this and make Cloudflare forward all requests directly to GitHub. - * Just add '//noCF' in the line of your requested subdomain to give me a hint. - * (all the lines marked with '//noCF?' are from a time when a requester had to explicitly opt-in; - * see: https://github.com/js-org/dns.js.org/issues/554) - * - * IMPORTANT: To authorize yourself as the owner of the GitHub Page you must have added a valid CNAME file - * (with the requested domain, e.g.: "foo.js.org") to your repository before the pull request. - * The requested subdomain must match either your GitHub username or the name of your project - * repository. Execeptions are possible for the sake of clarity (e.g. if your project has the - * name "foojs" you can request "foo"). - * Before you start a request for your personal fork of "jquery" or "angular" you should read - * the section "naming conflicts" in the wiki! - * - * NOTICE: It would be nice if you could keep the alphabetical order. - * - * BECAUSE OF THE RISK OF ABUSE, I´M NOT ACCEPTING REQUESTS FOR PAGES WITHOUT REASONABLE CONTENT! - */ - -var cnames_active = { - "": "js-org.github.io", - "100dayz": "deadcoder0904.github.io/100dayz", - "101": "7anshuai.github.io/js101", // noCF? (don´t add this in a new PR) - "7anshuai": "7anshuai.github.io", // noCF? (don´t add this in a new PR) - "8art": "erayarslan.github.io/8art", // noCF? (don´t add this in a new PR) - "abhishek": "rpidanny.github.io/personal-collage", - "abialbon": "abialbon.github.io", - "acho": "achojs.github.io/acho", - "action-u": "kevinast.github.io/action-u", - "adon988": "adon988.github.io", - "aghasemi": "aghasemi.github.io", - "agrawalnaman": "agrawalnaman.github.io", - "ajaxable": "artf.github.io/ajaxable", - "akase": "cedmax.github.io/akase", // noCF? (don´t add this in a new PR) - "akashacms": "akashacms.github.io", // noCF? (don´t add this in a new PR) - "alasql": "alasql.github.io", // noCF? (don´t add this in a new PR) - "alek": "alek-s.github.io", - "algebra": "nicolewhite.github.io/algebra.js", // noCF? (don´t add this in a new PR) - "alien": "pschroen.github.io/alien.js", - "aligos": "aligos.github.io", // noCF? (don´t add this in a new PR) - "all": "learnsomuch.github.io/all.js", // noCF? (don´t add this in a new PR) - "almin": "almin.github.io", - "alt": "goatslacker.github.io/alt", // noCF? (don´t add this in a new PR) - "alveron": "rofrischmann.github.io/alveron", - "anenth": "anenth.github.io", // noCF? (don´t add this in a new PR) - "anggao": "anggao.github.io", // noCF? (don´t add this in a new PR) - "angular-jsf": "json-schema-faker.github.io/angular-jsf", // noCF? (don´t add this in a new PR) - "angularstompdk": "davinkevin.github.io/AngularStompDK", // noCF? (don´t add this in a new PR) - "ankithjoseph": "ankithjoseph.github.io", - "animo": "thrivingkings.github.io/animo", - "animorph": "claudiobmgrtnr.github.io/animorph", - "annotate": "taitems.github.io/web-pdf-annotation", // noCF? (don´t add this in a new PR) - "annoyingmouse": "annoyingmouse.github.io", // noCF? (don´t add this in a new PR) - "antwar": "antwarjs.github.io/antwar", - "anukul": "anukul.github.io", - "api-spec": "api-spec.github.io", // noCF? (don´t add this in a new PR) - "apicluster": "ramsunvtech.github.io/apicluster", // noCF? (don´t add this in a new PR) - "aping": "johnnythetank.github.io/apiNG", // noCF? (don´t add this in a new PR) - "aplayer": "diygod.github.io/APlayer", - "apod": "marcosflorencio.github.io/angular-apod", // noCF? (don´t add this in a new PR) - "applied": "omahajs.github.io/applied", - "apr": "ramitos.github.io/apr", - "arc": "diegohaz.github.io/arc", - "argo": "albertosantini.github.io/argo", // noCF? (don´t add this in a new PR) - "arime": "ninbryan.github.io/arime", // noCF? (don´t add this in a new PR) - "artery": "arteryjs.github.io/gh-pages", // noCF? (don´t add this in a new PR) - "ass": "weizhenye.github.io/ASS", - "astral": "espinielli.github.io/astraljs", // noCF? (don´t add this in a new PR) - "astrobench": "kupriyanenko.github.io/astrobench", // noCF? (don´t add this in a new PR) - "astx-redux-util": "kevinast.github.io/astx-redux-util", - "atavic": "atavic.github.io", - "atombundles": "lirantal.github.io/atombundles", - "audio-cat": "tporl.github.io/audio-cat", - "autodocs": "bguiz.github.io/autodocs", // noCF? (don´t add this in a new PR) - "avi": "avinassh.github.io/avi", // noCF? (don´t add this in a new PR) - "avner": "avnerus.github.io", // noCF? (don´t add this in a new PR) - "awal": "awalGarg.github.io", // noCF? (don´t add this in a new PR) - "awesomehub": "awesomehub.netlify.com", - "awk": "42ua.github.io/awk", // noCF? (don´t add this in a new PR) - "azdanov": "azdanov.github.io", - "backlog": "backlog-js.github.io/backlog.js.org", // noCF? (don´t add this in a new PR) - "badger": "just-glue-it.github.io/badger", // noCF? (don´t add this in a new PR) - "badrudeen": "badrudeen.github.io", // noCF? (don´t add this in a new PR) - "bali": "balijs.github.io", - "bandung": "zufrizalyordan.github.io/bandungjs", - "barbagrigia": "barbagrigia.github.io", - "barcelona": "barcelona-js.github.io/website", // noCF? (don´t add this in a new PR) - "bash": "bashjs.github.io", // noCF? (don´t add this in a new PR) - "basicgame": "basicgame.github.io/basicGame.js", // noCF? (don´t add this in a new PR) - "bastion": "snkrsnkampa.github.io/Bastion-Site", - "bc": "mazko.github.io/bc.js", - "be": "davidep87.github.io/bejs.github.io", - "begin": "advanced-webapps-class.github.io/begin", // noCF? (don´t add this in a new PR) - "bestof": "michaelrambeau.github.io/bestofjs", - "bildepunkt": "bildepunkt.github.io", // noCF? (don´t add this in a new PR) - "bind-action-dispatchers": "cchamberlain.github.io/bind-action-dispatchers", // noCF? (don´t add this in a new PR) - "biu": "aprilorange.github.io/biu", // noCF? (don´t add this in a new PR) - "blogpage": "zanseven007.github.io/blog-page", // noCF - "bloomer": "algusdark.github.io/bloomer", - "bodybuilder": "danpaz.github.io/bodybuilder", // noCF? (don´t add this in a new PR) - "bombsweeper": "pakastin.github.io/bombsweeper", - "bonzibuddy": "fardindadev.github.io/bonzibuddy", - "bool": "booljs.github.io", - "bootstrap-confirmation": "mistic100.github.io/Bootstrap-Confirmation", // noCF? (don´t add this in a new PR) - "bootstrap-validate": "pascalebeier.github.io/bootstrap-validate", - "bootstrap-vue": "bootstrap-vue.github.io", - "bornaeon": "bornaeon.github.io", // noCF - "botgram": "botgram.github.io/botgram", - "boundless": "enigma-io.github.io/boundless", - "box": "capacitorset.github.io/box-js", // noCF - "bplayer": "classicoldsong.github.io/bPlayer", // noCF? (don´t add this in a new PR) - "brain": "brainjs.github.io/brain.js", - "brandifyjs": "greybax.github.io/brandifyjs", - "brandonmerritt": "brandonmerritt.github.io", // noCF? (don´t add this in a new PR) - "braxit": "braxit.github.io", // noCF? (don´t add this in a new PR) - "brexit-regrets": "adebounam.github.io/brexit-regrets", // noCF? (don´t add this in a new PR) - "bricklayer": "ademilter.github.io/bricklayer", // noCF? (don´t add this in a new PR) - "bris": "brisjs.github.io", - "brum": "brumjs.github.io", // noCF? (don´t add this in a new PR) - "bunyan-fork": "cchamberlain.github.io/bunyan-fork", // noCF? (don´t add this in a new PR) - "bunyan-pmx": "cchamberlain.github.io/bunyan-pmx", // noCF? (don´t add this in a new PR) - "bunyan-serializer": "cchamberlain.github.io/bunyan-serializer", // noCF? (don´t add this in a new PR) - "burst": "hugeen.github.io/burst", // noCF? (don´t add this in a new PR) - "bustime": "agarzola.github.io/bustime", // noCF? (don´t add this in a new PR) - "c-3po": "c-3po-org.github.io/c-3po", - "cable": "whatgoodisaroad.github.io/cablejs", // noCF? (don´t add this in a new PR) - "caffeine": "ccrraaiigg.github.io/caffeine", - "cagatay": "cagataycali.github.io", - "calcy": "odevlord.github.io/Calcy", // noCF? (don´t add this in a new PR) - "calendarios": "helpdev.github.io/Calendarios", // noCF? (don´t add this in a new PR) - "candyland": "candyland-js.github.io/candyland", - "cans": "djyde.github.io/cans", // noCF - "canvas": "anshuman-verma.github.io/canvas", - "capital": "capitaljs.github.io/capitaljs", - "cardtabs": "blekerfeld.github.io/CardTabs", - "capsid": "capsidjs.github.io/capsid", - "capsule": "capsule-js-org.github.io/capsule", - "cartodb-demo": "opensas.github.io/cartodb-demo", // noCF? (don´t add this in a new PR) - "cassie": "milesgitgud.github.io/cassie", - "central-node": "central-node.github.io", // noCF? (don´t add this in a new PR) - "chain-able": "fluents.github.io/chain-able-site", - "chatexchange": "jacob-gray.github.io/ChatExchangeJS", - "checklist": "hellogreg.github.io/checklist", - "cheerio": "cheeriojs.github.io/cheerio", - "chernivtsi": "chernivtsijs.github.io", - "chimon2000": "chimon2000.github.io", // noCF? (don´t add this in a new PR) - "chirashi": "chirashijs.github.io/chirashi", - "chrislaughlin": "chrislaughlin.github.io", // noCF? (don´t add this in a new PR) - "chrismendis": "chrismendis.github.io", // noCF? (don´t add this in a new PR) - "christo": "christoga.github.io/js-org", // noCF? (don´t add this in a new PR) - "chronos": "espinielli.github.io/chronos", // noCF? (don´t add this in a new PR) - "cineasta": "cineasta-js.github.io/cineasta-docs", - "citation": "larsgw.github.io/citation.js", - "city": "city.github.io", - "ck": "cikai.github.io/blog", - "clause": "clausejs.github.io/clausejs", - "clevercord": "theanidox.github.io/Clevercord", - "clockwork": "clockworkdev.github.io/ClockworkWebsite", - "clusterize": "nexts.github.io/Clusterize.js", - "cmbhackjs2013": "cmbjs.github.io/cmbHackjs2013", - "cn.mobx": "sangka.github.io/mobx-docs-cn", // noCF - "cn.redux": "camsong.github.io/redux-in-chinese", // noCF? (don´t add this in a new PR) - "cn.rx": "rxjs-cn.github.io/RxJS-Docs-CN", // noCF - "cnc": "cncjs.github.io", - "codemade": "codemade.github.io", // noCF? (don´t add this in a new PR) - "codepan": "egoist.github.io/codepan", - "codux": "tannerlinsley.github.io/codux", - "coffea": "caffeinery.github.io/coffea", - "collegequest": "schoolhouserock.github.io/CollegeQuest", // noCF? (don´t add this in a new PR) - "colombo": "cmbjs.github.io/CMBJS", - "comixngn": "seun40.github.io/comix-ngn", // noCF? (don´t add this in a new PR) - "commandfox": "commandfox.github.io/mc-tools", // noCF? (don´t add this in a new PR) - "community.os": "js.bydiscourse.com", // noCF? (don´t add this in a new PR) - "concursos": "mteyss.github.io/concursos", // noCF? (don´t add this in a new PR) - "construyendotrabajo": "mteyss.github.io/construyendotrabajo", // noCF? (don´t add this in a new PR) - "consultant": "jense5.github.io/consultant", - "contextify": "abemedia.github.io/jquery-contextify", // noCF? (don´t add this in a new PR) - "cordova-multiplatform-template": "ckgrafico.github.io/Cordova-Multiplatform-Template", // noCF? (don´t add this in a new PR) - "cork": "davej.github.io/CorkJS", - "cote": "dashersw.github.io/cote", // noCF? (don´t add this in a new PR) - "country": "growmies.github.io/countryjs", // noCF? (don´t add this in a new PR) - "cplayer": "copay.github.io/cPlayer", - "cqrs": "adrai.github.io/cqrs", // noCF? (don´t add this in a new PR) - "cracked": "billorcutt.github.io/Cracked", - "createrest": "atomixinteractions.github.io/createrest", - "crunch": "vukicevic.github.io/crunch", // noCF? (don´t add this in a new PR) - "cryptokey": "rumkin.github.com/crypto-key", - "cucumber-mink": "adezandee.github.io/cucumber-mink", // noCF? (don´t add this in a new PR) - "curi": "pshrmn.github.io/curi", - "curseapp": "mcrocks999.github.io/curseapp.js", - "cybernaut": "clebert.github.io/cybernaut", - "cycle": "cyclejs.github.io", - "cyclow": "pmros.github.io/cyclow", // noCF - "d4": "joelburget.github.io/d4", - "danmaku": "weizhenye.github.io/Danmaku", - "damo": "damodharanj.github.io", - "danmol": "dan12mol.github.io", // noCF? (don´t add this in a new PR) - "datastructures": "deadcoder0904.github.io/datastructures", - "date": "matthewmueller.github.io/date", // noCF? (don´t add this in a new PR) - "davidtaylorjr": "davidtaylorjr.github.io", - "daysfromnow": "pedrokost.github.io/daysfromnow", // noCF? (don´t add this in a new PR) - "dbo": "z3ta.github.io/dbo", // noCF? (don´t add this in a new PR) - "deck-of-cards": "pakastin.github.io/deck-of-cards", - "deepu": "deepu105.github.io", - "delegacias-fortaleza": "juliosampaio.github.io/delegacias-fortaleza", // noCF? (don´t add this in a new PR) - "denisvieira": "fromdenisvieira.github.io", // noCF? (don´t add this in a new PR) - "deputy": "ry4nolson.github.io/Deputy", // noCF? (don´t add this in a new PR) - "detect-resize": "noderaider.github.io/detect-resize", // noCF? (don´t add this in a new PR) - "deterministic": "nodeguy.github.io/Deterministic.js", - "dgelong": "alexeyraspopov.github.io/dgelong", // noCF? (don´t add this in a new PR) - "diamond": "diamondpkg.github.io/website", - "diffract": "ameyms.github.io/diffract", // noCF? (don´t add this in a new PR) - "dinesh": "dineshondev.github.io/dinesh", // noCF? (don´t add this in a new PR) - "dio": "thysultan.github.io/dio.js", - "discord": "hydrabolt.github.io/discord.js-site", - "display": "arguiot.github.io/DisplayJS", - "distillery": "achannarasappa.github.io/distillery", // noCF? (don´t add this in a new PR) - "distri": "flarp.github.io/Distri.js", - "distribution": "distributionjs.github.io/website", - "djzhao": "djzhao627.github.io", - "dmitry": "dmitry-zaets.github.io", - "dns": "js-org.github.io/dns.js.org", - "docsify": "QingWei-Li.github.io/docsify", - "documentation": "documentationjs.github.io", // noCF? (don´t add this in a new PR) - "docute": "egoist.github.io/docute", - "dodec-design": "dodec-design.github.io", - "dogstack": "dogstack.gitbooks.io/handbook", // noCF - "dolphin": "uyouthe.github.io/dolphin", - "domtastic": "webpro.github.io/DOMtastic", - "donavon": "donavon.github.io", // noCF? (don´t add this in a new PR) - "dope": "fouad.github.io/dope", // noCF? (don´t add this in a new PR) - "dplayer": "diygod.github.io/DPlayer", // noCF - "dprof": "andreasmadsen.github.io/dprof", - "draft": "D1SC0tech.github.io/draft.js", // noCF? (don´t add this in a new PR) - "drag": "classicoldsong.github.io/Drag.js", // noCF? (don´t add this in a new PR) - "dragon": "sabertazimi.github.io/dragonjs", // noCF? (don´t add this in a new PR) - "draw": "skillzzjesse.github.io/draw", - "du": "ruanyl.github.io/du", // noCF? (don´t add this in a new PR) - "duffn": "duffn.github.io", // noCF? (don´t add this in a new PR) - "dunedin": "dunedinjs.github.io", - "dutchakdev": "dutchakdev.github.io", // noCF? (don´t add this in a new PR) - "dynamicsnode": "crisfervil.github.io/DynamicsNode", - "eahmed234": "eahmed234.github.io", - "ed2k": "sunnyli.github.io/ed2k.js", - "ef": "classicoldsong.github.io/ef.js.org", - "effectful": "awto.github.io/effectfuljs", - "elastic-builder": "sudo-suhas.github.io/elastic-builder", - "elf": "mytharcher.github.io/elf.js.org", // noCF? (don´t add this in a new PR) - "elliot": "elliotboney.github.io", // noCF? (don´t add this in a new PR) - "elmo": "lap00zza.github.io/elmo", - "embedlam": "wnda.github.io/embedlam", - "ember-cli-page-object": "san650.github.io/ember-cli-page-object", // noCF? (don´t add this in a new PR) - "ember-electron": "felixrieseberg.github.io/ember-electron", - "emeraldcraftmc": "emeraldcraftmc.github.io", // noCF? (don´t add this in a new PR) - "emoji": "egoist.github.io/emoji", - "emojipanel": "danbovey.github.io/EmojiPanel", - "emulisp": "grahack.github.io/EmuLisp", // noCF? (don´t add this in a new PR) - "enclave": "eanplatter.github.io/enclave", // noCF? (don´t add this in a new PR) - "engui": "engui.github.io", - "eq8": "eq8.github.io", - "eray": "erayarslan.github.io", // noCF? (don´t add this in a new PR) - "eric": "otteric.github.com", - "erik": "erikroyall.github.com", // noCF? (don´t add this in a new PR) - "es.redux": "sergiodxa.github.io/redux-in-spanish", // noCF? (don´t add this in a new PR) - "es2015-node": "martinheidegger.github.io/es6modules-nodejs", // noCF? (don´t add this in a new PR) - "escape": "licshee.github.io/Escape.js", // noCF? (don´t add this in a new PR) - "esper": "codecombat.github.io/esper.js", - "euc": "wnda.github.io/euc", - "euclid": "anandthakker.github.io/euclid", // noCF? (don´t add this in a new PR) - "eval": "jshawl.github.io/eval", // noCF? (don´t add this in a new PR) - "eventstore": "adrai.github.io/node-eventstore", // noCF? (don´t add this in a new PR) - "event-storage": "albe.github.io/node-event-storage", - "exbars": "youssefkababe.github.io/exbars", // noCF? (don´t add this in a new PR) - "express-saml2": "tngan.github.io/express-saml2", - "extenso": "theuves.github.io/extenso.js.org", - "extraction": "rse.github.io/extraction", // noCF? (don´t add this in a new PR) - "facepalm": "santiagogil.github.io/facepalm", - "farfetchd": "achannarasappa.github.io/farfetchd", // noCF? (don´t add this in a new PR) - "fariz": "farizdev.github.io/fariz", - "faux": "fauxOS.github.io", - "fcbosque": "cronopio.github.io/fcbosque", // noCF? (don´t add this in a new PR) - "feeble": "feeblejs.github.io/feeble", - "fela": "rofrischmann.github.io/fela", // noCF? (don´t add this in a new PR) - "festercluck": "festercluck.github.io", // noCF? (don´t add this in a new PR) - "filer": "filerjs.github.io/filer", - "filter": "filterjs.github.io/docs", - "finder": "applait.github.io/finderjs", // noCF? (don´t add this in a new PR) - "fire-hydrant": "cchamberlain.github.io/fire-hydrant", // noCF? (don´t add this in a new PR) - "firenze": "fahad19.github.io/firenze", // noCF? (don´t add this in a new PR) - "fis": "fex-team.github.io/fis-site", // noCF? (don´t add this in a new PR) - "five": "jackdcrawford.github.io/five", - "fld-grd": "mrksbnch.github.io/fld-grd", - "flexmasonry": "kavanmevada.github.io/flex_masonry", // noCF - "flowchart": "adrai.github.io/flowchart.js", // noCF? (don´t add this in a new PR) - "fluxoff": "kingscott.github.io/flux-off", // noCF? (don´t add this in a new PR) - "flybook": "rhiokim.github.io/flybook", - "fnx": "fnxjs.gitbooks.io/fnx-documentation", - "form": "the94air.github.io/formjs", - "formred": "zewish.github.io/formred", - "fortune": "fortunejs.github.io/fortune", // noCF? (don´t add this in a new PR) - "foxman": "kaola-fed.github.io/foxman", - "freemarker": "ijse.github.io/freemarker.js", // noCF? (don´t add this in a new PR) - "freezer": "pakastin.github.io/freezer", - "frint": "travix-international.github.io/frint", - "fritzbox": "lesander.github.io/fritzbox.js", - "front-end": "whoisjorge.github.io/front-end", - "frzr": "pakastin.github.io/frzr", - "fs-nextra": "bdistin.github.io/fs-nextra", - "funbook": "egoist.github.io/funbook", - "fyi": "tobihrbr.github.io/fyi", - "g": "nodebox.github.io/g.js", - "gal": "galmail.github.io", // noCF? (don´t add this in a new PR) - "gamedevcontestal": "fromdenisvieira.github.io/gamedevcontestal", // noCF? (don´t add this in a new PR) - "gcse": "abemedia.github.io/jquery-gcse", - "geekr": "ruanyl.github.io/geekr", // noCF? (don´t add this in a new PR) - "genpasswd": "exos.github.io/genpasswd", // noCF? (don´t add this in a new PR) - "getlink": "ilovecode1.github.io/linkjs", // noCF? (don´t add this in a new PR) - "getpinkr": "getpinkr.github.io", - "ghastly": "hkwu.github.io/ghastly", - "ghsamm": "ghsamm.github.io", // noCF? (don´t add this in a new PR) - "giant-piano": "moroshko.github.io/giant-piano", // noCF? (don´t add this in a new PR) - "girls": "girls-js.github.io", - "gka": "gkajs.github.io/gka", - "gol": "goljs.github.io/GoL", - "goodseller": "goodseller.github.io", // noCF? (don´t add this in a new PR) - "gotanda": "gotandajs.github.io", - "graphics2d": "keyten.github.io/Graphics2D", // noCF? (don´t add this in a new PR) - "grapnel": "engineeringmode.github.io/Grapnel.js", // noCF? (don´t add this in a new PR) - "greg": "gregorydgarcia.github.io", // noCF? (don´t add this in a new PR) - "grep": "42ua.github.io/grep", // noCF? (don´t add this in a new PR) - "gridiron": "noderaider.github.io/gridiron", - "gridsplit": "assetinfo.github.io", // noCF? (don´t add this in a new PR) - "gruft": "nikola.github.io/gruft", // noCF? (don´t add this in a new PR) - "guillotine": "matiasgagliano.github.io/guillotine", // noCF? (don´t add this in a new PR) - "guiseek": "guiseek.github.io", // noCF? (don´t add this in a new PR) - "gully": "nmabhinandan.github.io/gully", // noCF? (don´t add this in a new PR) - "gulpkit": "gulpkit.github.io/GulpKit", - "gun": "gundb.github.io", // noCF? (don´t add this in a new PR) - "guuibayer": "guuibayer.github.io", // noCF? (don´t add this in a new PR) - "gyps": "huijari.github.io/Gyps", - "gyre": "wridder.github.io/GyreJS", // noCF? (don´t add this in a new PR) - "h": "makenowjust.github.io/h.js", // noCF? (don´t add this in a new PR) - "hack": "hack.netlify.com", - "halil": "hibrahimsafak.github.io", // noCF? (don´t add this in a new PR) - "haloapi": "derflatulator.github.io/haloapi.js", // noCF? (don´t add this in a new PR) - "happy": "e24.github.io/happy", // noCF? (don´t add this in a new PR) - "hask": "janbiasi.github.io/hask", // noCF? (don´t add this in a new PR) - "hay": "hayjs.github.io/hay.js.org", - "heartseekers": "rajington.github.io/heartseekers", // noCF? (don´t add this in a new PR) - "hello": "hello-js-org.github.io", // noCF? (don´t add this in a new PR) - "hhao99": "hhao99.github.io", - "hibiki": "claritymoe.github.io/hibiki", - "hilo": "erikroyall.github.io/hilo", // noCF? (don´t add this in a new PR) - "hk": "akura-co.github.io/hk", // noCF? (don´t add this in a new PR) - "hoa": "thehoa.github.io", - "hooloo": "hooloo.github.io", // noCF? (don´t add this in a new PR) - "human": "human-js.gitbooks.io", // noCF? (don´t add this in a new PR) - "humanreadable": "matt-sanders.github.io/humanreadable", // noCF? (don´t add this in a new PR) - "hxxbit": "hxxbit.github.io", - "hyde": "gheek.github.io/hyde", // noCF? (don´t add this in a new PR) - "hyf": "yafey.github.io", - "hyperapp": "hyperapp.github.io", - "hyperform": "hyperform.github.io", - "i18n4v": "shibukawa.github.io/i18n4v", - "icecast": "jucrouzet.github.io/icecast.js", - "ienumerable": "mbasso.github.io/ienumerable", - "iffe": "iffe-team.github.io", - "igorsantana": "igorsantana.github.io", // noCF? (don´t add this in a new PR) - "iio": "iioinc.github.io/iio.js", // noCF? (don´t add this in a new PR) - "imagecapture": "googlechrome.github.io/imagecapture-polyfill", - "immense": "immense.github.io", // noCF? (don´t add this in a new PR) - "immybox": "immense.github.io/immybox", // noCF? (don´t add this in a new PR) - "infinite-tree": "cheton.github.io/infinite-tree", - "initial-wu": "initial-wu.github.io", - "inline-style-prefixer": "rofrischmann.github.io/inline-style-prefixer", - "inscriptum": "sumbad.github.io/inscriptum", - "instabousing": "jlbousing.github.io/instaBousing", - "invoicing": "vahe.github.io/InvoicingJs", - "ip-address": "beaugunderson.github.io/ip-address", // noCF? (don´t add this in a new PR) - "is": "arasatasaygin.github.io/is.js", // noCF? (don´t add this in a new PR) - "ishan": "ishanthukral.github.io/ishan.js", // noCF? (don´t add this in a new PR) - "isic": "isic.github.io/isic-docs", - "islisp": "ta2gch.github.io/islisp.js.org", - "istanbul": "istanbuljs.github.io", - "italia": "milano-js.github.io/italia-js", // noCF? (don´t add this in a new PR) - "itsashis4u": "itsashis4u.github.io", // noCF? (don´t add this in a new PR) - "ivml": "influencetech.github.io/ivml", // noCF? (don´t add this in a new PR) - "j2p": "j2p.github.io", // noCF? (don´t add this in a new PR) - "jacques": "jacquesmarais.github.io/jacques", // noCF? (don´t add this in a new PR) - "jaibascript": "vasco3.github.io/jaibascript", - "jakarta": "jakartajs.github.io/jakartajs", // noCF? (don´t add this in a new PR) - "jakejarrett": "jakejarrett.github.io", // noCF? (don´t add this in a new PR) - "jalbertbowden": "jalbertbowden.github.io", // noCF? (don´t add this in a new PR) - "james": "jamesrowen.github.io/james", // noCF? (don´t add this in a new PR) - "jargon": "hugogiraudel.github.io/SJSJ", // noCF? (don´t add this in a new PR) - "javascript-kitchen": "jskitchen.github.io", - "jbone": "kupriyanenko.github.io/jbone", // noCF? (don´t add this in a new PR) - "jets": "nexts.github.io/Jets.js", - "jet": "alexanderbartels.github.io/jet-website", - "jinya": "chenjinya.github.io", - "jjlc": "k-yak.github.io/JJLC", // noCF? (don´t add this in a new PR) - "jogja": "jogjajs.github.io", // noCF - "josep": "warlock.github.io", - "josuedanielbust": "josuedanielbust.github.io", // noCF? (don´t add this in a new PR) - "jparticles": "jparticles.github.io/Documentation", - "jsessentials": "chetanraj.github.io/jsessentials", - "jsnippet": "JesseEisen.github.io/snippets", // noCF - "json-schema-faker": "json-schema-faker.github.io/website-jsf", // noCF? (don´t add this in a new PR) - "juancarlosqr": "juancarlosqr.github.io", // noCF? (don´t add this in a new PR) - "julien": "julien.github.io", // noCF? (don´t add this in a new PR) - "jumpsuit": "jumpsuit.github.io/jumpsuit", - "junctions": "jamesknelson.github.io/junctions", - "juno-106": "stevengoldberg.github.io/juno-106", // noCF? (don´t add this in a new PR) - "jus": "zeke.github.io/jus.js.org", // noCF? (don´t add this in a new PR) - "jwt-autorefresh": "cchamberlain.github.io/jwt-autorefresh", // noCF? (don´t add this in a new PR) - "kainy": "kainy.github.io/js.org", - "kalm": "fed135.github.io/kalm.github.io", // noCF? (don´t add this in a new PR) - "karl": "karlcoelho.github.io/portfolio", // noCF? (don´t add this in a new PR) - "karlbateman": "karlbateman.github.io/karlbateman.js.org", - "kcak11": "kcak11.github.io/js-org-web", - "kdiacodes": "kdiacodes.github.io", - "kea": "keajs.github.io/kea", - "kelvinho": "kelvin2go.github.io", // noCF? (don´t add this in a new PR) - "kewitz": "kewitz.github.io", - "keypress": "rumkin.github.io/keypress.js.org", - "kilvin": "rofrischmann.github.io/kilvin", - "kite": "kite-js.github.io/kite", - "klasa": "dirigeants.github.io/klasa", - "knowyourbundle": "enapupe.github.io/know-your-bundle", - "komada": "dirigeants.github.io/komada", - "konstructor": "server.ludicrous.xyz", - "konsumer": "konsumer.github.io", // noCF? (don´t add this in a new PR) - "kyoto": "kyotojs.github.io", - "labelauty": "fntneves.github.io/jquery-labelauty", // noCF? (don´t add this in a new PR) - "lad": "ladjs.github.io/lad", - "lambda": "lambdajs.github.io", // noCF? (don´t add this in a new PR) - "languages": "rsamaium.github.io/Languages", - "lass": "lassjs.github.io/lass", - "latte": "tehsenaus.github.io/latte-js", - "laubstein": "laubstein.github.io", // noCF? (don´t add this in a new PR) - "leafless": "mofax.github.io/leafless", - "lean-stack": "lean-stack.github.io", // noCF? (don´t add this in a new PR) - "leandro": "leandrowd.github.io", // noCF? (don´t add this in a new PR) - "learnGitBranching": "pcottle.github.io/learnGitBranching", // noCF? (don´t add this in a new PR) - "leipzig": "leipzigjs.github.io", // noCF? (don´t add this in a new PR) - "leoj": "leoaj.github.io", // noCF? (don´t add this in a new PR) - "lessmd": "linuxenko.github.io/lessmd", - "leste": "atwood-cai.github.io/leste.js", // noCF? (don´t add this in a new PR) - "lifx": "fncxpro.github.io/lifx.js", - "liguori": "liguori.github.io", // noCF? (don´t add this in a new PR) - "liike": "liikejs.github.io/Liike", - "linghucong": "jiji262.github.io", - "liveflow": "hasharray.github.io/liveflow.js", - "localsync": "noderaider.github.io/localsync", // noCF? (don´t add this in a new PR) - "logo": "js-org.github.io/logo", - "loki": "oblador.github.io/loki", - "loog": "israelroldan.github.io/loog", - "lostyle": "rtsao.github.io/lostyle", - "lribeiro": "lmribeiro.github.io", - "ls": "links-js.github.io", - "lychee": "Artificial-Engineering.github.io/lycheeJS-website", - "m8bot": "mapreiff.github.io/m8-bot-site", - "madankumar": "jmadankumar.github.io", - "magnet": "magnetjs.github.io/Magnet", // noCF? (don´t add this in a new PR) - "majestic": "moityjs.github.io/majestic", - "maki": "makixx.github.io", - "marble": "jsguy.github.io/marble", - "marcosflorencio": "marcosflorencio.github.io", - "mark": "henry-luo.github.io/mark", - "markdownify": "amitmerchant1990.github.io/electron-markdownify", - "markmsmith": "markmsmith.github.io", - "markvis": "geekplux.github.io/markvis", - "markvis-editor": "geekplux.github.io/markvis-editor", - "martin": "martinbutler.github.io", // noCF? (don´t add this in a new PR) - "martingollogly": "martingollogly.github.io", // noCF? (don´t add this in a new PR) - "marxist": "ohmfox.github.io/marxistjs", // noCF? (don´t add this in a new PR) - "masha": "smarttelemax.github.io/MaSha", - "matthias-schuetz": "matthias-schuetz.github.io", // noCF? (don´t add this in a new PR) - "maxnachlinger": "maxnachlinger.github.io", // noCF? (don´t add this in a new PR) - "maxtracking": "maxtracking.github.io", // noCF? (don´t add this in a new PR) - "mc": "magicarbon.github.io/mc", // noCF? (don´t add this in a new PR) - "mde": "lukehorvat.github.io/mde-soundboard", - "mechan": "dusterthefirst.github.io/mechan.js", - "medan": "medan-js.github.io", // noCF - "mediainfo": "buzz.github.io/mediainfo.js", - "medit": "echosoar.github.io/medit", - "medium-header": "danielfeelfine.github.io/medium-header", // noCF? (don´t add this in a new PR) - "meethere": "ayazhafiz.github.io/meetHere", - "meiosis": "foxdonut.github.io/meiosis", // noCF? (don´t add this in a new PR) - "melies-hugo": "cristinafsanz.github.io/melies-hugo", - "melody": "trivago.github.io/melody-web", - "mern": "IamMohaiminul.GitHub.io/MERNjs", - "mesh": "crcn.github.io/mesh.js.org", // noCF? (don´t add this in a new PR) - "metadata": "oknosoft.github.io/metadata.js", - "metagon": "austinhuang0131.github.io/metagon", - "mf": "awto.github.io/mfjs-compiler", // noCF? (don´t add this in a new PR) - "mics": "download.github.io/mics", - "middy": "plnt9.github.io/middy", - "miguelsr": "miguelsr.github.io", // noCF? (don´t add this in a new PR) - "milesgitgud": "milesgitgud.github.io/homepage", - "mimic": "500tech.github.io/mimic", - "mina": "CenturyUna.github.io/mina", - "minesweeper": "derflatulator.github.io/minesweeper", - "mingyi": "liangmingyi.github.io", // noCF? (don´t add this in a new PR) - "mingjie": "mj66.github.io/mingjie.info", - "minigrid": "henriquea.github.io/minigrid", // noCF? (don´t add this in a new PR) - "mis101bird": "mis101bird.github.io", // noCF? (don´t add this in a new PR) - "mithril-ja": "shibukawa.github.io/mithril-ja", // noCF? (don´t add this in a new PR) - "mithril": "mithriljs.github.io/mithril.js", - "mmcq": "nikola.github.io/MMCQ", // noCF? (don´t add this in a new PR) - "mobx": "mobxjs.github.io/mobx", - "mockjs-lite": "52cik.github.io/mockjs-lite", // noCF - "modalizer": "dungo.github.io/modalizer", // noCF? (don´t add this in a new PR) - "modbot": "modbotjs.github.io", - "mog-script": "mog-script.github.io", - "mohit": "mohitgarg.github.io", - "mol": "eigenmethod.github.io/mol", // noCF - "molti": "moltijs.github.io/molti", - "mom": "momjs.github.io/mom", - "momentum": "wemakeweb.github.io/momentum", // noCF? (don´t add this in a new PR) - "monkberry": "monkberry.github.io", - "moose": "mustpax.github.io/moose", - "moro": "omidfi.github.io/moro", - "morocco": "moroccojs.github.io", - "motapc": "motapc97.github.io", // noCF? (don´t add this in a new PR) - "mpe": "weareroli.github.io/mpejs", // noCF? (don´t add this in a new PR) - "mrn": "binggg.github.io/mrn", // noCF? (don´t add this in a new PR) - "mrpluto": "mrpluto.github.io", - "mscgen": "sverweij.github.io/mscgen_js", - "msp430": "mazko.github.io/MSP430.js", - "multiple": "nexts.github.io/Multiple.js", - "murder": "rolandpoulter.github.io/murder", // noCF? (don´t add this in a new PR) - "muto": "booleanapp.github.io/elastic-muto", - "mvc": "morozovsk.github.io/mvc", // noCF - "mvidalgarcia": "mvidalgarcia.github.io", // noCF? (don´t add this in a new PR) - "mw": "agauniyal.github.io/mw", - "mythbusters": "kikobeats.github.io/js-mythbusters", - "n-j-m": "n-j-m.github.io", // noCF? (don´t add this in a new PR) - "n": "customdomain.simpleshare.online", // noCF - "nanimation": "imthenachoman.github.io/nAnimation", // noCF? (don´t add this in a new PR) - "naughtychecker": "gautamkrishnar.github.io/naughtychecker.js", - "nautilus": "ignigena.github.io/nautilus", - "ncms": "janbiasi.github.io/ncms", // noCF? (don´t add this in a new PR) - "ncub8": "ncub8.github.io", // noCF? (don´t add this in a new PR) - "nearley": "hardmath123.github.io/nearley", - "nemaniarjun": "nemaniarjun.github.io", - "nemo": "paypal.github.io/nemo", // noCF? (don´t add this in a new PR) - "neo4": "janpeter.github.io/neo4js", - "neutrino": "mozilla-neutrino.github.io/neutrino-dev", - "nflow": "nflow-js.github.io", // noCF? (don´t add this in a new PR) - "ng-wig": "stevermeister.github.io/ngWig", // noCF? (don´t add this in a new PR) - "ngirc": "ngirc.github.io/ng-irc", // noCF - "ngn": "nodengn.github.io/NGN", // noCF? (don´t add this in a new PR) - "ngspice": "42ua.github.io/ngspice.js", - "nic": "nic.github.io", - "nick": "nmai.github.io", // noCF? (don´t add this in a new PR) - "nite": "manvalls.github.io/nite", - "nktx": "nktx.github.io", // noCF? (don´t add this in a new PR) - "nod": "diegohaz.github.io/nod", - "node-atlas": "haeresis.github.io/NodeAtlas", - "node-browser_process": "caspervonb.github.io/node-browser_process", // noCF? (don´t add this in a new PR) - "nodegarden": "pakastin.github.io/nodegarden", - "noflux": "nofluxjs.gitbooks.io/noflux", - "noobscroll": "arguiot.github.io/NoobScroll", - "noted": "carter-slade.github.io/Noted-", // noCF? (don´t add this in a new PR) - "noteit": "saha96.github.io/NoteIt", // noCF? (don´t add this in a new PR) - "notepad": "amitmerchant1990.github.io/notepad", - "notibar": "duyetdev.github.io/notibar.js", - "novus": "territoriesofnovus.github.io", - "npmer": "rumkin.github.io/npm-watch", - "nsp": "hanul.github.io/NSP", // noCF? (don´t add this in a new PR) - "nsptiles": "imthenachoman.github.io/nSPTiles", // noCF? (don´t add this in a new PR) - "nvanthao": "nvanthao.github.io", // noCF? (don´t add this in a new PR) - "nxse": "nxse.github.io", - "nyc": "nycjsorg.github.io/nyc", - "objectmodel": "sylvainpolletvillard.github.io/ObjectModel", // noCF? (don´t add this in a new PR) - "oec": "crellison.github.io/oec", - "oib": "andreicek.github.io/oib.js", - "okan": "okan.github.io", - "olivia": "oliviachang29.github.io", - "omaha": "omahajs.github.io", - "omega": "jczimm.github.io/omega", // noCF? (don´t add this in a new PR) - "omer": "omeroot.github.io", // noCF? (don´t add this in a new PR) - "onebang": "teamtofu.github.io/onebang", - "onedesert": "onedesert.github.io", // noCF? (don´t add this in a new PR) - "ongaku": "anshuman-verma.github.io/ongaku", - "onlineth": "onlineth.github.io", - "opentype": "nodebox.github.io/opentype.js", - "os": "91.247.228.125", // noCF - "osom": "kikobeats.github.io/osom", - "pad": "ebraminio.github.io/pad.js", // noCF? (don´t add this in a new PR) - "pagination": "superRaytin.github.io/paginationjs-site", // noCF - "palette": "pakastin.github.io/palette", - "pamatcher": "pmros.github.io/pamatcher", // noCF? (don´t add this in a new PR) - "pantarei": "pantareijs.github.io/pantarei.js.org", - "panza": "panza-org.github.io/panza-docs", // noCF - "paperclip": "crcn.github.com/paperclip.js.org", // noCF? (don´t add this in a new PR) - "paraiba": "paraibajs.github.io", // noCF? (don´t add this in a new PR) - "parallel": "parallel-js.github.io/parallel.js", - "parametric-svg": "parametric-svg.github.io", // noCF? (don´t add this in a new PR) - "pas-ce-soir": "oldergod.github.io/pas-ce-soir", - "pastebin-alert": "ramadhanamizudin.github.io/pastebin-alert.js", // noCF? (don´t add this in a new PR) - "pathtrace": "kovacsv.github.io/WebGLPathTrace", // noCF? (don´t add this in a new PR) - "patternbase": "kamescg.github.io/PatternBase", - "paul": "paul-brown.github.io", // noCF? (don´t add this in a new PR) - "pdf": "iamcristye.github.io/PDF", - "pdfutils": "gottox.github.io/node-pdfutils", // noCF? (don´t add this in a new PR) - "pdp-elements": "go4cas.github.io/pdp_elements", // noCF? (don´t add this in a new PR) - "peekaboo": "nadavspi.github.io/peekaboo.js", - "pegboard": "mplewis.github.io/pegboard", - "pekanbaru": "pekanbarujs.github.io", - "penguin": "domachine.github.io/penguin", - "penn-sdk": "pennlabs.github.io/penn-sdk-node", // noCF? (don´t add this in a new PR) - "pentris": "justinjc.github.io/pentris2", // noCF? (don´t add this in a new PR) - "perspective": "leopoldthecoder.github.io/Perspective", - "pguth": "pguth.github.io", - "pharaoh": "pharaoh-js.github.io", // noCF? (don´t add this in a new PR) - "phobos": "phobosjs.github.io/phobos.js", - "photo-sphere-viewer": "mistic100.github.io/Photo-Sphere-Viewer", // noCF? (don´t add this in a new PR) - "picodom": "picodom.github.io", - "picsim": "mazko.github.io/picsim.js", - "piii": "theuves.github.io/piii.js.org", - "pinf": "pinf.github.io", // noCF? (don´t add this in a new PR) - "pipes": "pipesjs.github.io", // noCF? (don´t add this in a new PR) - "pitermarx": "pitermarx.github.io", // noCF? (don´t add this in a new PR) - "pivot": "wnda.github.io/pivot", - "pivottable": "nicolaskruchten.github.io/pivottable", - "pixelart": "meriadec.github.io/PixelartJS", // noCF? (don´t add this in a new PR) - "plait": "wildlyinaccurate.github.io/plait", - "plan": "agauniyal.github.io/plan", - "planetx": "planetxjs.github.io", - "planisphere": "dai-shi.github.io/planisphere-site", // noCF? (don´t add this in a new PR) - "pliers": "pliersjs.github.io", // noCF? (don´t add this in a new PR) - "pnpm": "pnpm.github.io", - "pocketessential": "pocketessential.github.io", - "poegems": "max-arias.github.io/poeGems", // noCF? (don´t add this in a new PR) - "pogo": "aaronduino.github.io/pogo", - "poi": "egoist.github.io/poi.js.org", - "poke": "gregjw.github.io/poke", - "polished": "styled-components.github.io/polished", - "polythene": "arthurclemens.github.io/Polythene", // noCF? (don´t add this in a new PR) - "popper": "fezvrasta.github.io/popper.js", - "porter": "ahopkins.github.io/porterjs", // noCF? (don´t add this in a new PR) - "positivebot": "positiveterminator.github.io/positivebot-site", - "post-type-discovery": "twozeroone.github.io/post-type-discovery", - "prettylog": "moosecoop.github.io/PrettyLog/", - "profanity-finder": "gautamkrishnar.github.io/profanity-finder.js", - "proteic": "proteus-h2020.github.io/proteic", - "pure": "fengzilong.github.io/pure", - "qs": "kirjs.github.io/qs.js", // noCF? (don´t add this in a new PR) - "querybuilder": "mistic100.github.io/jQuery-QueryBuilder", // noCF? (don´t add this in a new PR) - "question": "teamtofu.github.io/questionify", - "quiz-app": "odevlord.github.io/Quiz-App", // noCF? (don´t add this in a new PR) - "quiz-revamped": "abhisekp.github.io/Quiz-Revamped", // noCF? (don´t add this in a new PR) - "ractive": "ractivejs.github.io", - "rad": "rapid-application-development-js.github.io/RAD.JS", // noCF? (don´t add this in a new PR) - "radial": "ckgrafico.github.io/radial.js", // noCF? (don´t add this in a new PR) - "rafaelmangolin": "rafaelMangolin.github.io", // noCF? (don´t add this in a new PR) - "rag": "michaellyons.github.io/react-amazon-gallery", // noCF? (don´t add this in a new PR) - "rahul": "rahulsukla.github.io/rahul", // noCF? (don´t add this in a new PR) - "rangeslider": "andreruffert.github.io/rangeslider.js", // noCF? (don´t add this in a new PR) - "rate-limiter-api": "abhisekp.github.io/rate-limiter-api", - "rdf": "rdfjs.github.io", // noCF - "react-atomic-ui": "react-atomic.github.io/react-atomic-ui", - "react-autosuggest": "moroshko.github.io/react-autosuggest", // noCF? (don´t add this in a new PR) - "react-autowhatever": "moroshko.github.io/react-autowhatever", // noCF? (don´t add this in a new PR) - "react-chart": "react-charts.netlify.com", - "react-charts": "react-charts.netlify.com", - "react-controlled-form": "rofrischmann.github.io/react-controlled-form", - "react-coroutine": "alexeyraspopov.github.io/react-coroutine", - "react-day-picker": "gpbl.github.io/react-day-picker", // noCF - "react-dropzone": "react-dropzone.netlify.com", - "react-easy-swipe": "leandrowd.github.io/react-easy-swipe", // noCF? (don´t add this in a new PR) - "react-entanglement": "react-entanglement.github.io", - "react-form": "react-form.netlify.com", - "react-hint": "slmgc.github.io/react-hint", - "react-move": "react-move.netlify.com", - "react-native-floating-labels": "mayank-patel.github.io/react-native-floating-labels", - "react-pivottable": "plotly.github.io/react-pivottable", - "react-responsive-carousel": "leandrowd.github.io/react-responsive-carousel", // noCF? (don´t add this in a new PR) - "react-shared": "rvikmanis.github.io/react-shared", // noCF? (don´t add this in a new PR) - "react-state": "tannerlinsley.github.io/react-state", - "react-story": "react-story.netlify.com", - "react-styleguidist": "styleguidist.netlify.com", - "react-table": "react-table.netlify.com", - "react-toulouse": "moox.github.io/react-toulouse", - "reactabular": "bebraw.github.io/reactabular", - "reactdesktop": "gabrielbull.github.io/react-desktop", // noCF? (don´t add this in a new PR) - "reactql": "leebenson.github.io/reactql-site", - "reader": "ruanyl.github.io/js-reader", // noCF? (don´t add this in a new PR) - "realt": "vnkitaev.github.io/realt", - "realtime": "datamcfly.github.io/realtimejs", // noCF? (don´t add this in a new PR) - "ream": "ream.github.io", - "reassign": "hasharray.github.io/reassign.js", - "rebatov": "rebatov.github.io", - "rebem": "rebem.github.io", // noCF? (don´t add this in a new PR) - "recycle": "recyclejs.github.io/recycle", - "redis": "noderedis.github.io/node_redis", // noCF? (don´t add this in a new PR) - "redom": "redom.github.io/redom", - "reduce": "reducejs.github.io", // noCF? (don´t add this in a new PR) - "redux-actions": "vinnymac.gitbooks.io/redux-actions", - "redux-data-structures": "adrienjt.github.io/redux-data-structures", - "redux-minimal": "catalin-luntraru.github.io/redux-minimal", - "redux-observable": "redux-observable.github.io/redux-observable", - "redux-observable-cn": "rxjs-cn.github.io/redux-observable-cn", - "redux-saga": "redux-saga.github.io/redux-saga", - "redux-tiles": "bloomca.github.io/redux-tiles", - "redux-undo": "omnidan.github.io/redux-undo", // noCF? (don´t add this in a new PR) - "redux-webpack-boilerplate": "cchamberlain.github.io/redux-webpack-boilerplate", // noCF? (don´t add this in a new PR) - "redux": "rackt.github.io/redux", // noCF? (don´t add this in a new PR) - "reduxible": "pitzcarraldo.github.io/reduxible", // noCF? (don´t add this in a new PR) - "refraction": "mbasso.github.io/refraction", // noCF? (don´t add this in a new PR) - "refujs": "refujs.github.io", // noCF? (don´t add this in a new PR) - "rekit": "supnate.github.io/rekit", // noCF - "relate": "jakelazaroff.github.io/relate", // noCF? (don´t add this in a new PR) - "remark": "wooorm.github.io/remark", // noCF? (don´t add this in a new PR) - "rene": "revrng.github.io", // noCF? (don´t add this in a new PR) - "repackage": "cchamberlain.github.io/repackage", // noCF? (don´t add this in a new PR) - "request": "request.gitbooks.io", // noCF? (don´t add this in a new PR) - "reshift": "hasharray.github.io/reshift.js", - "resourceful-redux": "jmeas.github.io/resourceful-redux", - "restjs": "daviesgeek.github.io/restjs", // noCF? (don´t add this in a new PR) - "revaluate": "hasharray.github.io/revaluate.js", - "riklewis": "riklewis.github.io", - "riotgear": "riotgear.github.io", - "rishav": "xrisk.github.io", - "risingstars2016": "michaelrambeau.github.io/risingstars2016", - "rivki": "mikqi.github.io", - "rmodal": "zewish.github.io/rmodal.js", - "rock": "w3core.github.io/RockJS", - "rocket": "KevinOfNeu.github.io/rocket", - "rockjins": "rockjins.github.io", - "roger": "klopango.github.io", - "rosmaro": "lukaszmakuch.github.io/rosmaro", - "router-advanced": "oldergod.github.io/router-advanced", - "rp": "rpocklin.github.io", // noCF? (don´t add this in a new PR) - "ruhuman": "ruhuman.github.io", // noCF? (don´t add this in a new PR) - "ruwan": "rpgee.github.io", - "s3swa": "s3swa-ict-upgifter.github.io/snow-eater", - "saadmir": "saadmir.github.io", // noCF? (don´t add this in a new PR) - "sagui": "saguijs.github.io", // noCF? (don´t add this in a new PR) - "saigon": "saigonjs.github.io", - "sam": "jdubray.github.io/sam", // noCF? (don´t add this in a new PR) - "samlify": "tngan.github.io/samlify", - "samplyr": "arze1.github.io/samplyr-site", - "sanctuary": "sanctuary-js.github.io/sanctuary-site", - "sandeepkhandewale": "learner1024.github.io", - "sao": "egoist.github.io/sao", - "sass": "medialize.github.io/playground.sass.js", // noCF? (don´t add this in a new PR) - "saulosantiago": "saulosilva.github.io", // noCF? (don´t add this in a new PR) - "savingthrow": "pdistefano.github.io/SavingThrow.js", // noCF? (don´t add this in a new PR) - "schisma": "schisma.github.io/opensource", // noCF? (don´t add this in a new PR) - "scratch": "scratch-js.github.io", - "scrolledin": "manuelromeroramos.github.io/scrolledIn.js", // noCF? (don´t add this in a new PR) - "sdk-design": "huei90.github.io/javascript-sdk-design", // noCF? (don´t add this in a new PR) - "sean": "seancallinan.github.io", // noCF? (don´t add this in a new PR) - "seatbelt": "seatbeltjs.github.io/seatbelt", - "sed": "42ua.github.io/sed", // noCF? (don´t add this in a new PR) - "seesaw": "cajogos.github.io/seesaw", // noCF? (don´t add this in a new PR) - "segoe-mdl2-css": "ckgrafico.github.io/Segoe-mdl2-assets-css", // noCF? (don´t add this in a new PR) - "select_io": "selaromi.github.io/select_io", // noCF? (don´t add this in a new PR) - "selectors": "selectors.github.io/selectors.js", - "selectric": "lcdsantos.github.io/jQuery-Selectric", // noCF? (don´t add this in a new PR) - "sendilkumarn": "sendilkumarn.github.io", - "seoul": "seouljs.github.io/seoul.js.org", - "sequential": "lorenzoongithub.github.io/sequential", - "serender": "youssefkababe.github.io/serender", // noCF? (don´t add this in a new PR) - "serginator": "serginator.github.io", // noCF? (don´t add this in a new PR) - "serializer": "haircvt.github.io/serializerjs", // noCF? (don´t add this in a new PR) - "service-mocker": "service-mocker.github.io/service-mocker", - "shaily": "shailysangwan.github.io", - "shedali": "shedali.github.io", // noCF? (don´t add this in a new PR) - "shortquery": "s--minecraft.gitbooks.io/shortquery-js", // noCF? (don´t add this in a new PR) - "silfr": "silfr.github.io/iterativecolor", - "silky": "wvv8oo.github.com/silky", // noCF? (don´t add this in a new PR) - "siluna": "pahund.github.io/siluna", // noCF? (don´t add this in a new PR) - "simulacra": "daliwali.github.io/simulacra", - "sirkit": "seckwei.github.io/SirKit_CircuitSim", // noCF? (don´t add this in a new PR) - "sizle": "christoga.github.io/sizle", // noCF? (don´t add this in a new PR) - "sjhsbot": "sjhsbot.github.io/SJHS-Bot", - "skate": "skatejs.github.io", // noCF? (don´t add this in a new PR) - "skeptical-coder": "rbpinheiro.github.io/skeptical-coder", - "skx": "skx.github.io", // noCF? (don´t add this in a new PR) - "slang": "ramadis.github.io/slang", // noCF? (don´t add this in a new PR) - "slideout": "mango.github.io/slideout", - "slides": "deadcoder0904.github.io/slides-official-website", - "slidey": "thegreatrazz.github.io/slidey", - "slim": "eavichay.github.io/slim.js", - "smoove": "abemedia.github.io/jquery-smoove", - "sn0w": "greensn0w.github.io", // noCF? (don´t add this in a new PR) - "social-likes-next": "sapegin.github.io/social-likes-next", // noCF? (don´t add this in a new PR) - "social-likes": "sapegin.github.io/social-likes", // noCF? (don´t add this in a new PR) - "solome": "solome.github.io", - "sonny": "sonnylazuardi.github.io", // noCF? (don´t add this in a new PR) - "sox": "sox-team.github.io/sox", // noCF? (don´t add this in a new PR) - "spa": "sucom.github.io/SPA.js", - "spaas": "pakastin.github.io/spaas", - "spectragram": "adrianengine.github.io/jquery-spectragram", // noCF? (don´t add this in a new PR) - "spicdev": "spicdev.github.io", // noCF? (don´t add this in a new PR) - "spin": "fgnass.github.io/spin.js", // noCF? (don´t add this in a new PR) - "spirare": "waldenn.github.io/spirare", // noCF? (don´t add this in a new PR) - "spiritual": "spiritual-js.github.io", // noCF? (don´t add this in a new PR) - "spreadsheet": "chiefofgxbxl.github.io/Spreadsheet.js", - "spritesheet": "arcadiogarcia.github.io/Spritesheet.js", // noCF? (don´t add this in a new PR) - "spritewerk": "bildepunkt.github.io/spritewerk", // noCF? (don´t add this in a new PR) - "squeak": "bertfreudenberg.github.io/SqueakJS", - "sri": "jackub.github.io/subresource-integrity-fallback", - "stabs": "wnda.github.io/stabs", - "stack": "stackgamedevelopment.github.io", - "starratio": "starratio.github.io/star-ratio", // noCF - "staticinstance": "staticinstance.github.io", // noCF? (don´t add this in a new PR) - "stats": "js-org.github.io/stats.js.org", - "status.diamond": "diamondpkg.github.io/status", // noCF? (don´t add this in a new PR) - "stego": "zeruniverse.github.io/CryptoStego", // noCF? (don´t add this in a new PR) - "stepan": "stevermeister.github.io", // noCF? (don´t add this in a new PR) - "stephenmccall": "stephenmccall.github.io", // noCF? (don´t add this in a new PR) - "steven": "stpeng.github.io", - "stockings": "kgroat.github.io/stockings", - "storage": "uzitech.github.io/storage.js", - "storybook": "storybooks.github.io/storybook", - "storybooks": "storybooks.github.io", - "stress": "julindra.github.io/stress.js", - "structure": "talyssonoc.gitbooks.io/structure", - "stuck": "linuxenko.github.io/unstuck-webpack", - "style": "dhilipsiva.github.io/style.js", // noCF? (don´t add this in a new PR) - "styled-css-grid": "styled-css-grid.netlify.com", - "styletron": "rtsao.github.io/styletron", // noCF? (don´t add this in a new PR) - "stylis": "thysultan.github.io/stylis.js", - "sudarshan": "sudarshanRaul.github.io", - "sub": "subjs.github.io", - "sudoku": "andreynering.github.io/sudoku", - "sulky": "shingle.github.io/sulky", // noCF? (don´t add this in a new PR) - "sunsistemo": "sunsistemo.github.io/sunsistemo", - "super-trim": "beeblebrox3.github.io/super-trim", - "supernova": "janbiasi.github.io/supernova", // noCF? (don´t add this in a new PR) - "svelteui": "transpiling.github.io/svelte-flat-ui", - "sweetalert": "t4t5.github.io/sweetalert", - "switchit": "dongryphon.github.io/switchit", - "synth": "lukehorvat.github.io/synth-mood", - "shd": "pro-devel.github.io", - "tagster": "goschevski.github.io/tagster", // noCF? (don´t add this in a new PR) - "talker": "secondstreet.github.io/talker.js", // noCF? (don´t add this in a new PR) - "tap-flux": "technologyadvice.github.io/tap-flux", // noCF? (don´t add this in a new PR) - "tapestry-wp": "shortlist-digital.github.io/tapestry-wp", - "tara": "shakyatara.github.io", - "tart": "tart.github.io/tartJS", // noCF? (don´t add this in a new PR) - "taskata": "f-ruxton.github.io/taskata", - "techfest": "anukul.github.io/techfest", // noCF? (don´t add this in a new PR) - "telaviv": "dustin-h.github.io/telaviv", // noCF? (don´t add this in a new PR) - "telegraf": "telegraf.github.io/telegraf", // noCF? (don´t add this in a new PR) - "temple": "beneaththeink.github.io/Temple", // noCF? (don´t add this in a new PR) - "tequila": "tequila-js.github.io", - "terminal": "gottox.github.io/terminal.js", // noCF? (don´t add this in a new PR) - "textillate": "jschr.github.io/textillate", // noCF? (don´t add this in a new PR) - "texy": "egoist.github.io/texy", - "thea": "idokutela.github.io/thea", - "thegrid": "antoniandre.github.io/grid", - "themoviedb": "chrisenytc.github.io/themoviedb", // noCF? (don´t add this in a new PR) - "thundercats": "thundercatsjs.github.io/thundercats", // noCF? (don´t add this in a new PR) - "timeout": "anshuman-verma.github.io/setTimeout", - "timerizer": "callumacrae.github.io/timerizerJS", // noCF? (don´t add this in a new PR) - "tint": "tintjs.github.io", // noCF? (don´t add this in a new PR) - "tinylinux": "e8johan.github.io/tiny-js", // noCF? (don´t add this in a new PR) - "toad": "wnda.github.io/toad", - "tokyo": "tokyojs.github.io", - "tori": "boostcode.github.io/torijs", - "torino": "torinojs.github.io", // noCF? (don´t add this in a new PR) - "torlondev": "torlondev.github.io", - "tp": "jottocraft.github.io/tp", - "trace": "andreasmadsen.github.io/trace", - "transposer": "francesco-dipi.github.io/transposer", - "treviso": "trevisojs.github.io", // noCF? (don´t add this in a new PR) - "trevorgk": "trevorgk.github.io", // noCF? (don´t add this in a new PR) - "trilogy": "citycide.github.io/trilogy", - "troxel": "troxeljs.github.io", - "try-catch-finally": "c24w.github.io/try-catch-finally.js", - "ts-react-boilerplate": "lapanti.github.io/ts-react-boilerplate", - "ts2jsdoc": "spatools.github.io/ts2jsdoc", // noCF? (don´t add this in a new PR) - "tsfp": "zhenwenc.github.io/tsfp", // noCF? (don´t add this in a new PR) - "tux": "tux.gitbooks.io/docs", - "tweed": "tweedjs.github.io", - "tweetnacl": "dchest.github.io/tweetnacl-js", - "two": "jonobr1.github.io/two.js", - "tydel": "fahad19.github.io/tydel", // noCF? (don´t add this in a new PR) - "typeahead": "corejavascript.github.io/typeahead.js", - "u": "hanul.github.io/UJS", // noCF? (don´t add this in a new PR) - "uav": "unearth-inc.github.io/uav", - "udnisap": "udnisap.github.io", - "ukazap": "ukazap.github.io", // noCF? (don´t add this in a new PR) - "ulog": "download.github.io/ulog", - "ultcombo": "ultcombo.github.io", - "uneditable": "iamcristye.github.io/Uneditable.js", - "unexpected": "unexpectedjs.github.io", // noCF? (don´t add this in a new PR) - "uni": "arcadiogarcia.github.io/UNIJS", // noCF? (don´t add this in a new PR) - "units": "stak-digital.github.io/units", - "upresent": "bobbybee.github.io/uPresent", // noCF? (don´t add this in a new PR) - "utscrooms": "sunakujira1.github.io/UTSCRooms", - "uuid": "rumkin.github.io/uuid", - "uvcharts": "imaginea.github.io/uvCharts", // noCF? (don´t add this in a new PR) - "vaguilar": "vaguilar.github.io", // noCF? (don´t add this in a new PR) - "valentin": "valentinvieriu.github.io", // noCF? (don´t add this in a new PR) - "validator": "ppoffice.github.io/validator.js", // noCF? (don´t add this in a new PR) - "valine": "xcss.github.io/valine", - "vanessa": "vanessa219.github.io/vanessa", - "vanilla": "haeresis.github.io/vanilla-js-dom", - "vbuild": "egoist.github.io/vbuild", - "vico": "bohdantkachenko.github.io/vico", // noCF? (don´t add this in a new PR) - "verifyr": "arze1.github.io/verifyr-site", - "video-react": "video-react.github.io", - "vinimdocarmo": "vinimdocarmo.github.com", // noCF? (don´t add this in a new PR) - "viperhtml": "viperhtml.github.io", - "visualnovel": "selcher.github.io/visualnoveljs", // noCF? (don´t add this in a new PR) - "vk-x": "vk-x.github.io", - "vncz": "xvincentx.github.io/vncz", - "voloshins": "voloshins.github.io", // noCF? (don´t add this in a new PR) - "vorpal": "dthree.github.io/vorpal", // noCF? (don´t add this in a new PR) - "voxelcss": "jhwohlgemuth.github.io/voxelcss", - "vscode-apielements": "xvincentx.github.io/vscode-apielements", - "vue-land": "egoist.github.io/vue-land", - "vue-mdc": "na-west1.surge.sh", - "vue-roast": "kronicker.github.io/vue-roast", - "vue-route-timeline": "disjfa.github.io/vue-route-timeline", - "vuelog": "myst729.github.io/Vuelog", - "vuikit": "vuikit.github.io", - "vuongdothanhhuy": "vuongdothanhhuy.github.io", // noCF? (don´t add this in a new PR) - "wanna": "mkermani144.github.io/wanna", - "wargamer": "hkwu.github.io/wargamer", - "warnbot": "darkcoding-js.github.io/WarnBot", - "warrior": "warriorjs.github.io", - "watch": "ducin.github.io/watchjs.org", // noCF? (don´t add this in a new PR) - "wayou": "wayou.github.io", // noCF? (don´t add this in a new PR) - "weaver": "maxkfranz.github.io/weaver", // noCF? (don´t add this in a new PR) - "webpack": "webpack.github.io/webpack.js.org", - "weekly": "xdimh.github.io/weekly", - "weh": "wehjs.github.io/website", - "wiki": "requarks.github.io/wiki-site", - "within": "eric-brechemier.github.io/within", // noCF? (don´t add this in a new PR) - "wooyun": "jiji262.github.io/wooyun_articles", - "wordywordy": "sverweij.github.io/wordywordy", - "wwb": "eqielb.github.io/wwb", // noCF? (don´t add this in a new PR) - "wyfe": "wangyuanstudio.github.io/WYFE", // noCF? (don´t add this in a new PR) - "xn--z7h": "daniloprates.github.io/xn--z7h", - "xprmntl": "xprmntl.github.io", // noCF? (don´t add this in a new PR) - "xto6": "mohebifar.github.io/xto6", // noCF? (don´t add this in a new PR) - "xtype": "lucono.github.io/xtypejs", // noCF? (don´t add this in a new PR) - "y86": "quietshu.github.io/y86", // noCF? (don´t add this in a new PR) - "yagolopez": "yagolopez.github.io", - "yah": "thassiov.github.io/yah", // noCF? (don´t add this in a new PR) - "yamdbf": "zajrik.github.io/yamdbf", - "yargs": "yargs.github.io", // noCF? (don´t add this in a new PR) - "youtim": "mortonfox.github.io/YouTim", // noCF? (don´t add this in a new PR) - "youtube-box": "lucasmonteverde.github.io/youtube-box", // noCF? (don´t add this in a new PR) - "zanyuyu": "zanseven007.github.io/resume", // noCF - "zaporizhzhya": "zaporizhzhyajs.github.io", - "zazu": "zazujs.github.io", // noCF? (don´t add this in a new PR) - "zeit": "finnzeit.github.io", - "zodiac": "indus.github.io/Zodiac", // noCF? (don´t add this in a new PR) - "zombie": "assaf.github.io/zombie", // noCF? (don´t add this in a new PR) - "zuck": "blanket-warriors.github.io/Zuck" - /* - * please don"t add your subdomain records down here! - * insert them in alphabetical order to help reduce merge conflicts. - * <3 - */ -} From c8c513f982209440f9d6f581d04aa0acd7be837b Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:09:49 +0200 Subject: [PATCH 005/145] Delete cnames_restricted.js --- cnames_restricted.js | 228 ------------------------------------------- 1 file changed, 228 deletions(-) delete mode 100644 cnames_restricted.js diff --git a/cnames_restricted.js b/cnames_restricted.js deleted file mode 100644 index ca7a7c22bc1..00000000000 --- a/cnames_restricted.js +++ /dev/null @@ -1,228 +0,0 @@ -/* - **** RESTRICTED SUBDOMAINS - * ************************** - * - * for the moment the following subdomains are restricted - * the list is not necessarily complete and could be extend at some point - * - * - **** EXPLANATION - * **************** - * - * Some of these subdomains are reserved for JS.ORG itself (e.g.: mail.js.org, admin.js.org). - * Others are so generic that they should be used for community driven pages only (e.g.: blog.js.org, docs.js.org). - * If you are willing to use one of the restricted subdomains in a way the community can benfit and participate, you can always file an issue and start a discussion. - * - */ - -var cnames_restricted = [ - "about", - "account(s)", - "ad(s)", - "admin(s)", - "answer(s)", - "api(s)", - "app(s)", - "archive(s)", - "array(s)", - "asm", - "async", - "backup(s)", - "bar", - "base", - "basic(s)", - "become", - "bible", - "blog(s)", - "book(s)", - "boolean", - "bot(s)", - "browser(s)", - "bug(s)", - "build(s)", - "business", - "career", - "cdn", - "center", - "chat(s)", - "client(s)", - "cloud", - "code", - "communit(y/ies)", - "compan(y/ies)", - "compare", - "compile", - "console", - "contact(s)", - "cookie(s)", - "copy", - "copyright(s)", - "core", - "create", - "crew(s)", - "css", - "data", - "ddns", - "deal", - "debug", - "demo(s)", - "dev(s)", - "develop", - "developer(s)", - "dir(s)", - "director(y/ies)", - "dns", - "doc(s)", - "domain(s)", - "donate(s)", - "dyn", - "easy", - "ecma", - "editor", - "email(s)", - "enterprise(s)", - "es2015", - "es6", - "event(s)", - "faq(s)", - "file(s)", - "find", - "foo", - "format(s)", - "forum(s)", - "framework(s)", - "free", - "front", - "frontpage", - "ftp", - "function(s)", - "fund(s)", - "galler(y/ies)", - "game(s)", - "get", - "git", - "global(s)", - "group(s)", - "guide(s)", - "headquarter", - "help", - "home", - "homepage", - "host(s)", - "hq", - "html", - "hub(s)", - "imap", - "index", - "info(s)", - "internet", - "json", - "legal(s)", - "lesson(s)", - "license(s)", - "like(s)", - "link(s)", - "live", - "log(s)", - "login", - "logo(s)", - "logout", - "loop(s)", - "love", - "mail", - "main", - "map(s)", - "market(s)", - "master", - "media", - "meet", - "member(s)", - "mobile", - "module(s)", - "my", - "native", - "net", - "network", - "new(s)", - "newsgroup(s)", - "newsletter(s)", - "ninja(s)", - "now", - "ns1", - "ns2", - "object(s)", - "online", - "open", - "package(s)", - "page(s)", - "password(s)", - "permalink(s)", - "piwik", - "plain", - "pop3", - "portal(s)", - "professional(s)", - "program(s)", - "project(s)", - "prototype(s)", - "pub(s)", - "raw", - "readme(s)", - "regex(p)", - "remote", - "require", - "rest", - "review(s)", - "root(s)", - "rss", - "run", - "school(s)", - "script(s)", - "search", - "secure", - "serv", - "server(s)", - "service(s)", - "site(s)", - "smtp", - "socket(s)", - "source(s)", - "standard(s)", - "store(s)", - "string(s)", - "sub(s)", - "subdomain(s)", - "subscribe", - "sync", - "system(s)", - "tag(s)", - "team(s)", - "tech", - "terminal", - "test", - "tip", - "tool(s)", - "topic(s)", - "translate", - "trend(s)", - "trick(s)", - "tutorial(s)", - "tweak(s)", - "type(s)", - "unit(s)", - "united", - "unsubscribe", - "uri(s)", - "url(s)", - "user(s)", - "utility", - "validate", - "var(s)", - "virtual", - "wasm", - "watch", - "web", - "world", - "www", - "xml" -] From 17c7331aca081950662ea87645f9cba8f11905b1 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:10:57 +0200 Subject: [PATCH 006/145] restore --- 404.html | 6 ++ CNAME | 1 + README.md | 25 +---- _config.yml | 4 + _includes/GA.html | 2 + _includes/footer.html | 4 + _includes/ghstars.html | 1 + _includes/header.html | 4 + _includes/icon.html | 10 ++ _includes/ie8.html | 2 + _includes/style.html | 8 ++ _layouts/default.html | 34 +++++++ _site/404.html | 56 +++++++++++ _site/CNAME | 1 + _site/README.md | 3 + _site/browserconfig.xml | 12 +++ _site/css/dns.css | 165 +++++++++++++++++++++++++++++++++ _site/css/dns.min.css | 1 + _site/css/dns.scss | 200 ++++++++++++++++++++++++++++++++++++++++ _site/disclaimer.html | 89 ++++++++++++++++++ _site/favicon.ico | Bin 0 -> 26294 bytes _site/index.html | 96 +++++++++++++++++++ _site/js/hermes.js | 49 ++++++++++ _site/js/hermes.min.js | 1 + _site/js/zodiac.min.js | 1 + _site/legals.html | 137 +++++++++++++++++++++++++++ _site/terms.html | 185 +++++++++++++++++++++++++++++++++++++ browserconfig.xml | 12 +++ css/_variables.scss | 6 ++ css/dns.css | 165 +++++++++++++++++++++++++++++++++ css/dns.min.css | 1 + css/dns.scss | 200 ++++++++++++++++++++++++++++++++++++++++ disclaimer.html | 39 ++++++++ favicon.ico | Bin 0 -> 26294 bytes index.html | 43 +++++++++ js/hermes.js | 49 ++++++++++ js/hermes.min.js | 1 + js/zodiac.min.js | 1 + legals.html | 87 +++++++++++++++++ terms.html | 185 +++++++++++++++++++++++++++++++++++++ 40 files changed, 1864 insertions(+), 22 deletions(-) create mode 100644 404.html create mode 100644 CNAME create mode 100644 _config.yml create mode 100644 _includes/GA.html create mode 100644 _includes/footer.html create mode 100644 _includes/ghstars.html create mode 100644 _includes/header.html create mode 100644 _includes/icon.html create mode 100644 _includes/ie8.html create mode 100644 _includes/style.html create mode 100644 _layouts/default.html create mode 100644 _site/404.html create mode 100644 _site/CNAME create mode 100644 _site/README.md create mode 100644 _site/browserconfig.xml create mode 100644 _site/css/dns.css create mode 100644 _site/css/dns.min.css create mode 100644 _site/css/dns.scss create mode 100644 _site/disclaimer.html create mode 100644 _site/favicon.ico create mode 100644 _site/index.html create mode 100644 _site/js/hermes.js create mode 100644 _site/js/hermes.min.js create mode 100644 _site/js/zodiac.min.js create mode 100644 _site/legals.html create mode 100644 _site/terms.html create mode 100644 browserconfig.xml create mode 100644 css/_variables.scss create mode 100644 css/dns.css create mode 100644 css/dns.min.css create mode 100644 css/dns.scss create mode 100644 disclaimer.html create mode 100644 favicon.ico create mode 100644 index.html create mode 100644 js/hermes.js create mode 100644 js/hermes.min.js create mode 100644 js/zodiac.min.js create mode 100644 legals.html create mode 100644 terms.html diff --git a/404.html b/404.html new file mode 100644 index 00000000000..5e94a4171d4 --- /dev/null +++ b/404.html @@ -0,0 +1,6 @@ +--- +layout: default +claim: Delivering 404s to the JavaScript community since 2015 +ghstars: js.org +--- +
ERROR 404
We're sorry but the page you requested could not be found
\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..4dc74d47157 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +dns.js.org diff --git a/README.md b/README.md index c2cc2cce5ca..53fad073cb6 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,3 @@ -[![JS.ORG Logo](http://logo.js.org/png/github_header.png)](http://js.org) - -[![JS.ORG](https://img.shields.io/badge/js.org-dns-ffb400.svg?style=flat-square)](http://js.org) - - -[![International JavaScript Conference; October 23-27 2017, Munich](https://js.org/img/IJS_2017_Banner_970x90_41212_infinite.gif)](https://javascript-conference.com/?utm_source=jsnews&utm_medium=banner&utm_campaign=mediapartner) - -**To get a short and sleek subdomain for your own GitHub Page follow these 4 Steps:** - -### Step 1 -If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page following the instructions [here](https://pages.github.com/). To get a head start you can simply use the generator with one of the provided themes and **add some reasonable content to your new page**. - -### Step 2 -Now determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for ```http://foo.github.io/bar```, either ```foo.js.org``` or ```bar.js.org``` would be possible). More details in the [wiki](https://github.com/js-org/dns/wiki). - -### Step 3 -Add a file named ```CNAME``` to your repo (in the ```gh-pages``` branch for project pages) with a single line matching the domain you have chosen (e.g. ```foo.js.org```). If you prefer a webinterface form, have a look at [GitHub Pages Help](https://help.github.com/articles/adding-or-removing-a-custom-domain-for-your-github-pages-site/). - -### Step 4 -To finish the procedure, make a pull request in this GitHub repository that adds your subdomain to the [list](https://github.com/js-org/dns/blob/master/cnames_active.js) of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict). - - +![JS.ORG Logo](http://logo.js.org/png/github_header.png) + +Have a look at [JS.ORG](http://dns.js.org) [(branch: master)](https://github.com/js-org/dns/tree/master) diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000000..ccaaf127290 --- /dev/null +++ b/_config.yml @@ -0,0 +1,4 @@ +title: 10k +baseurl: "" # the subpath of your site, e.g. /blog/ +url: "http://yourdomain.com" # the base hostname & protocol for your site +exclude: [dummy] \ No newline at end of file diff --git a/_includes/GA.html b/_includes/GA.html new file mode 100644 index 00000000000..01d08ccf4fc --- /dev/null +++ b/_includes/GA.html @@ -0,0 +1,2 @@ +(function (i,s,o,g,r,a,m) {i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1 * new Date(); a=s.createElement(o), m=s.getElementsByTagName(o)[0]; a.async=1; a.src=g; m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); +ga('create','UA-59246932-1','auto');ga('set','anonymizeIp',true);ga('send','pageview'); \ No newline at end of file diff --git a/_includes/footer.html b/_includes/footer.html new file mode 100644 index 00000000000..248cfeb7323 --- /dev/null +++ b/_includes/footer.html @@ -0,0 +1,4 @@ + + + +
{% if page.ghstars %}{% endif %}
Disclaimer Impressum/Legalswebdesign: Der Keim
\ No newline at end of file diff --git a/_includes/ghstars.html b/_includes/ghstars.html new file mode 100644 index 00000000000..f7796ecbce0 --- /dev/null +++ b/_includes/ghstars.html @@ -0,0 +1 @@ +(function(){var h=document.getElementsByTagName('head')[0],id='callback_'+Math.random().toString(36).substr(2,16),el=document.createElement('script'),ghs=document.getElementById('ghstars');window[id]=function(obj){ghs.innerHTML=obj.data.watchers||0;ghs.style.display='inline-block';delete window[id]};el.src='https://api.github.com/repos/js-org/{{page.ghstars}}?callback='+id;h.insertBefore(el,h.firstChild)})(); \ No newline at end of file diff --git a/_includes/header.html b/_includes/header.html new file mode 100644 index 00000000000..8ca125b84a2 --- /dev/null +++ b/_includes/header.html @@ -0,0 +1,4 @@ + + + +

{% if page.claim %}{{page.claim}}{% else %}Gathering statistics on JavaScript projects since 2015{% endif %}

diff --git a/_includes/icon.html b/_includes/icon.html new file mode 100644 index 00000000000..6c18441e423 --- /dev/null +++ b/_includes/icon.html @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/_includes/ie8.html b/_includes/ie8.html new file mode 100644 index 00000000000..f5eeebd6dbb --- /dev/null +++ b/_includes/ie8.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/_includes/style.html b/_includes/style.html new file mode 100644 index 00000000000..139004f5f12 --- /dev/null +++ b/_includes/style.html @@ -0,0 +1,8 @@ + \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 00000000000..78210cca99b --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,34 @@ + + + + + + + + + + JS.ORG + + + + {% include icon.html %} + {% include ie8.html %} + {% include style.html %} + + + + + {% include header.html %} + {{ content }} + {% include footer.html %} + {% if page.zodiac %} + + {% endif %}{% if page.hermes %} + + {% endif %} + + + diff --git a/_site/404.html b/_site/404.html new file mode 100644 index 00000000000..5765cb599e7 --- /dev/null +++ b/_site/404.html @@ -0,0 +1,56 @@ + + + + + + + + + + JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + +

Delivering 404s to the JavaScript community since 2015

+ +
ERROR 404
We're sorry but the page you requested could not be found
+ + + +
Disclaimer Impressum/Legalswebdesign: Der Keim
+ + + + diff --git a/_site/CNAME b/_site/CNAME new file mode 100644 index 00000000000..4dc74d47157 --- /dev/null +++ b/_site/CNAME @@ -0,0 +1 @@ +dns.js.org diff --git a/_site/README.md b/_site/README.md new file mode 100644 index 00000000000..53fad073cb6 --- /dev/null +++ b/_site/README.md @@ -0,0 +1,3 @@ +![JS.ORG Logo](http://logo.js.org/png/github_header.png) + +Have a look at [JS.ORG](http://dns.js.org) [(branch: master)](https://github.com/js-org/dns/tree/master) diff --git a/_site/browserconfig.xml b/_site/browserconfig.xml new file mode 100644 index 00000000000..fe3c8df4268 --- /dev/null +++ b/_site/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #FDB400 + + + \ No newline at end of file diff --git a/_site/css/dns.css b/_site/css/dns.css new file mode 100644 index 00000000000..e786742b16a --- /dev/null +++ b/_site/css/dns.css @@ -0,0 +1,165 @@ +html.no-js, html.ie8, html.bg { + background: url("http://js.org/img/bg.png") #ffb400 repeat-y fixed; +} + +::selection { + color: #ffb400; + background: #333333; +} + +.btf { + opacity: 1; +} + +a:hover { + color: rgba(51, 51, 51, 0.25); +} + +.hf .logo a:hover { + color: rgba(51, 51, 51, 0.25); +} +.hf a { + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; +} +.hf .fb:hover, .hf .tw:hover, .hf .gp:hover, .hf .gh:hover { + background: white; +} +.hf .fb:hover { + color: #3c5a98; +} +.hf .tw:hover { + color: #54a3db; +} +.hf .gp:hover { + color: #de4b3b; +} +.hf .gh:hover { + background: rgba(51, 51, 51, 0.25); +} + +#zodiac { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + +#err404 { + text-align: center; +} +#err404 span { + font-size: 5.5em; + line-height: 1em; + font-weight: 700; +} + +#typewriter { + font-size: 3em; + margin: 0; +} +#typewriter #hermes { + -moz-transition: all .2s .1s; + -o-transition: all .2s .1s; + -webkit-transition: all .2s .1s; + transition: all .2s .1s; +} +#typewriter #hermes.active { + padding-right: .1em; + border-right: 0.06em solid #333333; +} + +section { + position: relative; + padding: 1em 0; +} +section a { + font-weight: 700; +} +section input { + position: absolute; + opacity: 0; + top: 0; + left: -999px; +} +section input:checked + article { + display: inline-block; +} +section input#s1I:checked ~ nav #s1L, section input#s2I:checked ~ nav #s2L, section input#s3I:checked ~ nav #s3L, section input#s4I:checked ~ nav #s4L { + background-color: white; +} +section nav { + display: inline-table; + border-collapse: collapse; + margin: 0; +} +section nav label { + cursor: pointer; + display: table-cell; + border: 2px solid white; + border-top: none; + left: 0; + font-weight: 700; + font-size: 1em; + height: 2em; + width: 2em; + line-height: 2em; + text-align: center; + margin: 0; + padding: 0; + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; +} +section nav label:hover { + background-color: fade(white, 50%); +} +section article { + display: none; + background-color: white; + margin: 0; + padding: 1.2em; +} +section article h3 { + float: left; + color: #ffb400; + border-right: 2px solid #ffb400; + font-size: 6em; + width: 1em; + padding-top: .2em; + text-align: center; + line-height: .75em; + font-weight: 700; + margin: -.2em .3em .1em -.2em; +} + +h4 { + margin-bottom: .5em; +} + +@media screen and (max-width: 640px) { + section article h3 { + font-size: 2em; + padding-top: .4em; + margin: -.6em .6em 0 0; + } + + #typewriter { + font-size: 2em; + } +} +@media screen and (max-width: 480px) { + #typewriter { + font-size: 1.5em; + font-weight: 700; + } + + code, h4 { + display: none; + } +} diff --git a/_site/css/dns.min.css b/_site/css/dns.min.css new file mode 100644 index 00000000000..086f53604d1 --- /dev/null +++ b/_site/css/dns.min.css @@ -0,0 +1 @@ +html.no-js,html.ie8,html.bg{background:url("http://js.org/img/bg.png") #ffb400 repeat-y fixed}::selection{color:#ffb400;background:#333}.btf{opacity:1}a:hover{color:rgba(51,51,51,.25)}.hf .logo a:hover{color:rgba(51,51,51,.25)}.hf a{-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s}.hf .fb:hover,.hf .tw:hover,.hf .gp:hover,.hf .gh:hover{background:#fff}.hf .fb:hover{color:#3c5a98}.hf .tw:hover{color:#54a3db}.hf .gp:hover{color:#de4b3b}.hf .gh:hover{background:rgba(51,51,51,.25)}#zodiac{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}#err404{text-align:center}#err404 span{font-size:5.5em;line-height:1em;font-weight:700}#typewriter{font-size:3em;margin:0}#typewriter #hermes{-moz-transition:all .2s .1s;-o-transition:all .2s .1s;-webkit-transition:all .2s .1s;transition:all .2s .1s}#typewriter #hermes.active{padding-right:.1em;border-right:.06em solid #333}section{position:relative;padding:1em 0}section input{position:absolute;opacity:0;top:0;left:-999px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background-color:#fff}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{cursor:pointer;display:table-cell;border:2px solid #fff;border-top:none;left:0;font-weight:700;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s}section nav label:hover{background-color:fade(#fff,50%)}section article{display:none;background-color:#fff;margin:0;padding:1.2em}section article h3{float:left;color:#ffb400;border-right:2px solid #ffb400;font-size:6em;width:1em;padding-top:.2em;text-align:center;line-height:.75em;font-weight:700;margin:-.2em .3em .1em -.2em}h4{margin-bottom:.5em}@media screen and (max-width:640px){section article h3{font-size:2em;padding-top:.4em;margin:-.6em .6em 0 0}#typewriter{font-size:2em}}@media screen and (max-width:480px){#typewriter{font-size:1.5em;font-weight:700}code,h4{display:none}} \ No newline at end of file diff --git a/_site/css/dns.scss b/_site/css/dns.scss new file mode 100644 index 00000000000..28fff34ffd9 --- /dev/null +++ b/_site/css/dns.scss @@ -0,0 +1,200 @@ +@import "variables"; + +html.no-js, html.ie8, html.bg { + background: url("http://js.org/img/bg.png") $cBg repeat-y fixed; +} + +::selection { + color: $cBg; + background: $cTxt; +} + +.btf { + opacity: 1; +} + +a:hover { + color: rgba($cTxt, .25); +} + +.hf { + + .logo { + a:hover { + color: rgba($cTxt, .25); + } + } + + a { + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; + } + + .fb, .tw, .gp, .gh { + + &:hover { + background: $cKey; + } + } + + .fb:hover { + color: $cFb; + } + + .tw:hover { + color: $cTw; + } + + .gp:hover { + color: $cGp; + } + + .gh:hover { + background: rgba($cTxt, .25); + } +} + +#zodiac { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + + +#err404 { + text-align: center; + + span { + font-size: 5.5em; + line-height: 1em; + font-weight: 700; + } +} + + +#typewriter { + font-size: 3em; + margin: 0; + + #hermes { + -moz-transition: all .2s .1s; + -o-transition: all .2s .1s; + -webkit-transition: all .2s .1s; + transition: all .2s .1s; + + &.active { + padding-right: .1em; + border-right: .06em solid $cTxt; + } + } +} + +section { + position: relative; + padding: 1em 0; + + a { + font-weight:700; + } + + input { + position: absolute; + opacity: 0; + top: 0; + left: -999px; + + &:checked + article { + display: inline-block; + } + + &#s1I:checked ~ nav #s1L, + &#s2I:checked ~ nav #s2L, + &#s3I:checked ~ nav #s3L, + &#s4I:checked ~ nav #s4L { + background-color: $cKey; + } + } + + nav { + display: inline-table; + border-collapse: collapse; + margin: 0; + + label { + cursor: pointer; + display: table-cell; + border: 2px solid $cKey; + border-top: none; + left: 0; + font-weight: 700; + font-size: 1em; + height: 2em; + width: 2em; + line-height: 2em; + text-align: center; + margin: 0; + padding: 0; + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; + + &:hover { + background-color: fade($cKey, 50%); + } + } + } + + article { + display: none; + background-color: $cKey; + margin: 0; + padding: 1.2em; + + + h3 { + float: left; + color: $cBg; + border-right: 2px solid $cBg; + font-size: 6em; + width: 1em; + padding-top: .2em; + text-align: center; + line-height: .75em; + font-weight: 700; + margin: -.2em .3em .1em -.2em; + } + } +} + +h4 { + margin-bottom: .5em; +} + +@media screen and (max-width: 640px) { + section article h3 { + font-size: 2em; + padding-top: .4em; + margin: -.6em .6em 0 0; + } + + #typewriter { + font-size: 2em; + } +} + +@media screen and (max-width: 480px) { + #typewriter { + font-size: 1.5em; + font-weight: 700; + } + + code, h4 { + display: none; + } +} diff --git a/_site/disclaimer.html b/_site/disclaimer.html new file mode 100644 index 00000000000..dda7152ad32 --- /dev/null +++ b/_site/disclaimer.html @@ -0,0 +1,89 @@ + + + + + + + + + + JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + +

Gathering statistics on JavaScript projects since 2015

+ +
+

Disclaimer/Privacy Statement

+
+

General

+

Your personal data (e.g. title, name, house address, e-mail address, phone number, bank details, credit card number) are processed by us only in accordance with the provisions of German data privacy laws. The following provisions describe the type, scope and purpose of collecting, processing and utilizing personal data. This data privacy policy applies only to our web pages. If links on our pages route you to other pages, please inquire there about how your data are handled in such cases.

+
+
+

Inventory data

+
    +
  • Your personal data, insofar as these are necessary for this contractual relationship (inventory data) in terms of its establishment, organization of content and modifications, are used exclusively for fulfilling the contract. For goods to be delivered, for instance, your name and address must be relayed to the supplier of the goods.
  • +
  • Without your explicit consent or a legal basis, your personal data are not passed on to third parties outside the scope of fulfilling this contract. After completion of the contract, your data are blocked against further use. After expiry of deadlines as per tax-related and commercial regulations, these data are deleted unless you have expressly consented to their further use.
  • +
+
+
+

Information about cookies

+
    +
  • To optimize our web presence, we use cookies. These are small text files stored in your computer’s main memory. These cookies are deleted after you close the browser. Other cookies remain on your computer (long-term cookies) and permit its recognition on your next visit. This allows us to improve your access to our site.
  • +
  • You can prevent storage of cookies by choosing a "disable cookies" option in your browser settings. But this can limit the functionality of our Internet offers as a result.
  • +
+
+
+

Web analysis with Google Analytics

+

This website uses Google Analytics, a web analysis service of Google Inc. (Google). Google Analytics uses cookies, i.e. text files stored on your computer to enable analysis of website usage by you. Information generated by the cookie about your use of this website is usually transmitted to a Google server in the United States and stored there. In case of activated IP anonymization on this website, however, your IP address is previously truncated by Google within member states of the European Union or in other states which are party to the agreement on the European Economic Area. Only in exceptional cases is a full IP address transmitted to a Google server in the United States and truncated there. On behalf this website’s owner, Google will use this information to evaluate your use of the website, compile reports about website activities, and provide the website’s operator with further services related to website and Internet usage. The IP address sent from your browser as part of Google Analytics is not merged with other data by Google. You can prevent storage of cookies by appropriately setting your browser software; in this case, however, please note that you might not be able to fully use all functions offered by this website. In addition, you can prevent data generated by the cookie and relating to your use of the website (including your IP address) from being collected and processed by Google, by downloading and installing a browser plug-in from the following link: http://tools.google.com/dlpage/gaoptout?hl=en

+

This website uses Google Analytics with the extension "anonymizeIP()", IP addresses being truncated before further processing in order to rule out direct associations to persons.

+
+
+

Disclosure

+

According to the Federal Data Protection Act, you have a right to free-of-charge information about your stored data, and possibly entitlement to correction, blocking or deletion of such data. Inquiries can be directed to the following e-mail addresses: ( admin@js.org )

+
+
Quelle: twigg.de
+
+

April 2015

+
+
+ + + +
Disclaimer Impressum/Legalswebdesign: Der Keim
+ + + + diff --git a/_site/favicon.ico b/_site/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b46e45c9e44bfddfec1c480ace613ce41c921d97 GIT binary patch literal 26294 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 literal 0 HcmV?d00001 diff --git a/_site/index.html b/_site/index.html new file mode 100644 index 00000000000..dbd08c29ba4 --- /dev/null +++ b/_site/index.html @@ -0,0 +1,96 @@ + + + + + + + + + + JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + +

Providing nice and free domains for GitHub Pages since 2015

+ +

http://foo.js.org

+

You are a JavaScript developer looking for free webspace to host your project? Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL as shown in the examples above.

+

Important: As the owner of the repository you keep complete control over your published content. That also means, all rights and duties that come along with publishing a GitHub Page remain the subject of you.
Have a look at our Terms of Service for more details.

+

Just follow these four steps to get your own free JS.ORG subdomain for your GitHub Page. We don't mind whether it's a User-, Organisation- or Project-Page (...as long as you provide some reasonable content!)

+ +
+ +
+

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page following the instructions here. To get a head start you can simply use the generator with one of the provided themes and add some content to your new page. +
+ +
+

2

Now determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki. +
+ +
+

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face problems, check out the section Custom URLs at GitHub Pages Help. +
+ +
+

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of exisiting JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict). +
+ +
+ +

We truly appreciate your support by spreading some code!

+ + <a href="http://js.org" target="_blank" title="JS.ORG | JavaScript Community">
+ <img src="http://logo.js.org/dark_horz.png" width="102" alt="JS.ORG Logo"/></a>
+ <!-- alternatives [bright|dark]_[horz|vert|tiny].png (width[horz:102,vert:50,tiny:77]) --> +
+ + + + +
Disclaimer Impressum/Legalswebdesign: Der Keim
+ + + + + + + + diff --git a/_site/js/hermes.js b/_site/js/hermes.js new file mode 100644 index 00000000000..16b01402e03 --- /dev/null +++ b/_site/js/hermes.js @@ -0,0 +1,49 @@ +'use static'; +(function () { + function Hermes(el, dict, options) { + if (options === void 0) { options = {}; } + this.options = { + write_speed: 1000 / 4, + write_acceleration: 1, + write_random: .2, + write_pause: 3000, + clear_speed: 1000 / 16, + clear_acceleration: 1, + clear_random: .2, + clear_pause: 500 + }; + var el = (typeof el == 'string' || el instanceof String) ? document.getElementById(el) : el; + + if (!('innerHTML' in el)) + throw 'no element'; + for (var key in options) { + this.options[key] = options[key]; + } + options = this.options; + dict = [].concat(dict); + var word = el.innerHTML, l = word.length, i = -1; + var clear = function () { + if (l-- > 0) { + el.className = 'active'; + el.innerHTML = word.slice(0, l); + setTimeout(clear, options.clear_speed + options.clear_speed * l / word.length * options.clear_acceleration + options.clear_speed * options.clear_random * Math.random()); + } + else { + word = '' + dict[(i = (i + 1) % dict.length)]; + setTimeout(write, options.clear_pause); + } + }; + var write = function () { + if (l++ < word.length) { + el.innerHTML = word.slice(0, l); + setTimeout(write, options.write_speed + options.write_speed * -l / word.length * options.write_acceleration + options.write_speed * options.write_random * Math.random()); + } + else { + el.className = ''; + setTimeout(clear, options.write_pause); + } + }; + write(); + } + new Hermes('hermes', ["mydomain", "free", "community", "learn", "munich"]); +})(); \ No newline at end of file diff --git a/_site/js/hermes.min.js b/_site/js/hermes.min.js new file mode 100644 index 00000000000..d0faf3d82f4 --- /dev/null +++ b/_site/js/hermes.min.js @@ -0,0 +1 @@ +"use static";!function(){function e(e,t,n){void 0===n&&(n={}),this.options={write_speed:250,write_acceleration:1,write_random:.2,write_pause:3e3,clear_speed:62.5,clear_acceleration:1,clear_random:.2,clear_pause:500};var e="string"==typeof e||e instanceof String?document.getElementById(e):e;if(!("innerHTML"in e))throw"no element";for(var i in n)this.options[i]=n[i];n=this.options,t=[].concat(t);var r=e.innerHTML,a=r.length,c=-1,o=function(){a-->0?(e.className="active",e.innerHTML=r.slice(0,a),setTimeout(o,n.clear_speed+n.clear_speed*a/r.length*n.clear_acceleration+n.clear_speed*n.clear_random*Math.random())):(r=""+t[c=(c+1)%t.length],setTimeout(s,n.clear_pause))},s=function(){a++n||n>d)&&(t.bounceX?i.vx=-i.vx:i.x=(n+d)%d-i.dx),(0>e||e>l)&&(t.bounceY?i.vy=-i.vy:i.y=(e+l)%l-i.dy),c.moveTo(n+i.r,e),c.arc(n,e,i.r,0,2*Math.PI);for(var h=o-1;h>=0;h--){var w=r[h],v=w.x-i.x,y=w.y-i.y,u=Math.sqrt(v*v+y*y);if(u=0;h--)(r[h].x>d||r[h].y>l)&&r.splice(h,1);for(mr.length;){var w=s();r.push({z:(w-t.pivot)/4,r:n[1]?w*(n[1]-n[0])+n[0]:n[0],x:Math.ceil(s()*d),y:Math.ceil(s()*l),vx:(t.directionX||(s()>.5?1:-1))*(s()*(e[1]-e[0])+e[0]),vy:(t.directionY||(s()>.5?1:-1))*(s()*(a[1]-a[0])+a[0]),dx:0,dy:0})}c.strokeStyle=t.linkColor,c.lineWidth=t.linkWidth,c.fillStyle=t.dotColor};window.addEventListener("resize",h,!1),document.addEventListener("mousemove",n,!1),window.addEventListener("deviceorientation",e,!1),h(),m()}}new i("zodiac")}(),function(){for(var i=0,t=["ms","moz","webkit","o"],n=0;n + + + + + + + + + JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + +

Gathering statistics on JavaScript projects since 2015

+ +
+

Impressum/Legals

+ + This website is subject to german law and therefore requires german legal information, the so called "Impressum". If you are not german-speaking you can take the contact informations from here and head over to the disclaimer. + +
+

Angaben gemäß § 5 TMG:
[Owner of the website]

+

+ Stefan Keim
+ Seefelder Weg 9
+ 82205 Gilching +

+
+ +
+

Kontakt:
[Contact]

+

+ Telefon: +49-1764-2080100
+ E-Mail: admin@js.org +

+
+ +
+

Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:
[Responsible for the content]

+

+ Stefan Keim
+ Seefelder Weg 9
+ 82205 Gilching +

+
+ +
+

Haftungsausschluss:
[link: disclaimer]

+ +

Haftung für Inhalte

+

Die Erstellung der Inhalte dieser Webseite erfolgte mit größtmöglicher Sorgfalt. Allerdings können wir keine Gewähr für die Vollständigkeit der bereitgestellten Inhalte, ihre Aktualität sowie Richtigkeit übernehmen. Gem. §§ 8 – 10 TMG trifft uns als Dienstanbieter keine Pflicht, fremde Informationen, die übermittelt oder gespeichert wurden, zu überwachen oder nach Anhaltspunkten und Umständen zu forschen, die die Rechtswidrigkeit von Tätigkeiten und Informationen indizieren.

+

Eine Verpflichtung unsererseits zur Nutzungssperrung von Inhalten im Rahmen der allgemeinen Gesetze bleibt hiervon stets unberührt. Diese Haftung kommt jedoch erst im Moment der Kenntnisnahme einer konkreten Verletzung von Rechten in Frage. Sollten uns Rechtsverletzungen bekannt werden, so sind die entsprechenden Inhalte von uns unverzüglich zu entfernen.

+

Unsere Haftung für eigene Inhalte richtet sich, als Dienstanbieter, nach den allgemeinen Gesetzen.

+ +

Haftung für Links

+

Diese Webseite beinhaltet Verlinkungen zu Webseiten Dritter – sog. externe Links. Die Inhalte dieser externen Links entziehen sich unserer Einflussnahme, sodass eine Gewähr für solche Inhalte unsererseits nicht übernommen wird.

+

Die Verantwortung liegt stets beim jeweiligen Betreiber der externen Seiten. Zum Zeitpunkt der Verknüpfung der externen Links waren keine Rechtsverstöße ersichtlich. Die permanente Überwachung fremder Inhalte auf Rechtsverstöße ohne konkrete Hinweise ist uns nicht zumutbar.

+

Sollten wir Kenntnis von Rechtsverletzungen erlangen, werden wir die entsprechenden externen Links unverzüglich entfernen.

+ +

Urheberrecht/Leistungsschutzrecht

+

Auf die vom Anbieter auf dieser Seite veröffentlichten Inhalte findet das deutsche Urheber und Leistungsschutzrecht Anwendung. Sofern die Vervielfältigung, Bearbeitung, Verbreitung oder jegliche andere Art der Verwertung außerhalb des deutschen Urheber- und Leistungsschutzrechts liegt, bedarf es einer schriftlichen Zustimmung des jeweiligen Erstellers. Unerlaubtes Kopieren oder Downloaden dieser Seiten ist ausschließlich für den privaten Bereich, nicht jedoch für den kommerziellen, erlaubt. Sofern nicht wir als Betreiber auch als Ersteller der Inhalte fungieren, werden die Urheberrechte von Dritten beachtet. Wir sind stets bemüht solche Inhalte als Inhalte Dritter zu kennzeichnen. Wir bitten Sie für den Fall, dass Ihnen trotz sorgfältiger Arbeit unsererseits, eine Urheberrechtsverletzung auffällt, uns entsprechend darauf hinzuweisen, sodass die Entfernung dieser Inhalte umgehend veranlasst werden kann.

+ +

Datenschutz

+

Die Nutzung dieser Webseite ist regelmäßig ohne Angabe personenbezogener Daten möglich. Sollten solche personenbezogenen Daten auf dieser Webseite dennoch erhoben werden, so erfolgt dies in Form einer freiwilligen Datenangabe durch den Nutzer. Eine Weitergabe der personenbezogenen Daten an Dritte erfolgt nicht, sofern keine ausdrückliche Zustimmung des Nutzers abgegeben wurde.

+

Sofern auf unseren Webseiten personenbezogene Daten erhoben werden, vollzieht sich die Erhebung dieser Daten stets im Rahmen der Bestimmung des Datenschutzrechtes der Bundesrepublik Deutschland. Sofern personenbezogene Daten erhoben werden, können Sie dieser Datenschutzerklärung die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten entnehmen.

+

Bitte beachten Sie, dass trotz größter Sorgfalt die Datenübertragung im Internet stets mit Risiken, die auf Sicherheitslücken basieren, verbunden ist. Der uneingeschränkte Schutz von Daten ist daher unmöglich.

+ +

Datenübermittlung

+

Bei einem Zugriff Ihrerseits auf unsere Webseiten erfolgt eine automatische Datenübermittlung von Ihrem Browser an unseren Webserver. Gegenstand dieser Übermittlung sind anonymisierte Zugriffsdaten ohne Personenbezug, wie etwa Datum und Uhrzeit, Browsertyp, Menge und Art der abgerufenen Daten sowie Ihre IP-Adresse. Die Speicherung dieser Daten geschieht getrennt von etwaigen anderen, im Rahmen der Nutzung unserer Webseiten durch Sie, erhobenen Daten. Diese Daten können nicht dazu verwendet werden eine konkrete Person zu bestimmen. Die Erhebung dieser Daten findet lediglich zur Protokollierung des Benutzerverhaltens und zu statistischen Zwecken statt. Nach einer entsprechenden Auswertung wird eine Löschung der Daten veranlasst.

+ +

Cookies

+

Zu Zwecken der Qualitätssicherung und Erweiterung des Funktionsumfangs unseres Internetangebots verwenden wir auf unseren Webseiten sog. Cookies. Dabei handelt es sich um Textdateien, die auf dem Rechner des Nutzers gespeichert werden. Durch Cookies kann die Anzahl der Seitenbesuche festgestellt werden. Diese Informationen verwenden wir ausschließlich zur Verbesserung unserer Webseiten.

+ +

Google Analytics

+

Unsere Webseite nutzt die Dienste von Google Analytics. Dabei handelt es ich um einen Webanalysedienst der Google Inc. Die Analyse der Benutzung der Webseite durch Sie wird dadurch ermöglicht, dass sog. “Cookies” auf Ihrem Computer gespeichert werden und diese dann Informationen über Ihr Benutzungsverhalten generieren und an Google Inc. weiterleiten. In der Regel wird eine gekürzte Version Ihrer IP-Adresse an Google Server weitergeleitet. In Ausnahmefällen kann auch die komplette IP-Adresse weitergeleitet werden. Diese Informationen nutzt Google in unserem Auftrag zur Erstellung eines Reports über das Benutzerverhalten auf unseren Seiten. Die durch Google Analytics ermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Sollten Sie keine Speicherung von Cookies auf Ihrem Computer wünschen, so können Sie entsprechende Einstellungen in Ihrem Browser vornehmen. Leider kann dies eine eingeschränkte Nutzung unserer Seiten zur Folge haben.

+

Soweit nicht ohnehin eine Anonymisierung der IP-Adressen (IP-Masking) durch Einfügung des Codes “gat._anonymizeIp( );” erfolgt ist, werden die erhobenen Daten nach den geltenden gesetzlichen Bestimmungen des Bundesdatenschutzgesetzes und den Nutzungsbedingungen von Google behandelt, die eine Weitergabe von personenebezogenen Daten an Google nicht gestatten.

+ +

Bestandsdaten

+

Bei der Begründung, inhaltlichen Ausgestaltung oder Änderung eines Vertragsverhältnisses zwischen Ihnen und uns, erheben und verwenden wir, im Rahmen der Erforderlichkeit, personenbezogene Daten von Ihnen, sog. Bestandsdaten.

+

In der Regel erfolgt keine Weitergabe oder Auskunftserteilung an Dritte. Auf Anordnung der zuständigen Stellen sind wir gehalten, soweit es zu Zwecken der Strafverfolgung, der Gefahrenabwehr oder zur Erfüllung weiterer gesetzlicher Aufgaben erforderlich ist, Auskunft über personenbezogene Daten zu erteilen.

+ +

Nutzungsdaten

+

Soweit erforderlich, erheben und verwenden wir sog. Nutzungsdaten von Ihnen. Dabei handelt es sich um personenbezogene Daten, die die Inanspruchnahme unseres Internetangebots sowie die Abrechnung ermöglichen. Dabei werden Daten erfasst, die sowohl die zeitlichen Kriterien der Nutzung unseres Angebots durch Sie enthalten, als auch den Umfang der Nutzung und Ihre Identifikationsmerkmale.

+

Wir weisen Sie darauf hin, dass es uns zu Werbezwecken, zu Zwecken der Marktforschung sowie zur Gestaltung unseres Internetangebots gestattet ist, Nutzungsprofile d.h. zusammengestellte Daten über den Verlauf von Besuchen auf unseren Seiten zu generieren. Diese Nutzungsprofile geben keinen Aufschluss über Ihre Person und werden auch nicht mit etwaigen anderen, von uns erhobenen Daten, zusammengeführt, sodass auch eine Personenidentifikation durch das Zusammenführen verschiedener Daten nicht erfolgen kann. Sie haben jederzeit das Recht, einer solchen Verwendung Ihrer Daten zu widersprechen.

+ +

Auskunftsrecht

+

Wir weisen Sie darauf hin, dass Sie das Recht haben, eine Auskunft von uns über die von Ihnen gespeicherten Daten zu verlangen und im Fall der Unrichtigkeit der Daten eine Sperrung, Löschung oder Berichtigung zu veranlassen. Die Auskunftserteilung ist sowohl telefonisch als auch elektronisch möglich.

+ +

Änderungen der Datenschutzerklärung

+

Sollten zukünftig Änderungen unserer Datenschutzerklärung vorgenommen werden, so werden die Änderungen stets auf diesen Seiten zu finden sein.

+ +
+ +
+

April 2015

+
+
+ + + +
Disclaimer Impressum/Legalswebdesign: Der Keim
+ + + + diff --git a/_site/terms.html b/_site/terms.html new file mode 100644 index 00000000000..cf8a80a0de3 --- /dev/null +++ b/_site/terms.html @@ -0,0 +1,185 @@ + + + + + + + + + JS.ORG | Terms of Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

Providing nice and free domains for GitHub Pages since 2015

+
+ +
+

Terms and Conditions of the service "JS.ORG | DNS"

+
+

§ 1 Principles

+
    +
  1. JS.ORG | DNS is a free service provided by the owner of JS.ORG as stated in the legals. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. +
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page
  4. +
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. +
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments
  8. +
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
+
+ +
+

§ 2 Availability and reservations

+

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

+

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

+
+ +
+

§ 3 Termination

+
    +
  1. Both sides can terminate at any time without stating any reasons.
  2. +
  3. The user cancels the service by removing the CNAME file in their repository and filing a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains
  4. +
  5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
  6. +
+
+ +
+

§ 4 Rights and Duties of the user

+

A transfer of a GitHub Page together with its JS.ORG subdoamin is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

+

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

+

In particular providing content like the following is prohibited:

+
    +
  • Piracy (warez , videos , MP3s , DVDs , software, etc.)
  • +
  • Phishing, scam , malware , viruses
  • +
  • Copyright offense
  • +
  • Dubious business models ( eg, pyramid schemes, chain letters , etc. )
  • +
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • +
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to local, national or international laws
  • +
  • Pornography or content intended for adults only
  • +
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums , blogs , guest books)
  • +
  • File-/Imagehoster
  • +
  • Sites with other illegal content
  • +
+

A violation of these rules will result in immediate deletion of the JS.ORG domain.

+

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

+
+ +
+

§ 5 Limitation of Liability

+
    +
  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored databases and data. JS.ORG indicates that JS.ORG is a free service and does not create data backups of the users.
  • +
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • +
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of the systems of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • +
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • +
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • +
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • +
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
  • +
+
+ +
+

§ 6 Name of the subdomain

+

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public availabe list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

+
+ +
+

§ 7 Absolute ban of spam

+

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are a match for spam and is also inadmissible.

+
+ +
+

§ 8 Manipulation

+

It is prohibited to auto retrieve masses of JS.ORG subdomains.

+
+ +
+

§ 9 Responsibility

+

JS.ORG is not responsible for the names of subdomains for the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

+
+ +
+

§ 10 Place of jurisdiction

+

Service provisiion and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

+

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

+

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

+

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

+
+ +
+

§ 11 Change of Terms

+ +

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

+
+ +
+

§ 12 Severability clause

+

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

+
+ +
+

April 2015

+
+
+ + + + + + + diff --git a/browserconfig.xml b/browserconfig.xml new file mode 100644 index 00000000000..fe3c8df4268 --- /dev/null +++ b/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #FDB400 + + + \ No newline at end of file diff --git a/css/_variables.scss b/css/_variables.scss new file mode 100644 index 00000000000..cc6d84e8f80 --- /dev/null +++ b/css/_variables.scss @@ -0,0 +1,6 @@ +$cBg: #ffb400; +$cTxt: #333; +$cKey: #fff; +$cFb: #3c5a98; +$cTw: #54a3db; +$cGp: #de4b3b; \ No newline at end of file diff --git a/css/dns.css b/css/dns.css new file mode 100644 index 00000000000..e786742b16a --- /dev/null +++ b/css/dns.css @@ -0,0 +1,165 @@ +html.no-js, html.ie8, html.bg { + background: url("http://js.org/img/bg.png") #ffb400 repeat-y fixed; +} + +::selection { + color: #ffb400; + background: #333333; +} + +.btf { + opacity: 1; +} + +a:hover { + color: rgba(51, 51, 51, 0.25); +} + +.hf .logo a:hover { + color: rgba(51, 51, 51, 0.25); +} +.hf a { + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; +} +.hf .fb:hover, .hf .tw:hover, .hf .gp:hover, .hf .gh:hover { + background: white; +} +.hf .fb:hover { + color: #3c5a98; +} +.hf .tw:hover { + color: #54a3db; +} +.hf .gp:hover { + color: #de4b3b; +} +.hf .gh:hover { + background: rgba(51, 51, 51, 0.25); +} + +#zodiac { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + +#err404 { + text-align: center; +} +#err404 span { + font-size: 5.5em; + line-height: 1em; + font-weight: 700; +} + +#typewriter { + font-size: 3em; + margin: 0; +} +#typewriter #hermes { + -moz-transition: all .2s .1s; + -o-transition: all .2s .1s; + -webkit-transition: all .2s .1s; + transition: all .2s .1s; +} +#typewriter #hermes.active { + padding-right: .1em; + border-right: 0.06em solid #333333; +} + +section { + position: relative; + padding: 1em 0; +} +section a { + font-weight: 700; +} +section input { + position: absolute; + opacity: 0; + top: 0; + left: -999px; +} +section input:checked + article { + display: inline-block; +} +section input#s1I:checked ~ nav #s1L, section input#s2I:checked ~ nav #s2L, section input#s3I:checked ~ nav #s3L, section input#s4I:checked ~ nav #s4L { + background-color: white; +} +section nav { + display: inline-table; + border-collapse: collapse; + margin: 0; +} +section nav label { + cursor: pointer; + display: table-cell; + border: 2px solid white; + border-top: none; + left: 0; + font-weight: 700; + font-size: 1em; + height: 2em; + width: 2em; + line-height: 2em; + text-align: center; + margin: 0; + padding: 0; + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; +} +section nav label:hover { + background-color: fade(white, 50%); +} +section article { + display: none; + background-color: white; + margin: 0; + padding: 1.2em; +} +section article h3 { + float: left; + color: #ffb400; + border-right: 2px solid #ffb400; + font-size: 6em; + width: 1em; + padding-top: .2em; + text-align: center; + line-height: .75em; + font-weight: 700; + margin: -.2em .3em .1em -.2em; +} + +h4 { + margin-bottom: .5em; +} + +@media screen and (max-width: 640px) { + section article h3 { + font-size: 2em; + padding-top: .4em; + margin: -.6em .6em 0 0; + } + + #typewriter { + font-size: 2em; + } +} +@media screen and (max-width: 480px) { + #typewriter { + font-size: 1.5em; + font-weight: 700; + } + + code, h4 { + display: none; + } +} diff --git a/css/dns.min.css b/css/dns.min.css new file mode 100644 index 00000000000..086f53604d1 --- /dev/null +++ b/css/dns.min.css @@ -0,0 +1 @@ +html.no-js,html.ie8,html.bg{background:url("http://js.org/img/bg.png") #ffb400 repeat-y fixed}::selection{color:#ffb400;background:#333}.btf{opacity:1}a:hover{color:rgba(51,51,51,.25)}.hf .logo a:hover{color:rgba(51,51,51,.25)}.hf a{-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s}.hf .fb:hover,.hf .tw:hover,.hf .gp:hover,.hf .gh:hover{background:#fff}.hf .fb:hover{color:#3c5a98}.hf .tw:hover{color:#54a3db}.hf .gp:hover{color:#de4b3b}.hf .gh:hover{background:rgba(51,51,51,.25)}#zodiac{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}#err404{text-align:center}#err404 span{font-size:5.5em;line-height:1em;font-weight:700}#typewriter{font-size:3em;margin:0}#typewriter #hermes{-moz-transition:all .2s .1s;-o-transition:all .2s .1s;-webkit-transition:all .2s .1s;transition:all .2s .1s}#typewriter #hermes.active{padding-right:.1em;border-right:.06em solid #333}section{position:relative;padding:1em 0}section input{position:absolute;opacity:0;top:0;left:-999px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background-color:#fff}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{cursor:pointer;display:table-cell;border:2px solid #fff;border-top:none;left:0;font-weight:700;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s}section nav label:hover{background-color:fade(#fff,50%)}section article{display:none;background-color:#fff;margin:0;padding:1.2em}section article h3{float:left;color:#ffb400;border-right:2px solid #ffb400;font-size:6em;width:1em;padding-top:.2em;text-align:center;line-height:.75em;font-weight:700;margin:-.2em .3em .1em -.2em}h4{margin-bottom:.5em}@media screen and (max-width:640px){section article h3{font-size:2em;padding-top:.4em;margin:-.6em .6em 0 0}#typewriter{font-size:2em}}@media screen and (max-width:480px){#typewriter{font-size:1.5em;font-weight:700}code,h4{display:none}} \ No newline at end of file diff --git a/css/dns.scss b/css/dns.scss new file mode 100644 index 00000000000..28fff34ffd9 --- /dev/null +++ b/css/dns.scss @@ -0,0 +1,200 @@ +@import "variables"; + +html.no-js, html.ie8, html.bg { + background: url("http://js.org/img/bg.png") $cBg repeat-y fixed; +} + +::selection { + color: $cBg; + background: $cTxt; +} + +.btf { + opacity: 1; +} + +a:hover { + color: rgba($cTxt, .25); +} + +.hf { + + .logo { + a:hover { + color: rgba($cTxt, .25); + } + } + + a { + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; + } + + .fb, .tw, .gp, .gh { + + &:hover { + background: $cKey; + } + } + + .fb:hover { + color: $cFb; + } + + .tw:hover { + color: $cTw; + } + + .gp:hover { + color: $cGp; + } + + .gh:hover { + background: rgba($cTxt, .25); + } +} + +#zodiac { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + + +#err404 { + text-align: center; + + span { + font-size: 5.5em; + line-height: 1em; + font-weight: 700; + } +} + + +#typewriter { + font-size: 3em; + margin: 0; + + #hermes { + -moz-transition: all .2s .1s; + -o-transition: all .2s .1s; + -webkit-transition: all .2s .1s; + transition: all .2s .1s; + + &.active { + padding-right: .1em; + border-right: .06em solid $cTxt; + } + } +} + +section { + position: relative; + padding: 1em 0; + + a { + font-weight:700; + } + + input { + position: absolute; + opacity: 0; + top: 0; + left: -999px; + + &:checked + article { + display: inline-block; + } + + &#s1I:checked ~ nav #s1L, + &#s2I:checked ~ nav #s2L, + &#s3I:checked ~ nav #s3L, + &#s4I:checked ~ nav #s4L { + background-color: $cKey; + } + } + + nav { + display: inline-table; + border-collapse: collapse; + margin: 0; + + label { + cursor: pointer; + display: table-cell; + border: 2px solid $cKey; + border-top: none; + left: 0; + font-weight: 700; + font-size: 1em; + height: 2em; + width: 2em; + line-height: 2em; + text-align: center; + margin: 0; + padding: 0; + -moz-transition: all .3s; + -o-transition: all .3s; + -webkit-transition: all .3s; + transition: all .3s; + + &:hover { + background-color: fade($cKey, 50%); + } + } + } + + article { + display: none; + background-color: $cKey; + margin: 0; + padding: 1.2em; + + + h3 { + float: left; + color: $cBg; + border-right: 2px solid $cBg; + font-size: 6em; + width: 1em; + padding-top: .2em; + text-align: center; + line-height: .75em; + font-weight: 700; + margin: -.2em .3em .1em -.2em; + } + } +} + +h4 { + margin-bottom: .5em; +} + +@media screen and (max-width: 640px) { + section article h3 { + font-size: 2em; + padding-top: .4em; + margin: -.6em .6em 0 0; + } + + #typewriter { + font-size: 2em; + } +} + +@media screen and (max-width: 480px) { + #typewriter { + font-size: 1.5em; + font-weight: 700; + } + + code, h4 { + display: none; + } +} diff --git a/disclaimer.html b/disclaimer.html new file mode 100644 index 00000000000..ed5b73c9ff8 --- /dev/null +++ b/disclaimer.html @@ -0,0 +1,39 @@ +--- +layout: default +bg: true +ghstars: js.org +--- +
+

Disclaimer/Privacy Statement

+
+

General

+

Your personal data (e.g. title, name, house address, e-mail address, phone number, bank details, credit card number) are processed by us only in accordance with the provisions of German data privacy laws. The following provisions describe the type, scope and purpose of collecting, processing and utilizing personal data. This data privacy policy applies only to our web pages. If links on our pages route you to other pages, please inquire there about how your data are handled in such cases.

+
+
+

Inventory data

+
    +
  • Your personal data, insofar as these are necessary for this contractual relationship (inventory data) in terms of its establishment, organization of content and modifications, are used exclusively for fulfilling the contract. For goods to be delivered, for instance, your name and address must be relayed to the supplier of the goods.
  • +
  • Without your explicit consent or a legal basis, your personal data are not passed on to third parties outside the scope of fulfilling this contract. After completion of the contract, your data are blocked against further use. After expiry of deadlines as per tax-related and commercial regulations, these data are deleted unless you have expressly consented to their further use.
  • +
+
+
+

Information about cookies

+
    +
  • To optimize our web presence, we use cookies. These are small text files stored in your computer’s main memory. These cookies are deleted after you close the browser. Other cookies remain on your computer (long-term cookies) and permit its recognition on your next visit. This allows us to improve your access to our site.
  • +
  • You can prevent storage of cookies by choosing a "disable cookies" option in your browser settings. But this can limit the functionality of our Internet offers as a result.
  • +
+
+
+

Web analysis with Google Analytics

+

This website uses Google Analytics, a web analysis service of Google Inc. (Google). Google Analytics uses cookies, i.e. text files stored on your computer to enable analysis of website usage by you. Information generated by the cookie about your use of this website is usually transmitted to a Google server in the United States and stored there. In case of activated IP anonymization on this website, however, your IP address is previously truncated by Google within member states of the European Union or in other states which are party to the agreement on the European Economic Area. Only in exceptional cases is a full IP address transmitted to a Google server in the United States and truncated there. On behalf this website’s owner, Google will use this information to evaluate your use of the website, compile reports about website activities, and provide the website’s operator with further services related to website and Internet usage. The IP address sent from your browser as part of Google Analytics is not merged with other data by Google. You can prevent storage of cookies by appropriately setting your browser software; in this case, however, please note that you might not be able to fully use all functions offered by this website. In addition, you can prevent data generated by the cookie and relating to your use of the website (including your IP address) from being collected and processed by Google, by downloading and installing a browser plug-in from the following link: http://tools.google.com/dlpage/gaoptout?hl=en

+

This website uses Google Analytics with the extension "anonymizeIP()", IP addresses being truncated before further processing in order to rule out direct associations to persons.

+
+
+

Disclosure

+

According to the Federal Data Protection Act, you have a right to free-of-charge information about your stored data, and possibly entitlement to correction, blocking or deletion of such data. Inquiries can be directed to the following e-mail addresses: ( admin@js.org )

+
+
Quelle: twigg.de
+
+

April 2015

+
+
\ No newline at end of file diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b46e45c9e44bfddfec1c480ace613ce41c921d97 GIT binary patch literal 26294 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 00000000000..3861c481c1c --- /dev/null +++ b/index.html @@ -0,0 +1,43 @@ +--- +layout: default +claim: Providing nice and free domains for GitHub Pages since 2015 +ghstars: dns.js.org +zodiac: true +hermes: true +--- +

http://foo.js.org

+

You are a JavaScript developer looking for free webspace to host your project? Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL as shown in the examples above.

+

Important: As the owner of the repository you keep complete control over your published content. That also means, all rights and duties that come along with publishing a GitHub Page remain the subject of you.
Have a look at our Terms of Service for more details.

+

Just follow these four steps to get your own free JS.ORG subdomain for your GitHub Page. We don't mind whether it's a User-, Organisation- or Project-Page (...as long as you provide some reasonable content!)

+ +
+ +
+

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page following the instructions here. To get a head start you can simply use the generator with one of the provided themes and add some content to your new page. +
+ +
+

2

Now determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki. +
+ +
+

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face problems, check out the section Custom URLs at GitHub Pages Help. +
+ +
+

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of exisiting JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict). +
+ +
+ +

We truly appreciate your support by spreading some code!

+ + <a href="http://js.org" target="_blank" title="JS.ORG | JavaScript Community">
+ <img src="http://logo.js.org/dark_horz.png" width="102" alt="JS.ORG Logo"/></a>
+ <!-- alternatives [bright|dark]_[horz|vert|tiny].png (width[horz:102,vert:50,tiny:77]) --> +
diff --git a/js/hermes.js b/js/hermes.js new file mode 100644 index 00000000000..16b01402e03 --- /dev/null +++ b/js/hermes.js @@ -0,0 +1,49 @@ +'use static'; +(function () { + function Hermes(el, dict, options) { + if (options === void 0) { options = {}; } + this.options = { + write_speed: 1000 / 4, + write_acceleration: 1, + write_random: .2, + write_pause: 3000, + clear_speed: 1000 / 16, + clear_acceleration: 1, + clear_random: .2, + clear_pause: 500 + }; + var el = (typeof el == 'string' || el instanceof String) ? document.getElementById(el) : el; + + if (!('innerHTML' in el)) + throw 'no element'; + for (var key in options) { + this.options[key] = options[key]; + } + options = this.options; + dict = [].concat(dict); + var word = el.innerHTML, l = word.length, i = -1; + var clear = function () { + if (l-- > 0) { + el.className = 'active'; + el.innerHTML = word.slice(0, l); + setTimeout(clear, options.clear_speed + options.clear_speed * l / word.length * options.clear_acceleration + options.clear_speed * options.clear_random * Math.random()); + } + else { + word = '' + dict[(i = (i + 1) % dict.length)]; + setTimeout(write, options.clear_pause); + } + }; + var write = function () { + if (l++ < word.length) { + el.innerHTML = word.slice(0, l); + setTimeout(write, options.write_speed + options.write_speed * -l / word.length * options.write_acceleration + options.write_speed * options.write_random * Math.random()); + } + else { + el.className = ''; + setTimeout(clear, options.write_pause); + } + }; + write(); + } + new Hermes('hermes', ["mydomain", "free", "community", "learn", "munich"]); +})(); \ No newline at end of file diff --git a/js/hermes.min.js b/js/hermes.min.js new file mode 100644 index 00000000000..d0faf3d82f4 --- /dev/null +++ b/js/hermes.min.js @@ -0,0 +1 @@ +"use static";!function(){function e(e,t,n){void 0===n&&(n={}),this.options={write_speed:250,write_acceleration:1,write_random:.2,write_pause:3e3,clear_speed:62.5,clear_acceleration:1,clear_random:.2,clear_pause:500};var e="string"==typeof e||e instanceof String?document.getElementById(e):e;if(!("innerHTML"in e))throw"no element";for(var i in n)this.options[i]=n[i];n=this.options,t=[].concat(t);var r=e.innerHTML,a=r.length,c=-1,o=function(){a-->0?(e.className="active",e.innerHTML=r.slice(0,a),setTimeout(o,n.clear_speed+n.clear_speed*a/r.length*n.clear_acceleration+n.clear_speed*n.clear_random*Math.random())):(r=""+t[c=(c+1)%t.length],setTimeout(s,n.clear_pause))},s=function(){a++n||n>d)&&(t.bounceX?i.vx=-i.vx:i.x=(n+d)%d-i.dx),(0>e||e>l)&&(t.bounceY?i.vy=-i.vy:i.y=(e+l)%l-i.dy),c.moveTo(n+i.r,e),c.arc(n,e,i.r,0,2*Math.PI);for(var h=o-1;h>=0;h--){var w=r[h],v=w.x-i.x,y=w.y-i.y,u=Math.sqrt(v*v+y*y);if(u=0;h--)(r[h].x>d||r[h].y>l)&&r.splice(h,1);for(mr.length;){var w=s();r.push({z:(w-t.pivot)/4,r:n[1]?w*(n[1]-n[0])+n[0]:n[0],x:Math.ceil(s()*d),y:Math.ceil(s()*l),vx:(t.directionX||(s()>.5?1:-1))*(s()*(e[1]-e[0])+e[0]),vy:(t.directionY||(s()>.5?1:-1))*(s()*(a[1]-a[0])+a[0]),dx:0,dy:0})}c.strokeStyle=t.linkColor,c.lineWidth=t.linkWidth,c.fillStyle=t.dotColor};window.addEventListener("resize",h,!1),document.addEventListener("mousemove",n,!1),window.addEventListener("deviceorientation",e,!1),h(),m()}}new i("zodiac")}(),function(){for(var i=0,t=["ms","moz","webkit","o"],n=0;n +

Impressum/Legals

+ + This website is subject to german law and therefore requires german legal information, the so called "Impressum". If you are not german-speaking you can take the contact informations from here and head over to the disclaimer. + +
+

Angaben gemäß § 5 TMG:
[Owner of the website]

+

+ Stefan Keim
+ Seefelder Weg 9
+ 82205 Gilching +

+
+ +
+

Kontakt:
[Contact]

+

+ Telefon: +49-1764-2080100
+ E-Mail: admin@js.org +

+
+ +
+

Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:
[Responsible for the content]

+

+ Stefan Keim
+ Seefelder Weg 9
+ 82205 Gilching +

+
+ +
+

Haftungsausschluss:
[link: disclaimer]

+ +

Haftung für Inhalte

+

Die Erstellung der Inhalte dieser Webseite erfolgte mit größtmöglicher Sorgfalt. Allerdings können wir keine Gewähr für die Vollständigkeit der bereitgestellten Inhalte, ihre Aktualität sowie Richtigkeit übernehmen. Gem. §§ 8 – 10 TMG trifft uns als Dienstanbieter keine Pflicht, fremde Informationen, die übermittelt oder gespeichert wurden, zu überwachen oder nach Anhaltspunkten und Umständen zu forschen, die die Rechtswidrigkeit von Tätigkeiten und Informationen indizieren.

+

Eine Verpflichtung unsererseits zur Nutzungssperrung von Inhalten im Rahmen der allgemeinen Gesetze bleibt hiervon stets unberührt. Diese Haftung kommt jedoch erst im Moment der Kenntnisnahme einer konkreten Verletzung von Rechten in Frage. Sollten uns Rechtsverletzungen bekannt werden, so sind die entsprechenden Inhalte von uns unverzüglich zu entfernen.

+

Unsere Haftung für eigene Inhalte richtet sich, als Dienstanbieter, nach den allgemeinen Gesetzen.

+ +

Haftung für Links

+

Diese Webseite beinhaltet Verlinkungen zu Webseiten Dritter – sog. externe Links. Die Inhalte dieser externen Links entziehen sich unserer Einflussnahme, sodass eine Gewähr für solche Inhalte unsererseits nicht übernommen wird.

+

Die Verantwortung liegt stets beim jeweiligen Betreiber der externen Seiten. Zum Zeitpunkt der Verknüpfung der externen Links waren keine Rechtsverstöße ersichtlich. Die permanente Überwachung fremder Inhalte auf Rechtsverstöße ohne konkrete Hinweise ist uns nicht zumutbar.

+

Sollten wir Kenntnis von Rechtsverletzungen erlangen, werden wir die entsprechenden externen Links unverzüglich entfernen.

+ +

Urheberrecht/Leistungsschutzrecht

+

Auf die vom Anbieter auf dieser Seite veröffentlichten Inhalte findet das deutsche Urheber und Leistungsschutzrecht Anwendung. Sofern die Vervielfältigung, Bearbeitung, Verbreitung oder jegliche andere Art der Verwertung außerhalb des deutschen Urheber- und Leistungsschutzrechts liegt, bedarf es einer schriftlichen Zustimmung des jeweiligen Erstellers. Unerlaubtes Kopieren oder Downloaden dieser Seiten ist ausschließlich für den privaten Bereich, nicht jedoch für den kommerziellen, erlaubt. Sofern nicht wir als Betreiber auch als Ersteller der Inhalte fungieren, werden die Urheberrechte von Dritten beachtet. Wir sind stets bemüht solche Inhalte als Inhalte Dritter zu kennzeichnen. Wir bitten Sie für den Fall, dass Ihnen trotz sorgfältiger Arbeit unsererseits, eine Urheberrechtsverletzung auffällt, uns entsprechend darauf hinzuweisen, sodass die Entfernung dieser Inhalte umgehend veranlasst werden kann.

+ +

Datenschutz

+

Die Nutzung dieser Webseite ist regelmäßig ohne Angabe personenbezogener Daten möglich. Sollten solche personenbezogenen Daten auf dieser Webseite dennoch erhoben werden, so erfolgt dies in Form einer freiwilligen Datenangabe durch den Nutzer. Eine Weitergabe der personenbezogenen Daten an Dritte erfolgt nicht, sofern keine ausdrückliche Zustimmung des Nutzers abgegeben wurde.

+

Sofern auf unseren Webseiten personenbezogene Daten erhoben werden, vollzieht sich die Erhebung dieser Daten stets im Rahmen der Bestimmung des Datenschutzrechtes der Bundesrepublik Deutschland. Sofern personenbezogene Daten erhoben werden, können Sie dieser Datenschutzerklärung die Art, den Umfang und den Zweck der Erhebung und Verwendung personenbezogener Daten entnehmen.

+

Bitte beachten Sie, dass trotz größter Sorgfalt die Datenübertragung im Internet stets mit Risiken, die auf Sicherheitslücken basieren, verbunden ist. Der uneingeschränkte Schutz von Daten ist daher unmöglich.

+ +

Datenübermittlung

+

Bei einem Zugriff Ihrerseits auf unsere Webseiten erfolgt eine automatische Datenübermittlung von Ihrem Browser an unseren Webserver. Gegenstand dieser Übermittlung sind anonymisierte Zugriffsdaten ohne Personenbezug, wie etwa Datum und Uhrzeit, Browsertyp, Menge und Art der abgerufenen Daten sowie Ihre IP-Adresse. Die Speicherung dieser Daten geschieht getrennt von etwaigen anderen, im Rahmen der Nutzung unserer Webseiten durch Sie, erhobenen Daten. Diese Daten können nicht dazu verwendet werden eine konkrete Person zu bestimmen. Die Erhebung dieser Daten findet lediglich zur Protokollierung des Benutzerverhaltens und zu statistischen Zwecken statt. Nach einer entsprechenden Auswertung wird eine Löschung der Daten veranlasst.

+ +

Cookies

+

Zu Zwecken der Qualitätssicherung und Erweiterung des Funktionsumfangs unseres Internetangebots verwenden wir auf unseren Webseiten sog. Cookies. Dabei handelt es sich um Textdateien, die auf dem Rechner des Nutzers gespeichert werden. Durch Cookies kann die Anzahl der Seitenbesuche festgestellt werden. Diese Informationen verwenden wir ausschließlich zur Verbesserung unserer Webseiten.

+ +

Google Analytics

+

Unsere Webseite nutzt die Dienste von Google Analytics. Dabei handelt es ich um einen Webanalysedienst der Google Inc. Die Analyse der Benutzung der Webseite durch Sie wird dadurch ermöglicht, dass sog. “Cookies” auf Ihrem Computer gespeichert werden und diese dann Informationen über Ihr Benutzungsverhalten generieren und an Google Inc. weiterleiten. In der Regel wird eine gekürzte Version Ihrer IP-Adresse an Google Server weitergeleitet. In Ausnahmefällen kann auch die komplette IP-Adresse weitergeleitet werden. Diese Informationen nutzt Google in unserem Auftrag zur Erstellung eines Reports über das Benutzerverhalten auf unseren Seiten. Die durch Google Analytics ermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Sollten Sie keine Speicherung von Cookies auf Ihrem Computer wünschen, so können Sie entsprechende Einstellungen in Ihrem Browser vornehmen. Leider kann dies eine eingeschränkte Nutzung unserer Seiten zur Folge haben.

+

Soweit nicht ohnehin eine Anonymisierung der IP-Adressen (IP-Masking) durch Einfügung des Codes “gat._anonymizeIp( );” erfolgt ist, werden die erhobenen Daten nach den geltenden gesetzlichen Bestimmungen des Bundesdatenschutzgesetzes und den Nutzungsbedingungen von Google behandelt, die eine Weitergabe von personenebezogenen Daten an Google nicht gestatten.

+ +

Bestandsdaten

+

Bei der Begründung, inhaltlichen Ausgestaltung oder Änderung eines Vertragsverhältnisses zwischen Ihnen und uns, erheben und verwenden wir, im Rahmen der Erforderlichkeit, personenbezogene Daten von Ihnen, sog. Bestandsdaten.

+

In der Regel erfolgt keine Weitergabe oder Auskunftserteilung an Dritte. Auf Anordnung der zuständigen Stellen sind wir gehalten, soweit es zu Zwecken der Strafverfolgung, der Gefahrenabwehr oder zur Erfüllung weiterer gesetzlicher Aufgaben erforderlich ist, Auskunft über personenbezogene Daten zu erteilen.

+ +

Nutzungsdaten

+

Soweit erforderlich, erheben und verwenden wir sog. Nutzungsdaten von Ihnen. Dabei handelt es sich um personenbezogene Daten, die die Inanspruchnahme unseres Internetangebots sowie die Abrechnung ermöglichen. Dabei werden Daten erfasst, die sowohl die zeitlichen Kriterien der Nutzung unseres Angebots durch Sie enthalten, als auch den Umfang der Nutzung und Ihre Identifikationsmerkmale.

+

Wir weisen Sie darauf hin, dass es uns zu Werbezwecken, zu Zwecken der Marktforschung sowie zur Gestaltung unseres Internetangebots gestattet ist, Nutzungsprofile d.h. zusammengestellte Daten über den Verlauf von Besuchen auf unseren Seiten zu generieren. Diese Nutzungsprofile geben keinen Aufschluss über Ihre Person und werden auch nicht mit etwaigen anderen, von uns erhobenen Daten, zusammengeführt, sodass auch eine Personenidentifikation durch das Zusammenführen verschiedener Daten nicht erfolgen kann. Sie haben jederzeit das Recht, einer solchen Verwendung Ihrer Daten zu widersprechen.

+ +

Auskunftsrecht

+

Wir weisen Sie darauf hin, dass Sie das Recht haben, eine Auskunft von uns über die von Ihnen gespeicherten Daten zu verlangen und im Fall der Unrichtigkeit der Daten eine Sperrung, Löschung oder Berichtigung zu veranlassen. Die Auskunftserteilung ist sowohl telefonisch als auch elektronisch möglich.

+ +

Änderungen der Datenschutzerklärung

+

Sollten zukünftig Änderungen unserer Datenschutzerklärung vorgenommen werden, so werden die Änderungen stets auf diesen Seiten zu finden sein.

+ +
+ +
+

April 2015

+
+ \ No newline at end of file diff --git a/terms.html b/terms.html new file mode 100644 index 00000000000..cf8a80a0de3 --- /dev/null +++ b/terms.html @@ -0,0 +1,185 @@ + + + + + + + + + JS.ORG | Terms of Service + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

Providing nice and free domains for GitHub Pages since 2015

+
+ +
+

Terms and Conditions of the service "JS.ORG | DNS"

+
+

§ 1 Principles

+
    +
  1. JS.ORG | DNS is a free service provided by the owner of JS.ORG as stated in the legals. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. +
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page
  4. +
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. +
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments
  8. +
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
+
+ +
+

§ 2 Availability and reservations

+

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

+

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

+
+ +
+

§ 3 Termination

+
    +
  1. Both sides can terminate at any time without stating any reasons.
  2. +
  3. The user cancels the service by removing the CNAME file in their repository and filing a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains
  4. +
  5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
  6. +
+
+ +
+

§ 4 Rights and Duties of the user

+

A transfer of a GitHub Page together with its JS.ORG subdoamin is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

+

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

+

In particular providing content like the following is prohibited:

+
    +
  • Piracy (warez , videos , MP3s , DVDs , software, etc.)
  • +
  • Phishing, scam , malware , viruses
  • +
  • Copyright offense
  • +
  • Dubious business models ( eg, pyramid schemes, chain letters , etc. )
  • +
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • +
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to local, national or international laws
  • +
  • Pornography or content intended for adults only
  • +
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums , blogs , guest books)
  • +
  • File-/Imagehoster
  • +
  • Sites with other illegal content
  • +
+

A violation of these rules will result in immediate deletion of the JS.ORG domain.

+

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

+
+ +
+

§ 5 Limitation of Liability

+
    +
  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored databases and data. JS.ORG indicates that JS.ORG is a free service and does not create data backups of the users.
  • +
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • +
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of the systems of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • +
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • +
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • +
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • +
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
  • +
+
+ +
+

§ 6 Name of the subdomain

+

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public availabe list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

+
+ +
+

§ 7 Absolute ban of spam

+

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are a match for spam and is also inadmissible.

+
+ +
+

§ 8 Manipulation

+

It is prohibited to auto retrieve masses of JS.ORG subdomains.

+
+ +
+

§ 9 Responsibility

+

JS.ORG is not responsible for the names of subdomains for the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

+
+ +
+

§ 10 Place of jurisdiction

+

Service provisiion and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

+

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

+

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

+

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

+
+ +
+

§ 11 Change of Terms

+ +

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

+
+ +
+

§ 12 Severability clause

+

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

+
+ +
+

April 2015

+
+
+ + + + + + + From a5270ddfa946c7440c65be1cf98cdf946655c60d Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:14:03 +0200 Subject: [PATCH 007/145] ad --- index.html | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 3861c481c1c..b4d5dbae092 100644 --- a/index.html +++ b/index.html @@ -7,7 +7,15 @@ ---

http://foo.js.org

You are a JavaScript developer looking for free webspace to host your project? Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL as shown in the examples above.

-

Important: As the owner of the repository you keep complete control over your published content. That also means, all rights and duties that come along with publishing a GitHub Page remain the subject of you.
Have a look at our Terms of Service for more details.

+ + + + +

Important: As the owner of the repository you keep complete control over your published content. That also means, all rights and duties that come along with publishing a GitHub Page remain the subject of you.
Have a look at our Terms of Service for more details.

Just follow these four steps to get your own free JS.ORG subdomain for your GitHub Page. We don't mind whether it's a User-, Organisation- or Project-Page (...as long as you provide some reasonable content!)

From a74621993de424c5faa4413f625845df0735c4df Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:16:16 +0200 Subject: [PATCH 008/145] Update default.html --- _layouts/default.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_layouts/default.html b/_layouts/default.html index 78210cca99b..7792bbe7588 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -10,6 +10,7 @@ JS.ORG + {% include icon.html %} {% include ie8.html %} From aa0b6b642251828b32fd39ded0ab4561ec3128c4 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:33:34 +0200 Subject: [PATCH 009/145] Delete CNAME --- CNAME | 1 - 1 file changed, 1 deletion(-) delete mode 100644 CNAME diff --git a/CNAME b/CNAME deleted file mode 100644 index 4dc74d47157..00000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -dns.js.org From d493aa98cc67e9f9d06a91c80a8a4b335b010ac4 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 19 Sep 2017 20:34:22 +0200 Subject: [PATCH 010/145] Create CNAME --- CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..09f3ccbb0fe --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +dns.js.org From 40358bc1fd9a98555d64856f66ffa047cd912b12 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 20 Sep 2017 08:33:07 +0200 Subject: [PATCH 011/145] Update style.html --- _includes/style.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/_includes/style.html b/_includes/style.html index 139004f5f12..0183e9e3c30 100644 --- a/_includes/style.html +++ b/_includes/style.html @@ -1,8 +1,8 @@ \ No newline at end of file + From 57e615cbd640ae2b426b14d66574c7dad945cd67 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 20 Sep 2017 08:33:53 +0200 Subject: [PATCH 012/145] Update style.html --- _includes/style.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/style.html b/_includes/style.html index 0183e9e3c30..b98937ca066 100644 --- a/_includes/style.html +++ b/_includes/style.html @@ -3,6 +3,6 @@ @font-face{font-family:'SrcSans';font-style:normal;font-weight:700;src:local('Source Sans Pro Bold'),local('SourceSansPro-Bold'),url(https://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGEo0As1BFRXtCDhS66znb_k.woff2)format('woff2'),url(http://fonts.gstatic.com/s/sourcesanspro/v9/toadOcfmlt9b38dHJxOBGFkQc6VGVFSmCnC_l7QZG60.woff)format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000;} @font-face{font-family:'SrcCode';font-style:normal;font-weight:400;src:local('Source Code Pro'),local('SourceCodePro-Regular'),url(https://fonts.gstatic.com/s/sourcecodepro/v6/mrl8jkM18OlOQN8JLgasD9V_2ngZ8dMf8fLgjYEouxg.woff2)format('woff2'),url(http://fonts.gstatic.com/s/sourcecodepro/v6/mrl8jkM18OlOQN8JLgasDxM0YzuT7MdOe03otPbuUS0.woff)format('woff');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000;} @font-face{font-family:'SrcSerif';font-style:normal;font-weight:400;src:local('Source Serif Pro'),local('SourceSerifPro-Regular'),url(https://fonts.gstatic.com/s/sourceserifpro/v4/CeUM4np2c42DV49nanp55fETq2ZMMnErnN6OL83eMrU.woff2)format('woff2'),url(http://fonts.gstatic.com/s/sourceserifpro/v4/CeUM4np2c42DV49nanp55S0XUiYNEUS_1eNN5dXyLEY.woff)format('woff');unicode-range:U+0000-00FF,U+0131 U+0152-0153,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2212,U+2215,U+E0FF,U+EFFD,U+F000;} - @font-face{font-family:'JSORG';font-style:normal;font-weight:800;src:url('http://js.org/font/jsorg.eot');src:url('data:font/x-woff;base64,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') /*/font/JSORG.woff*/ format('woff'),url('http://js.org/font/jsorg.eot?#iefix') format('embedded-opentype'),Url('http://js.org/font/jsorg.ttf') format('truetype'),Url('http://js.org/font/jsorg.svg?#jsorg') format('svg');unicode-range: U+E6??;} + @font-face{font-family:'JSORG';font-style:normal;font-weight:800;src:url('https://js.org/font/jsorg.eot');src:url('data:font/x-woff;base64,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') /*/font/JSORG.woff*/ format('woff'),url('http://js.org/font/jsorg.eot?#iefix') format('embedded-opentype'),Url('http://js.org/font/jsorg.ttf') format('truetype'),Url('http://js.org/font/jsorg.svg?#jsorg') format('svg');unicode-range: U+E6??;} html{background-color:#ffb400}body{padding:0 5%;margin:3em auto;max-width:800px;font-family:'SrcSans', Arial, Helvetica, sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;color:#333}.btf{opacity:0}::-webkit-scrollbar{width:.8em}::-webkit-scrollbar-track{background:rgba(255,255,255,0.2)}::-webkit-scrollbar-thumb{background:#fff}::-webkit-scrollbar-thumb:active{background:#333}p.bigger{font-size:1.5em}a{color:#333;outline:none;border:none;text-decoration:none}.icon{font-family:'JSORG';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.hf{margin:1em -4px;border-collapse:separate;border-spacing:4px;color:#fff}.hf a{color:#fff}.hf td{vertical-align:bottom;margin:0;padding:0}.hf td.hr{border-top:2px solid #fff}.hf .logo{width:100%;font-size:4em}.hf .logo span{padding-left:4px}.hf .logo.small{font-size:1.25em}.hf .logo.small span{display:inline-block;line-height:0;font-size:2em;padding-left:2px}.hf .fb,.hf .tw,.hf .gp,.hf .gh{display:block;width:2em;line-height:2em;text-align:center}.hf .fb{background:#3c5a98}.hf .tw{background:#54a3db}.hf .gp{background:#de4b3b}.hf .gh{min-width:60px;line-height:1.25em;width:auto;white-space:nowrap;background:#fff;color:#ffb400}.hf .gh span{display:none;padding-left:.4em;font-family:'SrcCode', 'Courier New', Courier, monospace;font-weight:700;vertical-align:top}.hf h1{font-family:'SrcSerif', Georgia, Times, serif;font-size:1em;font-weight:400;margin:0}.hf .at{font-size:.8em}.hf .at span{float:right} From 04b774d57e3025894b1405a4f09f449eb0e252b7 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 20 Sep 2017 08:38:30 +0200 Subject: [PATCH 013/145] Update style.html --- _includes/style.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_includes/style.html b/_includes/style.html index b98937ca066..4e0da35676f 100644 --- a/_includes/style.html +++ b/_includes/style.html @@ -1,8 +1,8 @@ From 86b2c0e710d9c87de552cfc52ebc89c5bca07cc4 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 20 Sep 2017 09:29:30 +0200 Subject: [PATCH 014/145] Update index.html --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index b4d5dbae092..a8ac5967a44 100644 --- a/index.html +++ b/index.html @@ -16,7 +16,7 @@

Important: As the owner of the repository you keep complete control over your published content. That also means, all rights and duties that come along with publishing a GitHub Page remain the subject of you.
Have a look at our Terms of Service for more details.

-

Just follow these four steps to get your own free JS.ORG subdomain for your GitHub Page. We don't mind whether it's a User-, Organisation- or Project-Page (...as long as you provide some reasonable content!)

+

Just follow these four steps to get your own free JS.ORG subdomain for your GitHub Page. We don't mind whether it's a User-, Organization- or Project-Page (...as long as you provide some reasonable content!)

@@ -33,7 +33,7 @@

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for pr
-

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of exisiting JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict). +

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict).
Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

\ No newline at end of file diff --git a/pages/302.html b/pages/302.html index db1fd06accc..f4174ad47c1 100644 --- a/pages/302.html +++ b/pages/302.html @@ -19,7 +19,6 @@
- Looks like your ad blocker did a great job.
Here would have been a paid - advertising that would have helped us to run this service. + Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
\ No newline at end of file diff --git a/pages/404.html b/pages/404.html index 5c1dca8cced..91731678d10 100644 --- a/pages/404.html +++ b/pages/404.html @@ -17,7 +17,6 @@
- Looks like your ad blocker did a great job.
Here would have been a paid - advertising that would have helped us to run this service. + Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
\ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index 29bd95416fe..c88a9da2a4b 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -72,7 +72,7 @@

4

To finish the procedure, make a pull request in our GitHub
- Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service. + Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. From ff6cf72a796f0a2b2f46b2e3f5e4b77ff6a55611 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Tue, 11 May 2021 20:21:03 +0200 Subject: [PATCH 079/145] input position fix --- .../scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content | 2 +- assets/index.scss | 3 +-- docs/index.html | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content index 7aefcc03098..b279fe4a647 100644 --- a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content @@ -1 +1 @@ -p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;top:0;left:-999px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}} +p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}} diff --git a/assets/index.scss b/assets/index.scss index 589a23b49dc..379c03db530 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -23,8 +23,7 @@ section { input { position: absolute; opacity: 0; - top: 0; - left: -999px; + left: -99px; &:checked + article { display: inline-block; } diff --git a/docs/index.html b/docs/index.html index 217d5f572fa..7b32e043500 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization

Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! From a4857d9d12a01c10efade0b6fb9d96fc807690d6 Mon Sep 17 00:00:00 2001 From: Daniel Fischer Date: Tue, 25 May 2021 20:27:05 +0200 Subject: [PATCH 080/145] add basic dark theme --- ...s_c25f88f67e8e33f20619c76cbf49f33c.content | 2 +- ...s_c25f88f67e8e33f20619c76cbf49f33c.content | 2 +- assets/index.scss | 48 ++++++++++++- assets/main.scss | 68 ++++++++++++++++++- docs/302.html | 2 +- docs/404.html | 2 +- docs/imprint.html | 2 +- docs/index.html | 2 +- docs/main.js.map | 4 +- docs/privacy.html | 2 +- docs/terms.html | 2 +- 11 files changed, 122 insertions(+), 14 deletions(-) diff --git a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content index b279fe4a647..250a83ebaf5 100644 --- a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content @@ -1 +1 @@ -p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}} +p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}}@media (prefers-color-scheme: dark){section{color:#000}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background:#FFE70B}section nav label{color:#FFE70B;border-color:#FFE70B}section nav label:hover{background:rgba(255,231,11,0.3);color:#FFE70B}section article{background:#FFE70B}em ::selection,section ::selection{color:#FFE70B;background:#000}em a,section a{text-shadow:1px 1px #FFE70B, 1px -1px #FFE70B, -1px 1px #FFE70B, -1px -1px #FFE70B}em a:hover,section a:hover{color:rgba(0,0,0,0.5)}} diff --git a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content index f46c9543a3e..f401360e34e 100644 --- a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ b/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content @@ -1 +1 @@ -@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:400;src:local("Source Sans Pro Regular"),local("SourceSansPro-Regular"),url("/fnt/source-sans-pro-v14-latin-regular.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-regular.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:600;src:local("Source Sans Pro Bold"),local("SourceSansPro-Bold"),url("/fnt/source-sans-pro-v14-latin-600.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-600.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}html{scrollbar-color:rgba(0,0,0,0.5) rgba(0,0,0,0.7);scrollbar-width:thin;background:#FFE70B}body{padding:0 5%;font-family:"Source Sans Pro", Arial, Helvetica, sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;max-width:740px;margin:8vh auto;overflow-y:overlay}::selection{text-shadow:none;background:#000;color:#FFE70B}::-webkit-scrollbar{width:0.5em}::-webkit-scrollbar-track{background:rgba(0,0,0,0.7)}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.5)}::-webkit-scrollbar-thumb:active{background:#000}p{margin-top:0.5em;line-height:1.6em}p.bigger{font-size:1.3em}h2,h3,h4{margin-top:1.5em;margin-bottom:0}a{color:currentColor;text-decoration:none;font-weight:600}.badge{display:inline-block;white-space:nowrap;line-height:1em;font-weight:600;overflow:hidden;background:#000}.badge span,.badge a{color:#fff;display:inline-block;padding:0.5em 0.7em 0.5em 0;z-index:1}.badge span{pointer-events:none}.badge.gray,.badge .gray{background:#666 !important}.badge.blue,.badge .blue{background:#0070F0 !important}a.badge:hover,.badge a:hover{filter:brightness(80%)}.tri,.badge :first-child{position:relative;padding-left:0.6em;padding-right:0.5em;margin-right:0.8em;background:#000}.tri:after,.badge :first-child:after{content:"";position:absolute;top:0;right:-1em;width:2em;height:2em;transform:scale(0.3, 0.707) rotate(45deg);z-index:-1;background-color:inherit}em{font-style:normal;background:#000;color:#FFE70B;padding:0.2em 0.5em;font-size:0.85em;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#000}em.tri:after{width:1.65em !important;height:1.65em !important;right:-.825em !important}header,footer{display:flex;flex-wrap:wrap;justify-content:space-between;margin:30px 0;clear:both}header svg{margin-right:4px}footer{font-size:0.8rem;line-height:1em}footer hr{margin:5px 0;border:none;flex-basis:100%;height:1.5px;background:#000}footer *{align-self:flex-end}.err{text-align:center;margin:2em 0}.err em{line-height:2em;font-size:2em;margin:1em 1em 1em 0.7em}.err p{margin:2em}#cad{position:relative;width:130px;margin:auto;min-height:100px;font-weight:600;display:flex;justify-content:center;flex-direction:column;line-height:1.4;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px;background-position:0 0, 0 0, 100% 0, 0 100%;background-repeat:no-repeat}#cad #cad-blocked{padding:1em;font-size:0.85em;text-align:center;display:none}#cad.blocked{opacity:0.5}#cad.blocked #cad-blocked{display:block}#carbonads{top:0;display:flex;float:right;max-width:130px;background-color:#fff;font-size:11px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif}#carbonads *{margin:initial;padding:initial}#carbonads a{color:#111;text-decoration:none;font-weight:500}#carbonads a:hover{color:#111}#carbonads .carbon-img{display:block;margin-bottom:8px;max-width:130px;line-height:1}#carbonads .carbon-img img{display:block;margin:0 auto;max-width:130px;width:130px;height:auto}#carbonads .carbon-text{display:block;padding:0 10px 8px;text-align:left;line-height:1.35}#carbonads .carbon-poweredby{display:block;padding:10px;background:repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(0,0,0,0.025) 5px, rgba(0,0,0,0.025) 10px) rgba(241,243,244,0.4);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;font-size:8px;line-height:0}#oc{display:none;margin-right:3px}@media only screen and (min-width: 400px){#oc{display:inline-block}}@media only screen and (min-width: 530px){.err{margin:3em 0 4em}.err em{min-width:330px;font-size:3em}.err p{margin:3em}#cad{width:330px;height:100px;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px}#carbonads{max-width:330px}#carbonads .carbon-wrap{display:flex;flex-direction:row}#carbonads .carbon-img{margin:0}#carbonads .carbon-text{padding:10px 10px 0 10px;font-size:12px}#carbonads .carbon-poweredby{position:absolute;right:0;bottom:0;border-radius:0;border-top-left-radius:3px;text-align:center}} +@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:400;src:local("Source Sans Pro Regular"),local("SourceSansPro-Regular"),url("/fnt/source-sans-pro-v14-latin-regular.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-regular.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:600;src:local("Source Sans Pro Bold"),local("SourceSansPro-Bold"),url("/fnt/source-sans-pro-v14-latin-600.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-600.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}html{scrollbar-color:rgba(0,0,0,0.5) rgba(0,0,0,0.7);scrollbar-width:thin;background:#FFE70B}body{padding:0 5%;font-family:"Source Sans Pro", Arial, Helvetica, sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;max-width:740px;margin:8vh auto;overflow-y:overlay}::selection{text-shadow:none;background:#000;color:#FFE70B}::-webkit-scrollbar{width:0.5em}::-webkit-scrollbar-track{background:rgba(0,0,0,0.7)}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.5)}::-webkit-scrollbar-thumb:active{background:#000}svg{fill:currentColor}p{margin-top:0.5em;line-height:1.6em}p.bigger{font-size:1.3em}h2,h3,h4{margin-top:1.5em;margin-bottom:0}a{color:currentColor;text-decoration:none;font-weight:600}.badge{display:inline-block;white-space:nowrap;line-height:1em;font-weight:600;overflow:hidden;background:#000}.badge span,.badge a{color:#fff;display:inline-block;padding:0.5em 0.7em 0.5em 0;z-index:1}.badge span{pointer-events:none}.badge.gray,.badge .gray{background:#666 !important}.badge.blue,.badge .blue{background:#0070F0 !important}a.badge:hover,.badge a:hover{filter:brightness(80%)}.tri,.badge :first-child{position:relative;padding-left:0.6em;padding-right:0.5em;margin-right:0.8em;background:#000}.tri:after,.badge :first-child:after{content:"";position:absolute;top:0;right:-1em;width:2em;height:2em;transform:scale(0.3, 0.707) rotate(45deg);z-index:-1;background-color:inherit}em{font-style:normal;background:#000;color:#FFE70B;padding:0.2em 0.5em;font-size:0.85em;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}em.tri:after{width:1.65em !important;height:1.65em !important;right:-.825em !important}header,footer{display:flex;flex-wrap:wrap;justify-content:space-between;margin:30px 0;clear:both}header svg{margin-right:4px}footer{font-size:0.8rem;line-height:1em}footer hr{margin:5px 0;border:none;flex-basis:100%;height:1.5px;background:#000}footer *{align-self:flex-end}.err{text-align:center;margin:2em 0}.err em{line-height:2em;font-size:2em;margin:1em 1em 1em 0.7em}.err p{margin:2em}#cad{position:relative;width:130px;margin:auto;min-height:100px;font-weight:600;display:flex;justify-content:center;flex-direction:column;line-height:1.4;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px;background-position:0 0, 0 0, 100% 0, 0 100%;background-repeat:no-repeat}#cad #cad-blocked{padding:1em;font-size:0.85em;text-align:center;display:none}#cad.blocked{opacity:0.5}#cad.blocked #cad-blocked{display:block}#carbonads{top:0;display:flex;float:right;max-width:130px;background-color:#fff;font-size:11px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif}#carbonads *{margin:initial;padding:initial}#carbonads a{color:#111;text-decoration:none;font-weight:500}#carbonads a:hover{color:#111}#carbonads .carbon-img{display:block;margin-bottom:8px;max-width:130px;line-height:1}#carbonads .carbon-img img{display:block;margin:0 auto;max-width:130px;width:130px;height:auto}#carbonads .carbon-text{display:block;padding:0 10px 8px;text-align:left;line-height:1.35}#carbonads .carbon-poweredby{display:block;padding:10px;background:repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(0,0,0,0.025) 5px, rgba(0,0,0,0.025) 10px) rgba(241,243,244,0.4);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;font-size:8px;line-height:0}#oc{display:none;margin-right:3px}@media only screen and (min-width: 400px){#oc{display:inline-block}}@media only screen and (min-width: 530px){.err{margin:3em 0 4em}.err em{min-width:330px;font-size:3em}.err p{margin:3em}#cad{width:330px;height:100px;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px}#carbonads{max-width:330px}#carbonads .carbon-wrap{display:flex;flex-direction:row}#carbonads .carbon-img{margin:0}#carbonads .carbon-text{padding:10px 10px 0 10px;font-size:12px}#carbonads .carbon-poweredby{position:absolute;right:0;bottom:0;border-radius:0;border-top-left-radius:3px;text-align:center}}@media (prefers-color-scheme: dark){html{scrollbar-color:rgba(255,231,11,0.5) rgba(255,231,11,0.2);background:#000;color:#FFE70B}::selection{background:#FFE70B;color:#000}::-webkit-scrollbar-track{background:rgba(255,231,11,0.2)}::-webkit-scrollbar-thumb{background:rgba(255,231,11,0.5)}::-webkit-scrollbar-thumb:active{background:#FFE70B}em{background:#FFE70B;color:#000}.badge{background:#FFE70B}.badge span,.badge a{color:#000}.badge .blue{color:#fff}.tri,.badge :first-child{background:#FFE70B}footer hr{background:#FFE70B}}@media only screen and (prefers-color-scheme: dark) and (min-width: 530px){#cad{background-image:repeating-linear-gradient(0deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(90deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(180deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(270deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em)}} diff --git a/assets/index.scss b/assets/index.scss index 379c03db530..d96abc1dddd 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -102,7 +102,7 @@ section { text-shadow: 1px 1px $txt, 1px -1px $txt, -1px 1px $txt, -1px -1px $txt; &:hover { - color: rgba(255, 231, 11, 0.5); + color: rgba($key, 0.5); } } } @@ -135,5 +135,51 @@ section { #typewriter { font-size: 3.5em; } +} + +@media (prefers-color-scheme: dark) { + section { + color: $txt; + + input { + &#s1I:checked ~ nav #s1L, + &#s2I:checked ~ nav #s2L, + &#s3I:checked ~ nav #s3L, + &#s4I:checked ~ nav #s4L { + background: $key; + } + } + nav { + label { + color: $key; + border-color: $key; + + &:hover { + background: fade-out($key, .7); + color: $key; + } + } + } + + article { + background: $key; + } + } + + em, + section { + ::selection { + color: $key; + background: $txt; + } + + a { + text-shadow: 1px 1px $key, 1px -1px $key, -1px 1px $key, -1px -1px $key; + + &:hover { + color: rgba($txt, 0.5); + } + } + } } diff --git a/assets/main.scss b/assets/main.scss index 4911be64b1d..bada8ecd0f9 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -65,6 +65,10 @@ body { background: $txt; } +svg { + fill: currentColor; +} + p { margin-top: 0.5em; line-height: 1.6em; @@ -158,8 +162,6 @@ em { height: $d !important; right: -$d/2 !important; } - - background: $txt; } header, @@ -181,7 +183,7 @@ footer { border: none; flex-basis: 100%; height: 1.5px; - background: rgba(0, 0, 0, 1); + background: $txt; } font-size: 0.8rem; line-height: 1em; @@ -351,3 +353,63 @@ footer { text-align: center; } } + +@media (prefers-color-scheme: dark) { + html { + scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); + background: $txt; + color: $key; + } + + ::selection { + background: $key; + color: $txt; + } + + ::-webkit-scrollbar-track { + background: fade-out($key, 0.8); + } + + ::-webkit-scrollbar-thumb { + background: fade-out($key, 0.5); + } + + ::-webkit-scrollbar-thumb:active { + background: $key; + } + + em { + background: $key; + color: $txt; + } + + .badge { + background: $key; + + span, a { + color: $txt; + } + + .blue { + color: $alt; + } + } + + .tri, + .badge :first-child { + background: $key; + } + + footer { + hr { + background: $key; + } + } + + @media only screen and (min-width: $break-m) { + #cad { + background-image: repeating-linear-gradient(0deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em), repeating-linear-gradient(90deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em), + repeating-linear-gradient(180deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em), repeating-linear-gradient(270deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em); + } + } +} diff --git a/docs/302.html b/docs/302.html index cb6af81f6c3..dea5f08b824 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,4 @@ -Error 302 - JS.ORG

Twitter +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 7ad669f26bc..384e5a02822 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ -Error 404 - JS.ORG
Twitter +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
\ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 4d6cded140a..4c53de4c80f 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG is a non-profit project of an individual. Its focus is the provision of free subdomains to the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG is a non-profit project of an individual. Its focus is the provision of free subdomains to the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 7b32e043500..09e3bcf73dc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! diff --git a/docs/main.js.map b/docs/main.js.map index 2d8d957d7d7..ed4b29a2af5 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style=\"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () {window.location.href = 'https://js.org/?' + s;}, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = ()=>{\r\n if(!document.getElementById('_carbonads_projs')){\r\n if (el = document.getElementById(el))\r\n el.classList.add('blocked');\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substr(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,GACP,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAM,mBACd,SAEH,AAAC,UAAU,GACP,GAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,WAAa,OAAO,SAAS,KAAO,mBAAqB,GAAK,QAE9E,MAEH,AAAC,UAAU,GACP,OAAO,OAAS,KACZ,AAAI,SAAS,eAAe,qBACpB,GAAK,SAAS,eAAe,KACjC,EAAG,UAAU,IAAI,cAG1B,OAEH,AAAC,UAAU,GACP,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,OAAO,EAAG,IAClD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,IACT,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,GAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,KACV,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,KACV,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1, 20);\n\n(function (el: any) {\n if (search && (el = document.getElementById(el)))\n el.style=\"display:block\";\n})('redir');\n\n(function (el: any) {\n if (search && (el = document.getElementById(el))) {\n let s = search.slice(0, -3)\n el.innerHTML = s;\n setTimeout(function () {window.location.href = 'https://js.org/?' + s;}, 5000);\n }\n})('sd');\n\n(function (el: any) {\n window.onload = ()=>{\n if(!document.getElementById('_carbonads_projs')){\n if (el = document.getElementById(el))\n el.classList.add('blocked');\n }\n }\n})('cad');\n\n(function (el: any) {\n if (!(el = document.getElementById(el))) return;\n const h = document.getElementsByTagName('head')[0],\n id = 'cb_' + Math.random().toString(36).substr(2, 16),\n req = document.createElement('script');\n\n window[id] = obj => {\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\n };\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\n h.insertBefore(req, h.firstChild)\n})('ghstars');\n\n(function (el: any, dict) {\n if (!(el = document.getElementById(el))) return;\n\n if (search)\n dict.unshift(search.substring(0, 8))\n\n let write_speed = 1000 / 4,\n write_acceleration = 1,\n write_random = .2,\n write_pause = 3000,\n clear_speed = 1000 / 16,\n clear_acceleration = 1,\n clear_random = .2,\n clear_pause = 500;\n\n let word = el.innerHTML, l = word.length, i = -1;\n const clear = () => {\n if (l-- > 0) {\n el.className = 'active';\n el.innerHTML = word.slice(0, l);\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\n }\n else {\n word = '' + dict[(i = (i + 1) % dict.length)];\n setTimeout(write, clear_pause);\n }\n };\n\n const write = () => {\n if (l++ < word.length) {\n el.innerHTML = word.slice(0, l);\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\n }\n else {\n el.className = '';\n setTimeout(clear, write_pause);\n }\n }\n write();\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\n\n\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAM,mBACd,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAC,OAAO,SAAS,KAAO,mBAAqB,GAAK,QAE9E,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAI,CAChB,AAAI,SAAS,eAAe,qBACpB,GAAK,SAAS,eAAe,KACjC,EAAG,UAAU,IAAI,cAG1B,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,OAAO,EAAG,IAClD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 4ec846d7cff..adc8c8d1b01 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,4 +1,4 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data collected: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to which the contents that may contain Personal Information User are transferred.

CloudFlare (Cloudflare)

CloudFlare is a traffic optimization and distribution service provided by CloudFlare Inc.
The way CloudFlare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data collected: Cookies and various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom.

Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Definitions and legal references

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.

Cookies

Small sets of data stored in the User's device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 3e49824d0b1..3c4c8445d44 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1 +1 @@ -Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file From 3a959fefb556ba503ec978a60c89c0192bcc7350 Mon Sep 17 00:00:00 2001 From: Daniel Fischer Date: Tue, 25 May 2021 20:36:47 +0200 Subject: [PATCH 081/145] fix dark theme typewriter cursor color --- .../scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content | 2 +- assets/index.scss | 5 +++++ docs/index.html | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content index 250a83ebaf5..8cbc7dd6ae8 100644 --- a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content @@ -1 +1 @@ -p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}}@media (prefers-color-scheme: dark){section{color:#000}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background:#FFE70B}section nav label{color:#FFE70B;border-color:#FFE70B}section nav label:hover{background:rgba(255,231,11,0.3);color:#FFE70B}section article{background:#FFE70B}em ::selection,section ::selection{color:#FFE70B;background:#000}em a,section a{text-shadow:1px 1px #FFE70B, 1px -1px #FFE70B, -1px 1px #FFE70B, -1px -1px #FFE70B}em a:hover,section a:hover{color:rgba(0,0,0,0.5)}} +p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}}@media (prefers-color-scheme: dark){#typewriter .active{border-right-color:#000}section{color:#000}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background:#FFE70B}section nav label{color:#FFE70B;border-color:#FFE70B}section nav label:hover{background:rgba(255,231,11,0.3);color:#FFE70B}section article{background:#FFE70B}em ::selection,section ::selection{color:#FFE70B;background:#000}em a,section a{text-shadow:1px 1px #FFE70B, 1px -1px #FFE70B, -1px 1px #FFE70B, -1px -1px #FFE70B}em a:hover,section a:hover{color:rgba(0,0,0,0.5)}} diff --git a/assets/index.scss b/assets/index.scss index d96abc1dddd..4dd57daed92 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -138,6 +138,11 @@ section { } @media (prefers-color-scheme: dark) { + #typewriter { + .active { + border-right-color: $txt; + } + } section { color: $txt; diff --git a/docs/index.html b/docs/index.html index 09e3bcf73dc..13f8455e28b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! From 76e00f733abcf66f82cebf8ffb58bb481d3dcece Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 26 May 2021 02:34:48 +0200 Subject: [PATCH 082/145] Update .gitignore --- .gitignore | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ed7937a5700..598a0a33798 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -cache +_cache .vscode -package.json \ No newline at end of file +package.json From a27bd4518b656ec2cfc140b74bfc479cf744362d Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 26 May 2021 02:35:16 +0200 Subject: [PATCH 083/145] Delete _cache directory --- .../scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content | 1 - .../assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.json | 1 - .../scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content | 1 - .../assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.json | 1 - 4 files changed, 4 deletions(-) delete mode 100644 _cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content delete mode 100644 _cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.json delete mode 100644 _cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content delete mode 100644 _cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.json diff --git a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content deleted file mode 100644 index 8cbc7dd6ae8..00000000000 --- a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ /dev/null @@ -1 +0,0 @@ -p{margin:2em 0}#typewriter{padding-left:0.4em;font-size:1.5em;line-height:1.25em;display:inline-block}#typewriter .active{border-right:0.1em solid #FFE70B;padding-right:0.1em;line-height:0em}section{margin:1.8rem 0;color:#FFE70B}section input{position:absolute;opacity:0;left:-99px}section input:checked+article{display:inline-block}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{color:currentColor;background:#000}section nav{display:inline-table;border-collapse:collapse;margin:0}section nav label{color:#000;user-select:none;outline:none;cursor:pointer;display:table-cell;border:2px solid #000;border-top:none;left:0;font-weight:600;font-size:1em;height:2em;width:2em;line-height:2em;text-align:center;margin:0;padding:0;-moz-transition:all 0.3s;-o-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s}section nav label:hover{background:rgba(0,0,0,0.2);color:#000}section article{display:none;background:#000;margin:0;padding:1.2em}section article h3{float:left;border-right:2px solid currentColor;font-size:4em;width:1em;padding-top:0.2em;text-align:center;line-height:0.75em;font-weight:600;margin:-0.2em 0.3em 0.1em -0.2em}em ::selection,section ::selection{color:#000;background:#FFE70B}em a,section a{font-weight:600;border-bottom:1.5px solid currentColor;display:inline-block;line-height:1;text-shadow:1px 1px #000,1px -1px #000,-1px 1px #000,-1px -1px #000}em a:hover,section a:hover{color:rgba(255,231,11,0.5)}#cad{position:relative;margin:4px 0 10px 20px;float:right}#redir{display:none;clear:both}#redir em{margin:0 5em;display:block;text-align:center}@media only screen and (min-width: 400px){#typewriter{font-size:2em}}@media only screen and (min-width: 700px){#typewriter{font-size:3.5em}}@media (prefers-color-scheme: dark){#typewriter .active{border-right-color:#000}section{color:#000}section input#s1I:checked~nav #s1L,section input#s2I:checked~nav #s2L,section input#s3I:checked~nav #s3L,section input#s4I:checked~nav #s4L{background:#FFE70B}section nav label{color:#FFE70B;border-color:#FFE70B}section nav label:hover{background:rgba(255,231,11,0.3);color:#FFE70B}section article{background:#FFE70B}em ::selection,section ::selection{color:#FFE70B;background:#000}em a,section a{text-shadow:1px 1px #FFE70B, 1px -1px #FFE70B, -1px 1px #FFE70B, -1px -1px #FFE70B}em a:hover,section a:hover{color:rgba(0,0,0,0.5)}} diff --git a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.json b/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.json deleted file mode 100644 index 679f76dad66..00000000000 --- a/_cache/_gen/assets/scss/index.scss_c25f88f67e8e33f20619c76cbf49f33c.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"index.css","MediaType":"text/css","Data":{}} \ No newline at end of file diff --git a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content b/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content deleted file mode 100644 index f401360e34e..00000000000 --- a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.content +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:400;src:local("Source Sans Pro Regular"),local("SourceSansPro-Regular"),url("/fnt/source-sans-pro-v14-latin-regular.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-regular.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:"Source Sans Pro";font-style:normal;font-display:swap;font-weight:600;src:local("Source Sans Pro Bold"),local("SourceSansPro-Bold"),url("/fnt/source-sans-pro-v14-latin-600.woff2") format("woff2"),url("/fnt/source-sans-pro-v14-latin-600.woff") format("woff");unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}html{scrollbar-color:rgba(0,0,0,0.5) rgba(0,0,0,0.7);scrollbar-width:thin;background:#FFE70B}body{padding:0 5%;font-family:"Source Sans Pro", Arial, Helvetica, sans-serif;line-height:1.5;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;max-width:740px;margin:8vh auto;overflow-y:overlay}::selection{text-shadow:none;background:#000;color:#FFE70B}::-webkit-scrollbar{width:0.5em}::-webkit-scrollbar-track{background:rgba(0,0,0,0.7)}::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.5)}::-webkit-scrollbar-thumb:active{background:#000}svg{fill:currentColor}p{margin-top:0.5em;line-height:1.6em}p.bigger{font-size:1.3em}h2,h3,h4{margin-top:1.5em;margin-bottom:0}a{color:currentColor;text-decoration:none;font-weight:600}.badge{display:inline-block;white-space:nowrap;line-height:1em;font-weight:600;overflow:hidden;background:#000}.badge span,.badge a{color:#fff;display:inline-block;padding:0.5em 0.7em 0.5em 0;z-index:1}.badge span{pointer-events:none}.badge.gray,.badge .gray{background:#666 !important}.badge.blue,.badge .blue{background:#0070F0 !important}a.badge:hover,.badge a:hover{filter:brightness(80%)}.tri,.badge :first-child{position:relative;padding-left:0.6em;padding-right:0.5em;margin-right:0.8em;background:#000}.tri:after,.badge :first-child:after{content:"";position:absolute;top:0;right:-1em;width:2em;height:2em;transform:scale(0.3, 0.707) rotate(45deg);z-index:-1;background-color:inherit}em{font-style:normal;background:#000;color:#FFE70B;padding:0.2em 0.5em;font-size:0.85em;font-weight:600;-webkit-box-decoration-break:clone;box-decoration-break:clone}em.tri:after{width:1.65em !important;height:1.65em !important;right:-.825em !important}header,footer{display:flex;flex-wrap:wrap;justify-content:space-between;margin:30px 0;clear:both}header svg{margin-right:4px}footer{font-size:0.8rem;line-height:1em}footer hr{margin:5px 0;border:none;flex-basis:100%;height:1.5px;background:#000}footer *{align-self:flex-end}.err{text-align:center;margin:2em 0}.err em{line-height:2em;font-size:2em;margin:1em 1em 1em 0.7em}.err p{margin:2em}#cad{position:relative;width:130px;margin:auto;min-height:100px;font-weight:600;display:flex;justify-content:center;flex-direction:column;line-height:1.4;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em),repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.2em, #000 2.2em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px;background-position:0 0, 0 0, 100% 0, 0 100%;background-repeat:no-repeat}#cad #cad-blocked{padding:1em;font-size:0.85em;text-align:center;display:none}#cad.blocked{opacity:0.5}#cad.blocked #cad-blocked{display:block}#carbonads{top:0;display:flex;float:right;max-width:130px;background-color:#fff;font-size:11px;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif}#carbonads *{margin:initial;padding:initial}#carbonads a{color:#111;text-decoration:none;font-weight:500}#carbonads a:hover{color:#111}#carbonads .carbon-img{display:block;margin-bottom:8px;max-width:130px;line-height:1}#carbonads .carbon-img img{display:block;margin:0 auto;max-width:130px;width:130px;height:auto}#carbonads .carbon-text{display:block;padding:0 10px 8px;text-align:left;line-height:1.35}#carbonads .carbon-poweredby{display:block;padding:10px;background:repeating-linear-gradient(-45deg, transparent, transparent 5px, rgba(0,0,0,0.025) 5px, rgba(0,0,0,0.025) 10px) rgba(241,243,244,0.4);text-transform:uppercase;letter-spacing:0.5px;font-weight:600;font-size:8px;line-height:0}#oc{display:none;margin-right:3px}@media only screen and (min-width: 400px){#oc{display:inline-block}}@media only screen and (min-width: 530px){.err{margin:3em 0 4em}.err em{min-width:330px;font-size:3em}.err p{margin:3em}#cad{width:330px;height:100px;background-image:repeating-linear-gradient(0deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(90deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(180deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em), repeating-linear-gradient(270deg, #000, #000 1.4em, transparent 1.4em, transparent 2.4em, #000 2.4em);background-size:4px 100%, 100% 4px, 4px 100%, 100% 4px}#carbonads{max-width:330px}#carbonads .carbon-wrap{display:flex;flex-direction:row}#carbonads .carbon-img{margin:0}#carbonads .carbon-text{padding:10px 10px 0 10px;font-size:12px}#carbonads .carbon-poweredby{position:absolute;right:0;bottom:0;border-radius:0;border-top-left-radius:3px;text-align:center}}@media (prefers-color-scheme: dark){html{scrollbar-color:rgba(255,231,11,0.5) rgba(255,231,11,0.2);background:#000;color:#FFE70B}::selection{background:#FFE70B;color:#000}::-webkit-scrollbar-track{background:rgba(255,231,11,0.2)}::-webkit-scrollbar-thumb{background:rgba(255,231,11,0.5)}::-webkit-scrollbar-thumb:active{background:#FFE70B}em{background:#FFE70B;color:#000}.badge{background:#FFE70B}.badge span,.badge a{color:#000}.badge .blue{color:#fff}.tri,.badge :first-child{background:#FFE70B}footer hr{background:#FFE70B}}@media only screen and (prefers-color-scheme: dark) and (min-width: 530px){#cad{background-image:repeating-linear-gradient(0deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(90deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(180deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em), repeating-linear-gradient(270deg, #FFE70B, #FFE70B 1.4em, transparent 1.4em, transparent 2.2em, #FFE70B 2.2em)}} diff --git a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.json b/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.json deleted file mode 100644 index e332bb13b95..00000000000 --- a/_cache/_gen/assets/scss/main.scss_c25f88f67e8e33f20619c76cbf49f33c.json +++ /dev/null @@ -1 +0,0 @@ -{"Target":"main.css","MediaType":"text/css","Data":{}} \ No newline at end of file From a845c0fc8d8b0fa119d7f010408845fbb26dfd64 Mon Sep 17 00:00:00 2001 From: emyarod Date: Sat, 24 Jul 2021 12:02:31 -0500 Subject: [PATCH 084/145] camel case GitHub --- layouts/_default/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 5c0a234ff0e..3083875fb9d 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -106,7 +106,7 @@ {{else}}

Donatefor registrar fees - Github + GitHub {{if .Params.full}} 3.6K {{end}} From 477287e07a0b172d92b9636288aec0c3b12221ff Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 1 Sep 2021 13:26:42 +0200 Subject: [PATCH 085/145] Update imprint.html --- pages/imprint.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/imprint.html b/pages/imprint.html index 41622e1b6c8..01edc7e8cbd 100644 --- a/pages/imprint.html +++ b/pages/imprint.html @@ -8,7 +8,7 @@ ---

Imprint

-

JS.ORG is a non-profit project of an individual. Its focus is the provision of free subdomains to the JavaScript community.

+

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim @@ -42,4 +42,4 @@

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

-

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

From 35807bfb10c22e4bb0cbe40a38b303d4a72e1f8b Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 1 Sep 2021 13:27:21 +0200 Subject: [PATCH 086/145] Update imprint.html --- docs/imprint.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/imprint.html b/docs/imprint.html index 4c53de4c80f..433c1e5013e 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG is a non-profit project of an individual. Its focus is the provision of free subdomains to the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

From e7ee4d7c25e06f555345c1295c7a6e2ac923617d Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 29 Sep 2021 14:48:40 +0200 Subject: [PATCH 087/145] Update imprint.html --- docs/imprint.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/imprint.html b/docs/imprint.html index 433c1e5013e..738c92f4551 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

+Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

From 4907b6c7dfdaf6247f6cec31c987cc708caf7d90 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 29 Sep 2021 14:50:29 +0200 Subject: [PATCH 088/145] Update imprint.html --- pages/imprint.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/imprint.html b/pages/imprint.html index 01edc7e8cbd..5beb6459b16 100644 --- a/pages/imprint.html +++ b/pages/imprint.html @@ -1,7 +1,7 @@ --- layout: base title: Imprint -lastUpdate: May 20, 2018 +lastUpdate: Sep 29, 2021 sitemap: priority: 0.5 changefreq: yearly From 2eb537c5deb7e62ff50e0a058256cf5084fa302d Mon Sep 17 00:00:00 2001 From: OptimisticSide <47266822+optimisticside@users.noreply.github.com> Date: Mon, 29 Nov 2021 19:12:47 -0800 Subject: [PATCH 089/145] Fixed grammatical error in homepage --- pages/_index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/_index.html b/pages/_index.html index c88a9da2a4b..5f7784245d6 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -72,7 +72,7 @@

4

To finish the procedure, make a pull request in our GitHub
- Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
+ Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. @@ -88,4 +88,4 @@

4

To finish the procedure, make a pull request in our GitHub Redirect service provided by redirect.pizza -

\ No newline at end of file +

From f2f73f9dd9843f65de07a80a1facffc89c688098 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 30 Nov 2021 12:52:36 +0100 Subject: [PATCH 090/145] Update index.html --- docs/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.html b/docs/index.html index 13f8455e28b..56b1d5ac07b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -23,7 +23,7 @@ 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).
Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. +

Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

\ No newline at end of file +3.6K

WEBDESIGN: 20zweinull From 3e6f23c82506a09258c9fb0e7d54a472f31d28e8 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 30 Nov 2021 12:53:21 +0100 Subject: [PATCH 091/145] Update 302.html --- docs/302.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/302.html b/docs/302.html index dea5f08b824..fb154d87b85 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,4 @@ Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
From f0db9ea6d3d0a6272a315075216b7141f82c57e4 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 30 Nov 2021 12:53:42 +0100 Subject: [PATCH 092/145] Update 302.html --- pages/302.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/302.html b/pages/302.html index f4174ad47c1..6d54107be24 100644 --- a/pages/302.html +++ b/pages/302.html @@ -19,6 +19,6 @@
- Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
+ Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
- \ No newline at end of file + From 1552ccaef05a402b87596df6df96cded5ad3ebc2 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Thu, 9 Dec 2021 23:33:12 +0100 Subject: [PATCH 093/145] countapi --- .pnpm-debug.log | 14 ++++++++++++++ assets/main.ts | 15 +++++++++------ docs/302.html | 6 +++--- docs/404.html | 4 ++-- docs/imprint.html | 2 +- docs/index.html | 6 +++--- docs/main.js | 2 +- docs/main.js.map | 4 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- pages/302.html | 5 ++--- 11 files changed, 39 insertions(+), 23 deletions(-) create mode 100644 .pnpm-debug.log diff --git a/.pnpm-debug.log b/.pnpm-debug.log new file mode 100644 index 00000000000..73cd176cdac --- /dev/null +++ b/.pnpm-debug.log @@ -0,0 +1,14 @@ +{ + "0 debug pnpm:scope": { + "selected": 1 + }, + "1 error pnpm": { + "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", + "err": { + "name": "pnpm", + "message": "No package.json (or package.yaml, or package.json5) was found in \"D:\\User\\Documents\\privat\\JS.ORG\\js.org\".", + "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", + "stack": "pnpm: No package.json (or package.yaml, or package.json5) was found in \"D:\\User\\Documents\\privat\\JS.ORG\\js.org\".\n at readProjectManifest (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41090:13)\n at async Object.readProjectManifestOnly (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41094:28)\n at async readProjectManifestOnly (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41313:24)\n at async Object.handler (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:129562:24)\n at async C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133754:20\n at async run (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133729:34)\n at async runPnpm (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133940:5)\n at async C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133932:7" + } + } +} \ No newline at end of file diff --git a/assets/main.ts b/assets/main.ts index 2c79f85f386..6e9b0c694af 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -2,22 +2,25 @@ const search = window.location.search.slice(1, 20); (function (el: any) { if (search && (el = document.getElementById(el))) - el.style="display:block"; + el.style = "display:block"; })('redir'); (function (el: any) { if (search && (el = document.getElementById(el))) { let s = search.slice(0, -3) el.innerHTML = s; - setTimeout(function () {window.location.href = 'https://js.org/?' + s;}, 5000); + setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000); } })('sd'); (function (el: any) { - window.onload = ()=>{ - if(!document.getElementById('_carbonads_projs')){ - if (el = document.getElementById(el)) - el.classList.add('blocked'); + window.onload = () => { + if (el = document.getElementById(el)) { + if (!document.getElementById('_carbonads_projs')) { + el.classList.add('blocked'); + fetch("https://api.countapi.xyz/hit/jsorg/nocad") + } else + fetch("https://api.countapi.xyz/hit/jsorg/cad") } } })('cad'); diff --git a/docs/302.html b/docs/302.html index fb154d87b85..00a394d38e5 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,4 @@ -Error 302 - JS.ORG
Twitter +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
+GitHub +3.6K

WEBDESIGN: 20zweinull \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 384e5a02822..086c5c7b349 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ -Error 404 - JS.ORG
Twitter +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
\ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 738c92f4551..6f24d72a852 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

+Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 56b1d5ac07b..95c6cc6f399 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! @@ -25,5 +25,5 @@

Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

+GitHub +3.6K

WEBDESIGN: 20zweinull \ No newline at end of file diff --git a/docs/main.js b/docs/main.js index 70af25c3d4e..083c0139a00 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var r=window.location.search.slice(1,20);(function(e){r&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(r&&(e=document.getElementById(e))){let t=r.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{document.getElementById("_carbonads_projs")||(e=document.getElementById(e))&&e.classList.add("blocked")}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substr(2,16),s=document.createElement("script");window[i]=a=>{e.innerHTML=((a.data.watchers||0)/1e3).toFixed(1)+"K"},s.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(s,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;r&&t.unshift(r.substring(0,8));let i=1e3/4,s=1,a=.2,u=3e3,c=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++{var s=window.location.search.slice(1,20);(function(e){s&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(s&&(e=document.getElementById(e))){let t=s.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{(e=document.getElementById(e))&&(document.getElementById("_carbonads_projs")?fetch("https://api.countapi.xyz/hit/jsorg/cad"):(e.classList.add("blocked"),fetch("https://api.countapi.xyz/hit/jsorg/nocad")))}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substr(2,16),a=document.createElement("script");window[i]=r=>{e.innerHTML=((r.data.watchers||0)/1e3).toFixed(1)+"K"},a.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(a,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;s&&t.unshift(s.substring(0,8));let i=1e3/4,a=1,r=.2,l=3e3,c=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,u=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(u,c+c*o/n.length*h+c*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\n\n(function (el: any) {\n if (search && (el = document.getElementById(el)))\n el.style=\"display:block\";\n})('redir');\n\n(function (el: any) {\n if (search && (el = document.getElementById(el))) {\n let s = search.slice(0, -3)\n el.innerHTML = s;\n setTimeout(function () {window.location.href = 'https://js.org/?' + s;}, 5000);\n }\n})('sd');\n\n(function (el: any) {\n window.onload = ()=>{\n if(!document.getElementById('_carbonads_projs')){\n if (el = document.getElementById(el))\n el.classList.add('blocked');\n }\n }\n})('cad');\n\n(function (el: any) {\n if (!(el = document.getElementById(el))) return;\n const h = document.getElementsByTagName('head')[0],\n id = 'cb_' + Math.random().toString(36).substr(2, 16),\n req = document.createElement('script');\n\n window[id] = obj => {\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\n };\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\n h.insertBefore(req, h.firstChild)\n})('ghstars');\n\n(function (el: any, dict) {\n if (!(el = document.getElementById(el))) return;\n\n if (search)\n dict.unshift(search.substring(0, 8))\n\n let write_speed = 1000 / 4,\n write_acceleration = 1,\n write_random = .2,\n write_pause = 3000,\n clear_speed = 1000 / 16,\n clear_acceleration = 1,\n clear_random = .2,\n clear_pause = 500;\n\n let word = el.innerHTML, l = word.length, i = -1;\n const clear = () => {\n if (l-- > 0) {\n el.className = 'active';\n el.innerHTML = word.slice(0, l);\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\n }\n else {\n word = '' + dict[(i = (i + 1) % dict.length)];\n setTimeout(write, clear_pause);\n }\n };\n\n const write = () => {\n if (l++ < word.length) {\n el.innerHTML = word.slice(0, l);\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\n }\n else {\n el.className = '';\n setTimeout(clear, write_pause);\n }\n }\n write();\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\n\n\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAM,mBACd,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAC,OAAO,SAAS,KAAO,mBAAqB,GAAK,QAE9E,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAI,CAChB,AAAI,SAAS,eAAe,qBACpB,GAAK,SAAS,eAAe,KACjC,EAAG,UAAU,IAAI,cAG1B,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,OAAO,EAAG,IAClD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n if (!document.getElementById('_carbonads_projs')) {\r\n el.classList.add('blocked');\r\n fetch(\"https://api.countapi.xyz/hit/jsorg/nocad\")\r\n } else\r\n fetch(\"https://api.countapi.xyz/hit/jsorg/cad\")\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substr(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,GACP,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,GACP,GAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,WAAc,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,GACP,OAAO,OAAS,KACZ,AAAI,GAAK,SAAS,eAAe,KAC7B,CAAK,SAAS,eAAe,oBAIzB,MAAM,0CAHN,GAAG,UAAU,IAAI,WACjB,MAAM,iDAKnB,OAEH,AAAC,UAAU,GACP,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,OAAO,EAAG,IAClD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,IACT,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,GAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,KACV,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,KACV,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index adc8c8d1b01..19262febd48 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,4 +1,4 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data collected: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to which the contents that may contain Personal Information User are transferred.

CloudFlare (Cloudflare)

CloudFlare is a traffic optimization and distribution service provided by CloudFlare Inc.
The way CloudFlare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data collected: Cookies and various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom.

Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Definitions and legal references

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.

Cookies

Small sets of data stored in the User's device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 3c4c8445d44..30f2f669d9a 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1 +1 @@ -Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file diff --git a/pages/302.html b/pages/302.html index 6d54107be24..f4c2785353f 100644 --- a/pages/302.html +++ b/pages/302.html @@ -17,8 +17,7 @@ Redirect service provided by redirect.pizza

- - Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
+ + Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
From a79e854be46c8f7995c62c9a8a6eb069cdb0142b Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 10 Dec 2021 22:32:24 +0100 Subject: [PATCH 094/145] Improve wording for when ads are blocked --- assets/index.scss | 21 ++++++--------------- assets/main.scss | 7 ++++++- assets/main.ts | 7 ++----- docs/302.html | 4 ++-- docs/404.html | 4 ++-- docs/imprint.html | 2 +- docs/index.html | 4 ++-- docs/main.js | 2 +- docs/main.js.map | 4 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- layouts/_default/base.html | 4 ++-- pages/302.html | 2 +- pages/404.html | 2 +- pages/_index.html | 2 +- 15 files changed, 31 insertions(+), 38 deletions(-) diff --git a/assets/index.scss b/assets/index.scss index 4dd57daed92..a9d1cce612c 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -1,7 +1,7 @@ @import "vars"; p { - margin: 2em 0; + margin: 2em 0; } #typewriter { @@ -62,7 +62,7 @@ section { -webkit-transition: all 0.3s; transition: all 0.3s; &:hover { - background: fade-out($txt, .8); + background: fade-out($txt, 0.8); color: $txt; } } @@ -96,10 +96,7 @@ section { a { font-weight: 600; - border-bottom: 1.5px solid currentColor; - display: inline-block; - line-height: 1; - text-shadow: 1px 1px $txt, 1px -1px $txt, -1px 1px $txt, -1px -1px $txt; + text-decoration: underline; &:hover { color: rgba($key, 0.5); @@ -123,14 +120,12 @@ section { } } - @media only screen and (min-width: $break_s) { #typewriter { font-size: 2em; } } - @media only screen and (min-width: $break_l) { #typewriter { font-size: 3.5em; @@ -161,7 +156,7 @@ section { border-color: $key; &:hover { - background: fade-out($key, .7); + background: fade-out($key, 0.7); color: $key; } } @@ -179,12 +174,8 @@ section { background: $txt; } - a { - text-shadow: 1px 1px $key, 1px -1px $key, -1px 1px $key, -1px -1px $key; - - &:hover { - color: rgba($txt, 0.5); - } + a:hover { + color: rgba($txt, 0.5); } } } diff --git a/assets/main.scss b/assets/main.scss index bada8ecd0f9..225804c53be 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -88,6 +88,8 @@ a { color: currentColor; text-decoration: none; font-weight: 600; + text-decoration-thickness: 1.4px; + text-underline-offset: 1px; } .badge { @@ -230,9 +232,12 @@ footer { } &.blocked { - opacity: 0.5; + opacity: 0.6; #cad-blocked { display: block; + a { + text-decoration: underline; + } } } } diff --git a/assets/main.ts b/assets/main.ts index 6e9b0c694af..191278c3a8b 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -16,11 +16,8 @@ const search = window.location.search.slice(1, 20); (function (el: any) { window.onload = () => { if (el = document.getElementById(el)) { - if (!document.getElementById('_carbonads_projs')) { + if (!document.getElementById('_carbonads_projs')) el.classList.add('blocked'); - fetch("https://api.countapi.xyz/hit/jsorg/nocad") - } else - fetch("https://api.countapi.xyz/hit/jsorg/cad") } } })('cad'); @@ -28,7 +25,7 @@ const search = window.location.search.slice(1, 20); (function (el: any) { if (!(el = document.getElementById(el))) return; const h = document.getElementsByTagName('head')[0], - id = 'cb_' + Math.random().toString(36).substr(2, 16), + id = 'cb_' + Math.random().toString(36).substring(2, 16), req = document.createElement('script'); window[id] = obj => { diff --git a/docs/302.html b/docs/302.html index 00a394d38e5..d819ca3cc50 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,4 @@ -Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
Donatefor registrar fees +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 086c5c7b349..e8e4220a47f 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ -Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
Donatefor registrar fees +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 6f24d72a852..77049754c98 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 95c6cc6f399..9d1ab410354 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! @@ -23,7 +23,7 @@ 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).

Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.

ImportantAs the owner of the repository, you keep complete control over your published content. +

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

\ No newline at end of file diff --git a/docs/main.js b/docs/main.js index 083c0139a00..1fff3f64099 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var s=window.location.search.slice(1,20);(function(e){s&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(s&&(e=document.getElementById(e))){let t=s.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{(e=document.getElementById(e))&&(document.getElementById("_carbonads_projs")?fetch("https://api.countapi.xyz/hit/jsorg/cad"):(e.classList.add("blocked"),fetch("https://api.countapi.xyz/hit/jsorg/nocad")))}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substr(2,16),a=document.createElement("script");window[i]=r=>{e.innerHTML=((r.data.watchers||0)/1e3).toFixed(1)+"K"},a.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(a,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;s&&t.unshift(s.substring(0,8));let i=1e3/4,a=1,r=.2,l=3e3,c=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,u=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(u,c+c*o/n.length*h+c*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++{var r=window.location.search.slice(1,20);(function(e){r&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(r&&(e=document.getElementById(e))){let t=r.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{(e=document.getElementById(e))&&(document.getElementById("_carbonads_projs")||e.classList.add("blocked"))}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),s=document.createElement("script");window[i]=a=>{e.innerHTML=((a.data.watchers||0)/1e3).toFixed(1)+"K"},s.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(s,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;r&&t.unshift(r.substring(0,8));let i=1e3/4,s=1,a=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n if (!document.getElementById('_carbonads_projs')) {\r\n el.classList.add('blocked');\r\n fetch(\"https://api.countapi.xyz/hit/jsorg/nocad\")\r\n } else\r\n fetch(\"https://api.countapi.xyz/hit/jsorg/cad\")\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substr(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,GACP,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,GACP,GAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,WAAc,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,GACP,OAAO,OAAS,KACZ,AAAI,GAAK,SAAS,eAAe,KAC7B,CAAK,SAAS,eAAe,oBAIzB,MAAM,0CAHN,GAAG,UAAU,IAAI,WACjB,MAAM,iDAKnB,OAEH,AAAC,UAAU,GACP,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,OAAO,EAAG,IAClD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,IACT,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,GAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,KACV,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,KACV,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n if (!document.getElementById('_carbonads_projs'))\r\n el.classList.add('blocked');\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,GACP,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,GACP,GAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,WAAc,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,GACP,OAAO,OAAS,KACZ,AAAI,GAAK,SAAS,eAAe,KACxB,UAAS,eAAe,qBACzB,EAAG,UAAU,IAAI,eAG9B,OAEH,AAAC,UAAU,GACP,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,IACT,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,GAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,KACV,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,KACV,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 19262febd48..4272e2556f7 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,4 +1,4 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data collected: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy. Privacy Shield participant.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to which the contents that may contain Personal Information User are transferred.

CloudFlare (Cloudflare)

CloudFlare is a traffic optimization and distribution service provided by CloudFlare Inc.
The way CloudFlare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data collected: Cookies and various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom.

Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Definitions and legal references

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.

Cookies

Small sets of data stored in the User's device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 30f2f669d9a..0517e5c6fe7 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1 +1 @@ -Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 3083875fb9d..23efc8a28d5 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -37,8 +37,8 @@ {{end}} - - + + {{if $main := resources.Get "main.scss" }} {{$options := dict "outputStyle" "compressed"}} diff --git a/pages/302.html b/pages/302.html index f4c2785353f..9b33e722ac3 100644 --- a/pages/302.html +++ b/pages/302.html @@ -18,6 +18,6 @@

- Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
diff --git a/pages/404.html b/pages/404.html index 91731678d10..4f63282fa96 100644 --- a/pages/404.html +++ b/pages/404.html @@ -17,6 +17,6 @@
- Looks like your ad blocker did a great job.
Here would have been a paid advertising that would have helped us to run this service.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index 5f7784245d6..62c1a708550 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -72,7 +72,7 @@

4

To finish the procedure, make a pull request in our GitHub
- Looks like your ad blocker did a great job.
Here would have been a paid advertisement that would have helped us to run this service.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. From e2f3247a9becd4e28428ab4ea2d3d3031f140010 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 09:51:17 +0100 Subject: [PATCH 095/145] privacy update --- docs/privacy.html | 122 +++++++++++++++++- docs/sitemap.xml | 2 +- pages/privacy.html | 308 ++++++++++++++++++++++++++++++--------------- 3 files changed, 323 insertions(+), 109 deletions(-) diff --git a/docs/privacy.html b/docs/privacy.html index 4272e2556f7..7d11145b555 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,4 +1,118 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Responsible for Editorial Content

Stefan Keim

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data collected: Usage Data.

Place of processing: United States – -Privacy Policy. Privacy Shield participant.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data collected: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – -Privacy Policy. Privacy Shield participant.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to which the contents that may contain Personal Information User are transferred.

CloudFlare (Cloudflare)

CloudFlare is a traffic optimization and distribution service provided by CloudFlare Inc.
The way CloudFlare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data collected: Cookies and various types of Data as specified in the privacy policy of the service.

Place of processing: United States – -Privacy Policy.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom.

Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Definitions and legal references

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.

Cookies

Small sets of data stored in the User's device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Tracker; Usage +Data.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy +policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely +provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified +otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for +JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are +free not to communicate this Data without consequences to the availability or the functioning of the +Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the +Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services +used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes +described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that +they have the third party's consent to provide the Data to the Owner.

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or +unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled +tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the +Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation +of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party +technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if +necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any +time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be +allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely +on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of +Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual +obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official +authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in +particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement +necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the +processing are located.

Depending on the User's location, data transfers may involve transferring the +User's Data to a country other than their own. To find out more about the place of processing of such transferred +Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or +to any international organization governed by public international law or set up by two or more countries, such as +the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer +takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner +using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User +shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed +to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the +Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such +processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data +for a longer period whenever required to do so for the performance of a legal obligation or upon order of an +authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of +access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after +expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal +obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third +parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, +Traffic optimization and distribution, Advertising and Displaying content from external platforms.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed +information on the processing of Personal Data”.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are +displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This +does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below.
Some of the services listed below may use Trackers to identify Users or they may use the behavioral +retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected +outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of +this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by +any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the +dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon/BuySellAds (BuySellAds.com Inc.)

BuySellAds is an advertising service provided by BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and +interact with them.
This type of service might still collect web traffic data for the pages where the service +is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by +GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well +as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work +through geographically distributed servers, making it difficult to determine the actual location where the Personal +Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and +to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way +these services are implemented. Their function is to filter communications between JS.ORG and the User's +browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to +which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is +integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's +browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the +instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the +Digital Advertising +Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. +Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus +recommends that Users make use of these resources in addition to the information provided in this document.

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device +advertising settings for mobile phones or ads settings in general.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have +previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their +Data if the processing is carried out on a legal basis other than consent. Further details are provided in the +dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, +obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing +processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and +ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to +restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other +than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain +circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to +receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to +have it transmitted to another controller without any hindrance. This provision is applicable provided that the +Data is processed by automated means and that the processing is based on the User's consent, on a contract which +the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection +authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner +or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by +providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object +to that processing at any time without providing any justification. To learn, whether the Owner is processing +Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this +document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and +always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible +legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that +the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and +contextual information concerning particular Services or the collection and processing of Personal Data upon +request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction +with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. +Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses +honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page +and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any +contact information available to the Owner. It is strongly recommended to check this page often, referring to the +date of the last modification listed at the bottom.

Should the changes affect processing activities +performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal +identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: +the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform +Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of +the file received in response, the numerical code indicating the status of the server's answer (successful outcome, +error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the +various time details per visit (e.g., the time spent on each page within the Application) and the details about the +path followed within the Application with special reference to the sequence of pages visited, and other parameters +about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the +Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines +the purposes and means of the processing of Personal Data, including the security measures concerning the operation +and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member +states to the European Union and the European Economic Area.

Cookie

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and +fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s +device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of +Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index a332223a93b..62931e8878b 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1 @@ -https://js.org/302.htmlyearly0.1https://js.org/404.htmlyearly0.1https://js.org/imprint.htmlyearly0.5https://js.org/privacy.htmlyearly0.5https://js.org/terms.htmlyearly0.6https://js.org/yearly1 \ No newline at end of file +https://js.org/302.htmlyearly0.1https://js.org/404.htmlyearly0.1https://js.org/imprint.htmlyearly0.5https://js.org/privacy.htmlhttps://js.org/terms.htmlyearly0.6https://js.org/yearly1 \ No newline at end of file diff --git a/pages/privacy.html b/pages/privacy.html index 588dab352e9..2e4ba088889 100644 --- a/pages/privacy.html +++ b/pages/privacy.html @@ -1,163 +1,263 @@ --- layout: base title: Privacy -lastUpdate: May 20, 2018 +lastUpdate: December 12, 2021 sitemap: - priority: 0.5 - changefreq: yearly +priority: 0.5 +changefreq: yearly ---

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

- -

Owner/Contact

-

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany -

+

Owner / Contact

+

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

- -

Responsible for Editorial Content

-

Stefan Keim

- +

Types of Data collected

+

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Tracker; Usage + Data.

+

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy + policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely + provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified + otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for + JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are + free not to communicate this Data without consequences to the availability or the functioning of the + Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the + Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services + used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes + described in the present document and in the Cookie Policy, if available.

+

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that + they have the third party's consent to provide the Data to the Owner.

Mode and place of processing the Data

-

Methods of processing

-

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any time.

- +

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or + unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled + tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the + Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation + of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party + technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if + necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any + time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

    -
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of Personal Data is subject to European data protection law;
  • -
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual obligations thereof;
  • +
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be + allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely + on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of + Personal Data is subject to European data protection law;
  • +
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual + obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • -
  • processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in the Owner;
  • -
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.
  • +
  • processing is related to a task that is carried out in the public interest or in the exercise of official + authority vested in the Owner;
  • +
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. +
-

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

- +

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in + particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement + necessary to enter into a contract.

Place

-

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred Data, Users can check the section containing details about the processing of Personal Data.

-

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner using the information provided in the contact section.

- +

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the + processing are located.

Depending on the User's location, data transfers may involve transferring the + User's Data to a country other than their own. To find out more about the place of processing of such transferred + Data, Users can check the section containing details about the processing of Personal Data.

+

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or + to any international organization governed by public international law or set up by two or more countries, such as + the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer + takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner + using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

    -
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User shall be retained until such contract has been fully performed.
  • -
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the Owner within the relevant sections of this document or by contacting the Owner.
  • +
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User + shall be retained until such contract has been fully performed.
  • +
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed + to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the + Owner within the relevant sections of this document or by contacting the Owner.
-

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right to access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after expiration of the retention period.

- +

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such + processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data + for a longer period whenever required to do so for the performance of a legal obligation or upon order of an + authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of + access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after + expiration of the retention period.

The purposes of processing

-

The Data concerning the User is collected to allow the Owner to provide its Services, as well as for the following purposes: Traffic optimization and distribution, Displaying content from external platforms and Hosting and backend infrastructure.

-

Users can find further detailed information about such purposes of processing and about the specific Personal Data used for each purpose in the respective sections of this document.

- +

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal + obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third + parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, + Traffic optimization and distribution, Advertising and Displaying content from external platforms.

+

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed + information on the processing of Personal Data”.

+

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

- +

Advertising

+

This type of service allows User Data to be utilized for advertising communication purposes. These communications are + displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This + does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. +
Some of the services listed below may use Trackers to identify Users or they may use the behavioral + retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected + outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of + this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by + any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the + dedicated section "How to opt-out of interest-based advertising" in this document.

+

Carbon/BuySellAds (BuySellAds.com Inc.)

+

BuySellAds is an advertising service provided by BuySellAds.com Inc.

+

Personal Data processed: Tracker; Usage Data.

+

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

-

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

- +

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and + interact with them.
This type of service might still collect web traffic data for the pages where the service + is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

-

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

-

Personal Data collected: Usage Data.

-

Place of processing: United States – - Privacy Policy. Privacy Shield participant. -

- +

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by + GitHub, Inc.

+

Personal Data processed: Usage Data.

+

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

-

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

- +

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well + as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work + through geographically distributed servers, making it difficult to determine the actual location where the Personal + Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

-

Personal Data collected: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – - Privacy Policy. Privacy Shield participant. -

- +

Personal Data processed: various types of Data as specified in the privacy policy of the service.

+

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

-

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to which the contents that may contain Personal Information User are transferred.

- -

CloudFlare (Cloudflare)

-

CloudFlare is a traffic optimization and distribution service provided by CloudFlare Inc.
The way CloudFlare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

-

Personal Data collected: Cookies and various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – - Privacy Policy. -

- -

The rights of Users

+

This type of service allows JS.ORG to distribute their content using servers located across different countries and + to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way + these services are implemented. Their function is to filter communications between JS.ORG and the User's + browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to + which the contents that may contain Personal Information of the User are transferred.

+

Cloudflare (Cloudflare Inc.)

+

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is + integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's + browser, while also allowing analytical data from JS.ORG to be collected.

+

Personal Data processed: various types of Data as specified in the privacy policy of the service.

+

Place of processing: United States – Privacy Policy.

+

Information on opting out of interest-based advertising

+

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the + instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the + Digital Advertising + Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. + Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus + recommends that Users make use of these resources in addition to the information provided in this document.

+

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based + advertising on mobile apps.

+

Users may also opt-out of certain advertising features through applicable device settings, such as the device + advertising settings for mobile phones or ads settings in general.

+
+

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

    -
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have previously given their consent to the processing of their Personal Data.
  • -
  • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the dedicated section below.
  • -
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing processing.
  • -
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and ask for it to be updated or corrected.
  • -
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other than storing it.
  • -
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain circumstances, to obtain the erasure of their Data from the Owner.
  • -
  • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which the User is part of or on pre-contractual obligations thereof.
  • -
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection authority.
  • +
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have + previously given their consent to the processing of their Personal Data.
  • +
  • Object to processing of their Data. Users have the right to object to the processing of their + Data if the processing is carried out on a legal basis other than consent. Further details are provided in the + dedicated section below.
  • +
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, + obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing + processing.
  • +
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and + ask for it to be updated or corrected.
  • +
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to + restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other + than storing it.
  • +
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain + circumstances, to obtain the erasure of their Data from the Owner.
  • +
  • Receive their Data and have it transferred to another controller. Users have the right to + receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to + have it transmitted to another controller without any hindrance. This provision is applicable provided that the + Data is processed by automated means and that the processing is based on the User's consent, on a contract which + the User is part of or on pre-contractual obligations thereof.
  • +
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection + authority.
-

Details about the right to object to processing

-

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by providing a ground related to their particular situation to justify the objection.

-

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

- +

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner + or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by + providing a ground related to their particular situation to justify the objection.

+

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object + to that processing at any time without providing any justification. To learn, whether the Owner is processing + Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

-

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

- +

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this + document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and + always within one month.

Additional information about Data collection and processing

-

Legal action

-

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that the Owner may be required to reveal personal data upon request of public authorities.

- +

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible + legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that + the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

-

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon request.

- +

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and + contextual information concerning particular Services or the collection and processing of Personal Data upon + request.

System logs and maintenance

-

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

- +

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction + with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

-

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. Please see the contact information at the beginning of this document.

- +

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. + Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

-

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses honor the “Do Not Track” requests, please read their privacy policies.

- +

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses + honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

-

The Owner reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom.

Should the changes affect processing activities performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

- -

Definitions and legal references

+

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page + and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any + contact information available to the Owner. It is strongly recommended to check this page often, referring to the + date of the last modification listed at the bottom.

Should the changes affect processing activities + performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

+

Personal Data (or Data)

-

Any information that directly, indirectly, or in connection with other information — including a personal identification number — allows for the identification or identifiability of a natural person.

- +

Any information that directly, indirectly, or in connection with other information — including a personal + identification number — allows for the identification or identifiability of a natural person.

Usage Data

-

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.

- +

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: + the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform + Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of + the file received in response, the numerical code indicating the status of the server's answer (successful outcome, + error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the + various time details per visit (e.g., the time spent on each page within the Application) and the details about the + path followed within the Application with special reference to the sequence of pages visited, and other parameters + about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

-

Data Subject

The natural person to whom the Personal Data refers.

-

Data Processor (or Data Supervisor)

-

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the Controller, as described in this privacy policy.

- +

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the + Controller, as described in this privacy policy.

Data Controller (or Owner)

-

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

- -

JS.ORG (or this Application)

+

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines + the purposes and means of the processing of Personal Data, including the security measures concerning the operation + and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

+

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

-

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

- -

European Union (or EU)

-

Unless otherwise specified, all references made within this document to the European Union include all current member states to the European Union and the European Economic Area.

- -

Cookies

-

Small sets of data stored in the User's device.

- +

European Union (or EU)

+

Unless otherwise specified, all references made within this document to the European Union include all current member + states to the European Union and the European Economic Area.

+

Cookie

+

Cookies are Trackers consisting of small sets of data stored in the User's browser.

+

Tracker

+

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and + fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s + device.

Legal information

-

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

+

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of + Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file From 2b2a06b57ab7b66207fd6a01766a47260427ae88 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 10:13:58 +0100 Subject: [PATCH 096/145] privacy update --- docs/privacy.html | 8 ++++---- pages/privacy.html | 15 ++++++++------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/docs/privacy.html b/docs/privacy.html index 7d11145b555..5565d1cc5bd 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,5 +1,5 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Tracker; Usage -Data.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; +Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for @@ -41,7 +41,7 @@ expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, -Traffic optimization and distribution, Advertising and Displaying content from external platforms.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed +Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed information on the processing of Personal Data”.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below.
Some of the services listed below may use Trackers to identify Users or they may use the behavioral @@ -49,7 +49,7 @@ outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the -dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon/BuySellAds (BuySellAds.com Inc.)

BuySellAds is an advertising service provided by BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and +dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well diff --git a/pages/privacy.html b/pages/privacy.html index 2e4ba088889..390bbb39c09 100644 --- a/pages/privacy.html +++ b/pages/privacy.html @@ -15,8 +15,8 @@

Owner / Contact

Owner contact phone number: +49-1764-2080100

Types of Data collected

-

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Tracker; Usage - Data.

+

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; + Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified @@ -87,7 +87,7 @@

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, - Traffic optimization and distribution, Advertising and Displaying content from external platforms.

+ Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed information on the processing of Personal Data”.

@@ -103,11 +103,12 @@

Advertising

this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the dedicated section "How to opt-out of interest-based advertising" in this document.

-

Carbon/BuySellAds (BuySellAds.com Inc.)

-

BuySellAds is an advertising service provided by BuySellAds.com Inc.

+

Carbon Ads (BuySellAds.com Inc.)

+

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service From 651774623676583805b2995e1ac635de84a96815 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 11:20:24 +0100 Subject: [PATCH 097/145] logo IE 11 fix ;-) --- docs/302.html | 7 ++-- docs/404.html | 7 ++-- docs/imprint.html | 2 +- docs/index.html | 7 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- layouts/_default/base.html | 67 +++++++++++++++++++++----------------- 7 files changed, 53 insertions(+), 41 deletions(-) diff --git a/docs/302.html b/docs/302.html index d819ca3cc50..a216cda4f72 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,5 @@ -Error 302 - JS.ORG

302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
Donatefor registrar fees +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file +4K

WEBDESIGN: 20zweinull
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index e8e4220a47f..2efabca6fbe 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,5 @@ -Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
Donatefor registrar fees +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file +4K

WEBDESIGN: 20zweinull
\ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 77049754c98..55d5fc0b676 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1 @@ -Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 9d1ab410354..9fed9d68eb4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
Twitter +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! @@ -24,6 +24,7 @@

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. -But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

\ No newline at end of file +4K

WEBDESIGN: 20zweinull
\ No newline at end of file diff --git a/docs/privacy.html b/docs/privacy.html index 5565d1cc5bd..47771db07d0 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,4 +1,4 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified diff --git a/docs/terms.html b/docs/terms.html index 0517e5c6fe7..0983e284c6e 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1 +1 @@ -Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 23efc8a28d5..568d3dafdb0 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -67,18 +67,20 @@
{{if .IsHome}} {{else}} @@ -88,14 +90,16 @@ {{if .Params.full}} {{end}}
- {{ .Content }} + {{ .Content }}
@@ -105,10 +109,13 @@
{{else}} @@ -116,24 +123,26 @@ {{if .IsHome}} {{else}} {{end}}
- WEBDESIGN: 20zweinull - + WEBDESIGN: 20zweinull + {{ end -}} - + {{if .Params.full}} {{if $script:= resources.Get "main.ts" }} {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" From cd2eec428851f0e56a2021cc2aef8bf8e5571aa4 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 11:52:51 +0100 Subject: [PATCH 098/145] unclosed action --- layouts/_default/base.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 568d3dafdb0..cebf986b45a 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -42,8 +42,7 @@ {{if $main := resources.Get "main.scss" }} {{$options := dict "outputStyle" "compressed"}} - {{$main := $main| toCSS - $options }} + {{$main := $main| toCSS $options }} {{ (printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML }} {{end}} From 26da0b1486c691bccfda9b9a54143c425f27a992 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 11:53:56 +0100 Subject: [PATCH 099/145] unclosed action --- layouts/_default/base.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/layouts/_default/base.html b/layouts/_default/base.html index cebf986b45a..568d3dafdb0 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -42,7 +42,8 @@ {{if $main := resources.Get "main.scss" }} {{$options := dict "outputStyle" "compressed"}} - {{$main := $main| toCSS $options }} + {{$main := $main| toCSS + $options }} {{ (printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML }} {{end}} From 45355a3479c1aff33a55c8f3a946e999e1262674 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 12:03:27 +0100 Subject: [PATCH 100/145] unclosed action --- layouts/_default/base.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 568d3dafdb0..cebf986b45a 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -42,8 +42,7 @@ {{if $main := resources.Get "main.scss" }} {{$options := dict "outputStyle" "compressed"}} - {{$main := $main| toCSS - $options }} + {{$main := $main| toCSS $options }} {{ (printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML }} {{end}} From 233ab0794dc8f241fd6c0d9a5571bf1645ea4b27 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Sun, 12 Dec 2021 12:21:56 +0100 Subject: [PATCH 101/145] hugo v90 --- .hugo_build.lock | 0 docs/302.html | 70 ++++++++- docs/404.html | 69 ++++++++- docs/imprint.html | 71 ++++++++- docs/index.html | 116 +++++++++++++-- docs/main.js.map | 2 +- docs/privacy.html | 289 +++++++++++++++++++++++++++++-------- docs/terms.html | 104 ++++++++++++- layouts/_default/base.html | 3 +- 9 files changed, 642 insertions(+), 82 deletions(-) create mode 100644 .hugo_build.lock diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docs/302.html b/docs/302.html index a216cda4f72..c378ac53c16 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,5 +1,69 @@ -Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) after 5 seconds.
Redirect service provided by redirect.pizza

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ + + \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 2efabca6fbe..2b8c3e2cfac 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,5 +1,68 @@ -Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected after 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ + + \ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 55d5fc0b676..136a34dedad 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1 +1,70 @@ -Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file + + + + +Imprint - JS.ORG + + + + + + + + + + + + + + +
+ + +
+
+
+
+

Imprint

+

JS.ORG's focus is to provide free subdomains for the JavaScript community.

+

Owner/Contact

+

Stefan Keim +
Dorfstraße 1A +
86947 Schwabhausen/Weil +
Germany +

+

+Owner contact email adress: admin@js.org +
+Owner contact phone number: +49-1764-2080100 +

+

Data Protection Supervisory Authority

+

Promenade 27 (Castle) +
91522 Ansbach +
Germany +
Phone: +49 (0) 981 53 1300 +
Fax: +49 (0) 981 53 98 1300 +
Web: www.lda.bayern.de +
Email: poststelle@lda.bayern.de +

+

Responsible for Editorial Content

+

Stefan Keim

+

Terms of Use for Published Contact Data

+

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

+

Disclaimer

+

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

+

Liability for Links

+

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

+
+ + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 9fed9d68eb4..c4d520a5218 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,30 +1,124 @@ -JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out + + + + + +JS.ORG - the JavaScript organization + + + + + + + + + + + + + + + + + + + + + + +

+
+
+ +
+
+

Are you a JavaScript developer looking for free webspace to host your project? +
Check out GitHub -Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! -Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page +Pages. To make things perfect we provide you with a free and sleek URL like one of these: +

+

+https://foo.js.org +

+

Your page just has to provide some reasonable content with a clear connection to JavaScript! +Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

+
+ +
+

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here. To get a head start you can simply use the generator with one of the provided themes and add some content -to your new page.

2

Now you should determine your js.org subdomain: either choose your username or the name of your +to your new page. +
+ +
+

2

Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the -wiki.

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single +wiki. +
+ +
+

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom -URLs at GitHub Pages Help.

4

To finish the procedure, make a pull request in our GitHub +URLs at GitHub Pages Help. +
+ +
+

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within -24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).
+
Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. -But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

Redirect service provided by redirect.pizza

+ \ No newline at end of file +4K + +
+
+
+
+WEBDESIGN: 20zweinull + + + + + \ No newline at end of file diff --git a/docs/main.js.map b/docs/main.js.map index 76fb1ac7448..bbc5b602baa 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -2,6 +2,6 @@ "version": 3, "sources": [""], "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n if (!document.getElementById('_carbonads_projs'))\r\n el.classList.add('blocked');\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,GACP,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,GACP,GAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,WAAc,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,GACP,OAAO,OAAS,KACZ,AAAI,GAAK,SAAS,eAAe,KACxB,UAAS,eAAe,qBACzB,EAAG,UAAU,IAAI,eAG9B,OAEH,AAAC,UAAU,GACP,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,IACT,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,GAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,KACV,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,KACV,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,AAAI,GAAK,SAAS,eAAe,KACxB,UAAS,eAAe,qBACzB,EAAG,UAAU,IAAI,eAG9B,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 47771db07d0..0d93c8e8610 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,5 +1,41 @@ -Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; -Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy + + + + +Privacy - JS.ORG + + + + + + + + + + + + + + +

+ + +
+
+
+
+

Privacy Policy of JS.ORG

+

JS.ORG collects some Personal Data from its Users.

+

Owner / Contact

+

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

+

+Owner contact email adress: admin@js.org
+Owner contact phone number: +49-1764-2080100 +

+

Types of Data collected

+

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; +Tracker.

+

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for @@ -8,111 +44,244 @@ Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes -described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that -they have the third party's consent to provide the Data to the Owner.

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or +described in the present document and in the Cookie Policy, if available.

+

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that +they have the third party's consent to provide the Data to the Owner.

+

Mode and place of processing the Data

+

Methods of processing

+

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any -time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be +time.

    +

    Legal basis of processing

    +

    The Owner may process Personal Data relating to Users if one of the following applies:

    +
      +
    • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of -Personal Data is subject to European data protection law;
    • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual -obligations thereof;
    • processing is necessary for compliance with a legal obligation to which the Owner is subject;
    • processing is related to a task that is carried out in the public interest or in the exercise of official -authority vested in the Owner;
    • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

    In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in +Personal Data is subject to European data protection law;

  • +
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual +obligations thereof;
  • +
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • +
  • processing is related to a task that is carried out in the public interest or in the exercise of official +authority vested in the Owner;
  • +
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. +
  • +
+

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement -necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the -processing are located.

Depending on the User's location, data transfers may involve transferring the +necessary to enter into a contract.

+

Place

+

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the +processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred -Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or +Data, Users can check the section containing details about the processing of Personal Data.

+

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as -the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer +the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner -using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User -shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed +using the information provided in the contact section.

    +

    Retention time

    +

    Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

    +

    Therefore:

    +
      +
    • Personal Data collected for purposes related to the performance of a contract between the Owner and the User +shall be retained until such contract has been fully performed.
    • +
    • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the -Owner within the relevant sections of this document or by contacting the Owner.

    The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such +Owner within the relevant sections of this document or by contacting the Owner.

  • +
+

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an -authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of +authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after -expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal +expiration of the retention period.

+

The purposes of processing

+

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, -Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed -information on the processing of Personal Data”.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are -displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This -does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below.
Some of the services listed below may use Trackers to identify Users or they may use the behavioral +Traffic optimization and distribution, Displaying content from external platforms and Advertising.

+

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed +information on the processing of Personal Data”.

+
+

Detailed information on the processing of Personal Data

+

Personal Data is collected for the following purposes and using the following services:

+

Advertising

+

This type of service allows User Data to be utilized for advertising communication purposes. These communications are +displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This +does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. +
Some of the services listed below may use Trackers to identify Users or they may use the behavioral retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected -outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of +outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the -dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and -interact with them.
This type of service might still collect web traffic data for the pages where the service -is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by -GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well +dedicated section "How to opt-out of interest-based advertising" in this document.

+

Carbon Ads (BuySellAds.com Inc.)

+

Carbon Ads is an advertising service provided BuySellAds.com Inc.

+

Personal Data processed: Tracker; Usage Data.

+

Place of processing: United States – Privacy Policy.

+

Displaying content from external platforms

+

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and +interact with them.
This type of service might still collect web traffic data for the pages where the service +is installed, even when Users do not use it.

+

GitHub button and social widgets (GitHub Inc.)

+

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by +GitHub, Inc.

+

Personal Data processed: Usage Data.

+

Place of processing: United States – Privacy Policy.

+

Hosting and backend infrastructure

+

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal -Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and -to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way +Data are stored.

+

GitHub Pages (GitHub Inc.)

+

GitHub Pages is a hosting service provided by GitHub, Inc.

+

Personal Data processed: various types of Data as specified in the privacy policy of the service.

+

Place of processing: United States – Privacy Policy.

+

Traffic optimization and distribution

+

This type of service allows JS.ORG to distribute their content using servers located across different countries and +to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's -browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to -which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is +browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to +which the contents that may contain Personal Information of the User are transferred.

+

Cloudflare (Cloudflare Inc.)

+

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's -browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the +browser, while also allowing analytical data from JS.ORG to be collected.

+

Personal Data processed: various types of Data as specified in the privacy policy of the service.

+

Place of processing: United States – Privacy Policy.

+

Information on opting out of interest-based advertising

+

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the +nofollow" href=https://thenai.org/about-online-advertising/>Network Advertising Initiative (US) and the Digital Advertising Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus -recommends that Users make use of these resources in addition to the information provided in this document.

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based -advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device -advertising settings for mobile phones or ads settings in general.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have -previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their +recommends that Users make use of these resources in addition to the information provided in this document.

    +

    The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +advertising on mobile apps.

    +

    Users may also opt-out of certain advertising features through applicable device settings, such as the device +advertising settings for mobile phones or ads settings in general.

    +
    +

    The rights of Users

    +

    Users may exercise certain rights regarding their Data processed by the Owner.

    +

    In particular, Users have the right to do the following:

    +
      +
    • Withdraw their consent at any time. Users have the right to withdraw consent where they have +previously given their consent to the processing of their Personal Data.
    • +
    • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the -dedicated section below.
    • Access their Data. Users have the right to learn if Data is being processed by the Owner, +dedicated section below.
    • +
    • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing -processing.
    • Verify and seek rectification. Users have the right to verify the accuracy of their Data and -ask for it to be updated or corrected.
    • Restrict the processing of their Data. Users have the right, under certain circumstances, to +processing.
    • +
    • Verify and seek rectification. Users have the right to verify the accuracy of their Data and +ask for it to be updated or corrected.
    • +
    • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other -than storing it.
    • Have their Personal Data deleted or otherwise removed. Users have the right, under certain -circumstances, to obtain the erasure of their Data from the Owner.
    • Receive their Data and have it transferred to another controller. Users have the right to +than storing it.
    • +
    • Have their Personal Data deleted or otherwise removed. Users have the right, under certain +circumstances, to obtain the erasure of their Data from the Owner.
    • +
    • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which -the User is part of or on pre-contractual obligations thereof.
    • Lodge a complaint. Users have the right to bring a claim before their competent data protection -authority.

    Details about the right to object to processing

    Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner +the User is part of or on pre-contractual obligations thereof.

  • +
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection +authority.
  • +
+

Details about the right to object to processing

+

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by -providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object +providing a ground related to their particular situation to justify the objection.

+

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing -Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this +Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

+

How to exercise these rights

+

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and -always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible +always within one month.

+

Additional information about Data collection and processing

+

Legal action

+

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that -the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and +the Owner may be required to reveal personal data upon request of public authorities.

+

Additional information about User's Personal Data

+

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon -request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction -with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. -Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses -honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page +request.

+

System logs and maintenance

+

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction +with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

+

Information not contained in this policy

+

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. +Please see the contact information at the beginning of this document.

+

How “Do Not Track” requests are handled

+

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses +honor the “Do Not Track” requests, please read their privacy policies.

+

Changes to this privacy policy

+

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the -date of the last modification listed at the bottom.

Should the changes affect processing activities -performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal -identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: +date of the last modification listed at the bottom.

Should the changes affect processing activities +performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

+ +

Personal Data (or Data)

+

Any information that directly, indirectly, or in connection with other information — including a personal +identification number — allows for the identification or identifiability of a natural person.

+

Usage Data

+

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters -about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the -Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines +about the device operating system and/or the User's IT environment.

+

User

+

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

+

Data Subject

+

The natural person to whom the Personal Data refers.

+

Data Processor (or Data Supervisor)

+

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the +Controller, as described in this privacy policy.

+

Data Controller (or Owner)

+

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation -and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member -states to the European Union and the European Economic Area.

Cookie

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and +and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

+

JS.ORG (or this Application)

+

The means by which the Personal Data of the User is collected and processed.

+

Service

+

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

+

European Union (or EU)

+

Unless otherwise specified, all references made within this document to the European Union include all current member +states to the European Union and the European Economic Area.

+

Cookie

+

Cookies are Trackers consisting of small sets of data stored in the User's browser.

+

Tracker

+

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s -device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of -Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file +device.

+

Legal information

+

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of +Regulation (EU) 2016/679 (General Data Protection Regulation).

+

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

+
+ + + \ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 0983e284c6e..9f91ee5f008 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1 +1,103 @@ -Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file + + + + +Terms of Service - JS.ORG + + + + + + + + + + + + + + +
+ + +
+
+
+
+

Terms and Conditions of JS.ORG

+

§ 1 Principles

+
    +
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. +
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. +
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. +
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. +
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
+

§ 2 Availability and reservations

+

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

+

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

+

§ 3 Termination

+
    +
  1. Both sides can terminate at any time without stating any reasons.
  2. +
  3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  4. +
  5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
  6. +
+

§ 4 Rights and Duties of the user

+

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

+

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

+

In particular providing content like the following is prohibited:

+
    +
  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • +
  • Phishing, scam, malware, viruses
  • +
  • Copyright offense
  • +
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • +
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • +
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • +
  • Pornography or content intended for adults only
  • +
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • +
  • File or Image hosting
  • +
  • Sites with other illegal content
  • +
+

A violation of these rules will result in immediate deletion of the JS.ORG domain.

+

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

+

§ 5 Limitation of Liability

+
    +
  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • +
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • +
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • +
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • +
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • +
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • +
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
  • +
+

§ 6 Name of the subdomain

+

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

+

§ 7 Absolute ban of spam

+

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

+

§ 8 Manipulation

+

It is prohibited to auto retrieve masses of JS.ORG subdomains.

+

§ 9 Responsibility

+

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

+

§ 10 Place of jurisdiction

+

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

+

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

+

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

+

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

+

§ 11 Change of Terms

+

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

+

§ 12 Severability clause

+

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

+
+ + + \ No newline at end of file diff --git a/layouts/_default/base.html b/layouts/_default/base.html index cebf986b45a..da5837dea57 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -144,8 +144,7 @@ {{if .Params.full}} {{if $script:= resources.Get "main.ts" }} - {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" - (cond .Site.IsServer "inline" "external")}} + {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" (cond .Site.IsServer "inline" "external")}} {{ $script := $script | js.Build $options }} {{ end }} From ae2d73f863249d4aca11ef01a3ee04fc72b6b103 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Mon, 7 Feb 2022 17:28:37 +0100 Subject: [PATCH 102/145] adcount --- .gitignore | 1 + assets/main.ts | 5 +++-- docs/main.js | 2 +- docs/main.js.map | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 598a0a33798..aa46be9cc7d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ _cache .vscode package.json +.pnpm-debug.log diff --git a/assets/main.ts b/assets/main.ts index 191278c3a8b..549b065d3aa 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -16,8 +16,9 @@ const search = window.location.search.slice(1, 20); (function (el: any) { window.onload = () => { if (el = document.getElementById(el)) { - if (!document.getElementById('_carbonads_projs')) - el.classList.add('blocked'); + let cad = document.getElementById('_carbonads_projs') + if (!cad) el.classList.add('blocked'); + fetch(`//adcount.js.org/${cad ? 'cad' : 'nocad'}`) } } })('cad'); diff --git a/docs/main.js b/docs/main.js index 1fff3f64099..648174130b1 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var r=window.location.search.slice(1,20);(function(e){r&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(r&&(e=document.getElementById(e))){let t=r.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{(e=document.getElementById(e))&&(document.getElementById("_carbonads_projs")||e.classList.add("blocked"))}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),s=document.createElement("script");window[i]=a=>{e.innerHTML=((a.data.watchers||0)/1e3).toFixed(1)+"K"},s.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(s,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;r&&t.unshift(r.substring(0,8));let i=1e3/4,s=1,a=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{var a=window.location.search.slice(1,20);(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`//adcount.js.org/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,r=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n if (!document.getElementById('_carbonads_projs'))\r\n el.classList.add('blocked');\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,AAAI,GAAK,SAAS,eAAe,KACxB,UAAS,eAAe,qBACzB,EAAG,UAAU,IAAI,eAG9B,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`//adcount.js.org/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,oBAAoB,EAAM,MAAQ,eAGjD,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } From 42970d0f548a301a63219f45ea734168493bdbdb Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Mon, 7 Feb 2022 22:49:16 +0100 Subject: [PATCH 103/145] count --- assets/main.ts | 2 +- docs/main.js | 2 +- docs/main.js.map | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index 549b065d3aa..d52ceb02a15 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -18,7 +18,7 @@ const search = window.location.search.slice(1, 20); if (el = document.getElementById(el)) { let cad = document.getElementById('_carbonads_projs') if (!cad) el.classList.add('blocked'); - fetch(`//adcount.js.org/${cad ? 'cad' : 'nocad'}`) + fetch(`/count/${cad ? 'cad' : 'nocad'}`) } } })('cad'); diff --git a/docs/main.js b/docs/main.js index 648174130b1..708b99e4e63 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1,20);(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`//adcount.js.org/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,r=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{var a=window.location.search.slice(1,20);(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),c=document.createElement("script");window[i]=r=>{e.innerHTML=((r.data.watchers||0)/1e3).toFixed(1)+"K"},c.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(c,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,c=1,r=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,s+s*o/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`//adcount.js.org/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,oBAAoB,EAAM,MAAQ,eAGjD,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } From 2a7cc97dc0d735230b04f18bd28622b0e9d39df8 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Thu, 24 Feb 2022 10:01:23 +0100 Subject: [PATCH 104/145] In thoughts with the people of Ukraine --- assets/_vars.scss | 2 +- assets/main.scss | 36 ++++++++++++++++++++++++++++++++++++ docs/302.html | 2 +- docs/404.html | 2 +- docs/imprint.html | 2 +- docs/index.html | 4 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- 8 files changed, 44 insertions(+), 8 deletions(-) diff --git a/assets/_vars.scss b/assets/_vars.scss index 28bbb136943..ef919b420ef 100644 --- a/assets/_vars.scss +++ b/assets/_vars.scss @@ -1,6 +1,6 @@ $txt: #000; $alt: #FFF; -$key: #FFE70B; +$key: #ffd700;//#FFE70B; $blue: #0070F0; $gray: #666; diff --git a/assets/main.scss b/assets/main.scss index 225804c53be..3f184da6c7e 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -29,6 +29,42 @@ html { background-size: 500px 500px, 500px 500px, 250px 250px, 250px 250px;*/ } + +body::before { + content: "\"Peace isn't everything, but everything's nothing without peace\" - Willi Brandt"; + display: block; + width:100%; + z-index: -1; + color:#6182a8; + margin:-5vh auto 5vh; + text-align: center; + font-size: 1rem; + font-style: italic; + opacity: 0; + animation: fadeIn 1s 3s ease-out forwards; +} +body::after { + content: " "; + position: fixed; + top: 0; + right: 0; + left: 0; + height: 50vh; + z-index: -2; + background: #0057b8; + opacity: 0; + animation: fadeIn 1s 2s ease-out forwards; +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + body { padding: 0 5%; font-family: "Source Sans Pro", Arial, Helvetica, sans-serif; diff --git a/docs/302.html b/docs/302.html index c378ac53c16..d5cf101cf99 100644 --- a/docs/302.html +++ b/docs/302.html @@ -21,7 +21,7 @@ - + diff --git a/docs/404.html b/docs/404.html index 2b8c3e2cfac..7bda1dfd18b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -21,7 +21,7 @@ - + diff --git a/docs/imprint.html b/docs/imprint.html index 136a34dedad..416993b6251 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/index.html b/docs/index.html index c4d520a5218..a7a3ff6fa5a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,8 +21,8 @@ - - + + diff --git a/docs/privacy.html b/docs/privacy.html index 0d93c8e8610..7ccc49eff3d 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/terms.html b/docs/terms.html index 9f91ee5f008..74eeaf51178 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -14,7 +14,7 @@ - +
From 4c7c64f12ee7f70abc7a8ecd1a34bfee86e8fce2 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Thu, 24 Feb 2022 13:05:35 +0100 Subject: [PATCH 105/145] In thoughts with the people of Ukraine --- .pnpm-debug.log | 19 ++++++++++++++----- assets/index.scss | 35 +++++++++++++++++++++++++++++++++++ assets/main.scss | 33 --------------------------------- docs/302.html | 2 +- docs/404.html | 2 +- docs/imprint.html | 2 +- docs/index.html | 4 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- 9 files changed, 56 insertions(+), 45 deletions(-) diff --git a/.pnpm-debug.log b/.pnpm-debug.log index 73cd176cdac..a1d9b529395 100644 --- a/.pnpm-debug.log +++ b/.pnpm-debug.log @@ -2,13 +2,22 @@ "0 debug pnpm:scope": { "selected": 1 }, - "1 error pnpm": { - "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", + "1 info pnpm": { + "err": { + "name": "Error", + "message": "not found: generate", + "code": "ENOENT", + "stack": "Error: not found: generate\n at getNotFoundError (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41555:51)\n at Function.whichSync [as sync] (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41632:13)\n at getCommandAbsolutePathSync (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43197:44)\n at default_1 (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43206:32)\n at C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:178047:39" + } + }, + "2 error pnpm": { + "code": "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL", + "prefix": "D:\\User\\Documents\\privat\\JS.ORG\\js.org", "err": { "name": "pnpm", - "message": "No package.json (or package.yaml, or package.json5) was found in \"D:\\User\\Documents\\privat\\JS.ORG\\js.org\".", - "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", - "stack": "pnpm: No package.json (or package.yaml, or package.json5) was found in \"D:\\User\\Documents\\privat\\JS.ORG\\js.org\".\n at readProjectManifest (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41090:13)\n at async Object.readProjectManifestOnly (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41094:28)\n at async readProjectManifestOnly (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41313:24)\n at async Object.handler (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:129562:24)\n at async C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133754:20\n at async run (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133729:34)\n at async runPnpm (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133940:5)\n at async C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:133932:7" + "message": "not found: generate", + "code": "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL", + "stack": "Error: not found: generate\n at getNotFoundError (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41555:51)\n at Function.whichSync [as sync] (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41632:13)\n at getCommandAbsolutePathSync (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43197:44)\n at default_1 (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43206:32)\n at C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:178047:39" } } } \ No newline at end of file diff --git a/assets/index.scss b/assets/index.scss index a9d1cce612c..43660f646fd 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -1,5 +1,40 @@ @import "vars"; +body::before { + content: "\"Peace is not everything, but without peace, everything is nothing\" - Willi Brandt"; + display: block; + width:100%; + z-index: -1; + color:#6182a8; + margin:-5vh auto 5vh; + text-align: center; + font-size: 1rem; + font-style: italic; + opacity: 0; + animation: fadeIn 1s 3s ease-out forwards; +} +body::after { + content: " "; + position: fixed; + top: 0; + right: 0; + left: 0; + height: 50vh; + z-index: -2; + background: #0057b8; + opacity: 0; + animation: fadeIn 1s 2s ease-out forwards; +} + +@keyframes fadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} + p { margin: 2em 0; } diff --git a/assets/main.scss b/assets/main.scss index 3f184da6c7e..bcd9efc19e1 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -30,40 +30,7 @@ html { } -body::before { - content: "\"Peace isn't everything, but everything's nothing without peace\" - Willi Brandt"; - display: block; - width:100%; - z-index: -1; - color:#6182a8; - margin:-5vh auto 5vh; - text-align: center; - font-size: 1rem; - font-style: italic; - opacity: 0; - animation: fadeIn 1s 3s ease-out forwards; -} -body::after { - content: " "; - position: fixed; - top: 0; - right: 0; - left: 0; - height: 50vh; - z-index: -2; - background: #0057b8; - opacity: 0; - animation: fadeIn 1s 2s ease-out forwards; -} -@keyframes fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} body { padding: 0 5%; diff --git a/docs/302.html b/docs/302.html index d5cf101cf99..c4510d5338d 100644 --- a/docs/302.html +++ b/docs/302.html @@ -21,7 +21,7 @@ - + diff --git a/docs/404.html b/docs/404.html index 7bda1dfd18b..28a45abae7f 100644 --- a/docs/404.html +++ b/docs/404.html @@ -21,7 +21,7 @@ - + diff --git a/docs/imprint.html b/docs/imprint.html index 416993b6251..7f3a04e33db 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/index.html b/docs/index.html index a7a3ff6fa5a..692d6a7af18 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,8 +21,8 @@ - - + + diff --git a/docs/privacy.html b/docs/privacy.html index 7ccc49eff3d..07adb40111f 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/terms.html b/docs/terms.html index 74eeaf51178..9a51939d1a1 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -14,7 +14,7 @@ - +
From 7a80b7a27f33af19b10dbc34e02b70caa1b85d77 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 25 Feb 2022 23:35:45 +0100 Subject: [PATCH 106/145] disabled prefers-color-scheme --- assets/index.scss | 2 + assets/main.scss | 2 + docs/302.html | 201 ++++++++++++++------- docs/404.html | 198 +++++++++++++------- docs/imprint.html | 159 +++++++++++----- docs/index.html | 310 +++++++++++++++++++++----------- docs/privacy.html | 448 ++++++++++++++++++++++++++-------------------- docs/sitemap.xml | 28 ++- docs/terms.html | 221 +++++++++++++++-------- 9 files changed, 1019 insertions(+), 550 deletions(-) diff --git a/assets/index.scss b/assets/index.scss index 43660f646fd..24de459afd1 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -167,6 +167,7 @@ section { } } +/* @media (prefers-color-scheme: dark) { #typewriter { .active { @@ -214,3 +215,4 @@ section { } } } +*/ diff --git a/assets/main.scss b/assets/main.scss index bcd9efc19e1..16655d927ec 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -362,6 +362,7 @@ footer { } } +/* @media (prefers-color-scheme: dark) { html { scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); @@ -421,3 +422,4 @@ footer { } } } +*/ \ No newline at end of file diff --git a/docs/302.html b/docs/302.html index c4510d5338d..599154818ab 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,69 +1,144 @@ - + + + - - -Error 302 - JS.ORG - - - - - - - - - - - - - - - - - - - - + + + + + Error 302 - JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - -
-
-Twitter -tweet this! +
+ + + + + + + + + + + + + + +
+ + + + +
+
+
+ + +
+ 302 REDIRECT +

+ We're sorry, but the subdomain  does not exist.
+ You will be redirected (again) after 5 seconds.
+ Redirect service provided by redirect.pizza +

+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
-
-
-
-
-302 REDIRECT -

-We're sorry, but the subdomain  does not exist.
-You will be redirected (again) after 5 seconds.
-Redirect service provided by redirect.pizza -

-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
-
- - + + + + + + + + + + + \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 28a45abae7f..acebe3f4b5a 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,68 +1,142 @@ - + + + - - -Error 404 - JS.ORG - - - - - - - - - - - - - - - - - - - - + + + + + Error 404 - JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - -
-
-Twitter -tweet this! +
+ + + + + + + + + + + + + + +
+ + + + +
+
+
+ +
+

+ ERROR 404 +
We're sorry, but the page you requested could not be found +
You will be redirected after 5 seconds. +

+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
-
-
-
-
-

-ERROR 404 -
We're sorry, but the page you requested could not be found -
You will be redirected after 5 seconds. -

-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
-
- - + + + + + + + + + + \ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 7f3a04e33db..d2fcd298bbd 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1,70 +1,133 @@ - + + + - - -Imprint - JS.ORG - - - - - - - - - - - - + + + + + Imprint - JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - -
-
-
-
-

Imprint

+
+ + + + + + + + + + + + + + +
+ + +
+
+
+

Imprint

+

JS.ORG's focus is to provide free subdomains for the JavaScript community.

+

Owner/Contact

Stefan Keim -
Dorfstraße 1A -
86947 Schwabhausen/Weil -
Germany +
Dorfstraße 1A +
86947 Schwabhausen/Weil +
Germany

-Owner contact email adress: admin@js.org -
-Owner contact phone number: +49-1764-2080100 + Owner contact email adress: admin@js.org +
+ Owner contact phone number: +49-1764-2080100

+

Data Protection Supervisory Authority

Promenade 27 (Castle) -
91522 Ansbach -
Germany -
Phone: +49 (0) 981 53 1300 -
Fax: +49 (0) 981 53 98 1300 -
Web: www.lda.bayern.de -
Email: poststelle@lda.bayern.de +
91522 Ansbach +
Germany +
Phone: +49 (0) 981 53 1300 +
Fax: +49 (0) 981 53 98 1300 +
Web: www.lda.bayern.de +
Email: poststelle@lda.bayern.de

+

Responsible for Editorial Content

Stefan Keim

+

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

+

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

+

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

-
- + +
+ + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 692d6a7af18..0f589323e43 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,124 +1,220 @@ - + + + - - - -JS.ORG - the JavaScript organization - - - - - - - - - - - - - - - - - - - - + + + + + + + JS.ORG - the JavaScript organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
-
-
- -
-
-

Are you a JavaScript developer looking for free webspace to host your project? -
Check out -GitHub -Pages. To make things perfect we provide you with a free and sleek URL like one of these: +

+ +
+ + + + + + + + + +
+ + +
+ + + + +
+
+
+ +

Are you a JavaScript developer looking for free webspace to host your project? +
Check out + GitHub + Pages. To make things perfect we provide you with a free and sleek URL like one of these:

+

-https://foo.js.org + https://foo.js.org

+

Your page just has to provide some reasonable content with a clear connection to JavaScript! -Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

+ Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

+ + +
- -
-

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page -by following -the instructions -here. To get a head start you can simply use the generator with one -of the provided themes and add some content -to your new page. -
- -
-

2

Now you should determine your js.org subdomain: either choose your username or the name of your -repo according -to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be -possible). More details in the -wiki. -
- -
-

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single -line matching -the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the -section -about -Custom -URLs at GitHub Pages Help. -
- -
-

4

To finish the procedure, make a pull request in our GitHub -repository that adds your -subdomain to the list of existing JS.ORG domains. Your new URL should go live within -24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). -
- + +
+

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page + by following + the instructions + here. To get a head start you can simply use the generator with one + of the provided themes and add some content + to your new page. +
+ +
+

2

Now you should determine your js.org subdomain: either choose your username or the name of your + repo according + to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be + possible). More details in the + wiki. +
+ +
+

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single + line matching + the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the + section + about + Custom + URLs at GitHub Pages Help. +
+ +
+

4

To finish the procedure, make a pull request in our GitHub + repository that adds your + subdomain to the list of existing JS.ORG domains. Your new URL should go live within + 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). +
+
-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ + +
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

-ImportantAs the owner of the repository, you keep complete control over your published content. -But that also means that all rights and duties that come along with publishing a website remain in your responsibility. + ImportantAs the owner of the repository, you keep complete control over your published content. + But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

-Have a look at our Terms and Conditions for more details. + Have a look at our Terms and Conditions for more details.

-

-Redirect service provided by redirect.pizza + + + +

+ Redirect service provided by redirect.pizza

-
- - + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/privacy.html b/docs/privacy.html index 07adb40111f..4ed3b9faff4 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,287 +1,351 @@ - + + + - - -Privacy - JS.ORG - - - - - - - - - - - - + + + + + Privacy - JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - -
-
-
-
-

Privacy Policy of JS.ORG

+
+ + + + + + + + + + + + + + +
+ + +
+
+
+

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

-

Owner / Contact

-

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

+

Owner / Contact

+

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

-Owner contact email adress: admin@js.org
-Owner contact phone number: +49-1764-2080100 + Owner contact email adress: admin@js.org
+ Owner contact phone number: +49-1764-2080100

-

Types of Data collected

+

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; -Tracker.

+ Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy -policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely -provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified -otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for -JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are -free not to communicate this Data without consequences to the availability or the functioning of the -Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the -Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services -used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes -described in the present document and in the Cookie Policy, if available.

+ policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely + provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified + otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for + JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are + free not to communicate this Data without consequences to the availability or the functioning of the + Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the + Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services + used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes + described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that -they have the third party's consent to provide the Data to the Owner.

-

Mode and place of processing the Data

+ they have the third party's consent to provide the Data to the Owner.

+

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or -unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled -tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the -Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation -of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party -technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if -necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any -time.

+ unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled + tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the + Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation + of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party + technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if + necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any + time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

    -
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be -allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely -on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of -Personal Data is subject to European data protection law;
  • -
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual -obligations thereof;
  • -
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • -
  • processing is related to a task that is carried out in the public interest or in the exercise of official -authority vested in the Owner;
  • -
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. -
  • +
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be + allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely + on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of + Personal Data is subject to European data protection law;
  • +
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual + obligations thereof;
  • +
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • +
  • processing is related to a task that is carried out in the public interest or in the exercise of official + authority vested in the Owner;
  • +
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. +

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in -particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement -necessary to enter into a contract.

+ particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement + necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the -processing are located.

Depending on the User's location, data transfers may involve transferring the -User's Data to a country other than their own. To find out more about the place of processing of such transferred -Data, Users can check the section containing details about the processing of Personal Data.

+ processing are located.

Depending on the User's location, data transfers may involve transferring the + User's Data to a country other than their own. To find out more about the place of processing of such transferred + Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or -to any international organization governed by public international law or set up by two or more countries, such as -the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer -takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner -using the information provided in the contact section.

+ to any international organization governed by public international law or set up by two or more countries, such as + the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer + takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner + using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

    -
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User -shall be retained until such contract has been fully performed.
  • -
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed -to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the -Owner within the relevant sections of this document or by contacting the Owner.
  • +
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User + shall be retained until such contract has been fully performed.
  • +
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed + to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the + Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such -processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data -for a longer period whenever required to do so for the performance of a legal obligation or upon order of an -authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of -access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after -expiration of the retention period.

-

The purposes of processing

+ processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data + for a longer period whenever required to do so for the performance of a legal obligation or upon order of an + authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of + access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after + expiration of the retention period.

+

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal -obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third -parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, -Traffic optimization and distribution, Displaying content from external platforms and Advertising.

+ obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third + parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, + Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed -information on the processing of Personal Data”.

-
-

Detailed information on the processing of Personal Data

+ information on the processing of Personal Data”.

+
+

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are -displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This -does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. -
Some of the services listed below may use Trackers to identify Users or they may use the behavioral -retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected -outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of -this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by -any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the -dedicated section "How to opt-out of interest-based advertising" in this document.

+ displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This + does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. +
Some of the services listed below may use Trackers to identify Users or they may use the behavioral + retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected + outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of + this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by + any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the + dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and -interact with them.
This type of service might still collect web traffic data for the pages where the service -is installed, even when Users do not use it.

+ interact with them.
This type of service might still collect web traffic data for the pages where the service + is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by -GitHub, Inc.

+ GitHub, Inc.

Personal Data processed: Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well -as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work -through geographically distributed servers, making it difficult to determine the actual location where the Personal -Data are stored.

+ as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work + through geographically distributed servers, making it difficult to determine the actual location where the Personal + Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and -to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way -these services are implemented. Their function is to filter communications between JS.ORG and the User's -browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to -which the contents that may contain Personal Information of the User are transferred.

+ to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way + these services are implemented. Their function is to filter communications between JS.ORG and the User's + browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to + which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

-

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is -integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's -browser, while also allowing analytical data from JS.ORG to be collected.

+

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is + integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's + browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Information on opting out of interest-based advertising

+

Place of processing: United States – Privacy Policy.

+

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the -instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the -Digital Advertising -Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. -Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus -recommends that Users make use of these resources in addition to the information provided in this document.

-

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based -advertising on mobile apps.

+ instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the + Digital Advertising + Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. + Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus + recommends that Users make use of these resources in addition to the information provided in this document.

+

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based + advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device -advertising settings for mobile phones or ads settings in general.

-
-

The rights of Users

+ advertising settings for mobile phones or ads settings in general.

+
+

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

    -
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have -previously given their consent to the processing of their Personal Data.
  • -
  • Object to processing of their Data. Users have the right to object to the processing of their -Data if the processing is carried out on a legal basis other than consent. Further details are provided in the -dedicated section below.
  • -
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, -obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing -processing.
  • -
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and -ask for it to be updated or corrected.
  • -
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to -restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other -than storing it.
  • -
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain -circumstances, to obtain the erasure of their Data from the Owner.
  • -
  • Receive their Data and have it transferred to another controller. Users have the right to -receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to -have it transmitted to another controller without any hindrance. This provision is applicable provided that the -Data is processed by automated means and that the processing is based on the User's consent, on a contract which -the User is part of or on pre-contractual obligations thereof.
  • -
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection -authority.
  • +
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have + previously given their consent to the processing of their Personal Data.
  • +
  • Object to processing of their Data. Users have the right to object to the processing of their + Data if the processing is carried out on a legal basis other than consent. Further details are provided in the + dedicated section below.
  • +
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, + obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing + processing.
  • +
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and + ask for it to be updated or corrected.
  • +
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to + restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other + than storing it.
  • +
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain + circumstances, to obtain the erasure of their Data from the Owner.
  • +
  • Receive their Data and have it transferred to another controller. Users have the right to + receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to + have it transmitted to another controller without any hindrance. This provision is applicable provided that the + Data is processed by automated means and that the processing is based on the User's consent, on a contract which + the User is part of or on pre-contractual obligations thereof.
  • +
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection + authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner -or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by -providing a ground related to their particular situation to justify the objection.

+ or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by + providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object -to that processing at any time without providing any justification. To learn, whether the Owner is processing -Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

+ to that processing at any time without providing any justification. To learn, whether the Owner is processing + Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this -document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and -always within one month.

-

Additional information about Data collection and processing

+ document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and + always within one month.

+

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible -legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that -the Owner may be required to reveal personal data upon request of public authorities.

+ legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that + the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and -contextual information concerning particular Services or the collection and processing of Personal Data upon -request.

+ contextual information concerning particular Services or the collection and processing of Personal Data upon + request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction -with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

+ with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. -Please see the contact information at the beginning of this document.

+ Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

-

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses -honor the “Do Not Track” requests, please read their privacy policies.

+

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses + honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page -and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any -contact information available to the Owner. It is strongly recommended to check this page often, referring to the -date of the last modification listed at the bottom.

Should the changes affect processing activities -performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

- + and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any + contact information available to the Owner. It is strongly recommended to check this page often, referring to the + date of the last modification listed at the bottom.

Should the changes affect processing activities + performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

+

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal -identification number — allows for the identification or identifiability of a natural person.

+ identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: -the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform -Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of -the file received in response, the numerical code indicating the status of the server's answer (successful outcome, -error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the -various time details per visit (e.g., the time spent on each page within the Application) and the details about the -path followed within the Application with special reference to the sequence of pages visited, and other parameters -about the device operating system and/or the User's IT environment.

+ the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform + Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of + the file received in response, the numerical code indicating the status of the server's answer (successful outcome, + error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the + various time details per visit (e.g., the time spent on each page within the Application) and the details about the + path followed within the Application with special reference to the sequence of pages visited, and other parameters + about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the -Controller, as described in this privacy policy.

+ Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines -the purposes and means of the processing of Personal Data, including the security measures concerning the operation -and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

+ the purposes and means of the processing of Personal Data, including the security measures concerning the operation + and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member -states to the European Union and the European Economic Area.

+ states to the European Union and the European Economic Area.

Cookie

-

Cookies are Trackers consisting of small sets of data stored in the User's browser.

+

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and -fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s -device.

+ fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s + device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of -Regulation (EU) 2016/679 (General Data Protection Regulation).

+ Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

-
- +
+ + + \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 62931e8878b..9b5a5d2a26c 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1 +1,27 @@ -https://js.org/302.htmlyearly0.1https://js.org/404.htmlyearly0.1https://js.org/imprint.htmlyearly0.5https://js.org/privacy.htmlhttps://js.org/terms.htmlyearly0.6https://js.org/yearly1 \ No newline at end of file + + + + https://js.org/302.html + yearly + 0.1 + + https://js.org/404.html + yearly + 0.1 + + https://js.org/imprint.html + yearly + 0.5 + + https://js.org/privacy.html + + https://js.org/terms.html + yearly + 0.6 + + https://js.org/ + yearly + 1 + + diff --git a/docs/terms.html b/docs/terms.html index 9a51939d1a1..77197ccfc31 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1,103 +1,170 @@ - + + + - - -Terms of Service - JS.ORG - - - - - - - - - - - - + + + + + Terms of Service - JS.ORG + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - -
-
-
-
-

Terms and Conditions of JS.ORG

-

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
    + + + + + + + + + + + + + + +
    + + +
    +
    +
    +

    Terms and Conditions of JS.ORG

    + +

    § 1 Principles

    +
      +
    1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
    2. +
    3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
    4. +
    5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
    6. +
    7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
    8. +
    9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
    -

    § 2 Availability and reservations

    + +

    § 2 Availability and reservations

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    -

    § 3 Termination

    -
      -
    1. Both sides can terminate at any time without stating any reasons.
    2. -
    3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
    4. -
    5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
    6. + +

      § 3 Termination

      +
        +
      1. Both sides can terminate at any time without stating any reasons.
      2. +
      3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
      4. +
      5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
      -

      § 4 Rights and Duties of the user

      + +

      § 4 Rights and Duties of the user

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

      -

      In particular providing content like the following is prohibited:

      +

      In particular providing content like the following is prohibited:

        -
      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • -
      • Phishing, scam, malware, viruses
      • -
      • Copyright offense
      • -
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • -
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • -
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • -
      • Pornography or content intended for adults only
      • -
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • -
      • File or Image hosting
      • -
      • Sites with other illegal content
      • +
      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • +
      • Phishing, scam, malware, viruses
      • +
      • Copyright offense
      • +
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • +
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • +
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • +
      • Pornography or content intended for adults only
      • +
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • +
      • File or Image hosting
      • +
      • Sites with other illegal content

      A violation of these rules will result in immediate deletion of the JS.ORG domain.

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

      -

      § 5 Limitation of Liability

      -
        -
      • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
      • -
      • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
      • -
      • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
      • -
      • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
      • -
      • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
      • -
      • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
      • -
      • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
      • + +

        § 5 Limitation of Liability

        +
          +
        • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
        • +
        • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
        • +
        • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
        • +
        • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
        • +
        • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
        • +
        • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
        • +
        • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
        -

        § 6 Name of the subdomain

        + +

        § 6 Name of the subdomain

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

        -

        § 7 Absolute ban of spam

        + +

        § 7 Absolute ban of spam

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

        -

        § 8 Manipulation

        + +

        § 8 Manipulation

        It is prohibited to auto retrieve masses of JS.ORG subdomains.

        -

        § 9 Responsibility

        + +

        § 9 Responsibility

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

        -

        § 10 Place of jurisdiction

        + +

        § 10 Place of jurisdiction

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

        The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

        -

        § 11 Change of Terms

        + +

        § 11 Change of Terms

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

        -

        § 12 Severability clause

        + +

        § 12 Severability clause

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

        -
    - +
+ + + \ No newline at end of file From bd6eddf5a63fcab580b9a4aa713888ca704b4b62 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Thu, 10 Mar 2022 17:12:08 +0100 Subject: [PATCH 107/145] fix '.js' in location.search --- assets/main.ts | 4 +- docs/302.html | 201 +++++++-------------- docs/404.html | 198 +++++++------------- docs/imprint.html | 159 +++++----------- docs/index.html | 310 +++++++++++--------------------- docs/main.js | 2 +- docs/main.js.map | 4 +- docs/privacy.html | 448 ++++++++++++++++++++-------------------------- docs/sitemap.xml | 28 +-- docs/terms.html | 221 ++++++++--------------- 10 files changed, 555 insertions(+), 1020 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index d52ceb02a15..57d0a209918 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -1,4 +1,4 @@ -const search = window.location.search.slice(1, 20); +const search = window.location.search.slice(1).replace(/\.js$/,''); (function (el: any) { if (search && (el = document.getElementById(el))) @@ -7,7 +7,7 @@ const search = window.location.search.slice(1, 20); (function (el: any) { if (search && (el = document.getElementById(el))) { - let s = search.slice(0, -3) + let s = search el.innerHTML = s; setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000); } diff --git a/docs/302.html b/docs/302.html index 599154818ab..b7545b2d3ef 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,144 +1,69 @@ - - - + - - - - - Error 302 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +Error 302 - JS.ORG + + + + + + + + + + + + + + + + + + + + - -
- - - - - - - - - - - - - - -
- - - - -
-
-
- - -
- 302 REDIRECT -

- We're sorry, but the subdomain  does not exist.
- You will be redirected (again) after 5 seconds.
- Redirect service provided by redirect.pizza -

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
+
+ + +
- - - - - - - - +
+
+
+
+302 REDIRECT +

+We're sorry, but the subdomain  does not exist.
+You will be redirected (again) after 5 seconds.
+Redirect service provided by redirect.pizza +

+
+ +Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
+
+
+ + - \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index acebe3f4b5a..cc3a6bf404b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,142 +1,68 @@ - - - + - - - - - Error 404 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +Error 404 - JS.ORG + + + + + + + + + + + + + + + + + + + + - -
- - - - - - - - - - - - - - -
- - - - -
-
-
- -
-

- ERROR 404 -
We're sorry, but the page you requested could not be found -
You will be redirected after 5 seconds. -

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
+
+ + +
- - - - - - - - + + +
+
+

+ERROR 404 +
We're sorry, but the page you requested could not be found +
You will be redirected after 5 seconds. +

+
+ +Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
+
+
+ + - \ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index d2fcd298bbd..46ddd623df1 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1,133 +1,70 @@ - - - + - - - - - Imprint - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +Imprint - JS.ORG + + + + + + + + + + + + - -
- - - - - - - - - - - - - - -
- - -
-
-
-

Imprint

- +
+ + +
+
+
+
+

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

-

Owner/Contact

Stefan Keim -
Dorfstraße 1A -
86947 Schwabhausen/Weil -
Germany +
Dorfstraße 1A +
86947 Schwabhausen/Weil +
Germany

- Owner contact email adress: admin@js.org -
- Owner contact phone number: +49-1764-2080100 +Owner contact email adress: admin@js.org +
+Owner contact phone number: +49-1764-2080100

-

Data Protection Supervisory Authority

Promenade 27 (Castle) -
91522 Ansbach -
Germany -
Phone: +49 (0) 981 53 1300 -
Fax: +49 (0) 981 53 98 1300 -
Web: www.lda.bayern.de -
Email: poststelle@lda.bayern.de +
91522 Ansbach +
Germany +
Phone: +49 (0) 981 53 1300 +
Fax: +49 (0) 981 53 98 1300 +
Web: www.lda.bayern.de +
Email: poststelle@lda.bayern.de

-

Responsible for Editorial Content

Stefan Keim

-

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

-

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

-

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

- -
- - +
+ - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 0f589323e43..c1f94df7a1d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,220 +1,124 @@ - - - + - - - - - - - JS.ORG - the JavaScript organization - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +JS.ORG - the JavaScript organization + + + + + + + + + + + + + + + + + + + + - -
- -
- - - - - - - - - -
- - -
- - - - -
-
-
- -

Are you a JavaScript developer looking for free webspace to host your project? -
Check out - GitHub - Pages. To make things perfect we provide you with a free and sleek URL like one of these: +

+
+
+ +
+
+

Are you a JavaScript developer looking for free webspace to host your project? +
Check out +GitHub +Pages. To make things perfect we provide you with a free and sleek URL like one of these:

-

- https://foo.js.org +https://foo.js.org

-

Your page just has to provide some reasonable content with a clear connection to JavaScript! - Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

- - - +Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

- -
-

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page - by following - the instructions - here. To get a head start you can simply use the generator with one - of the provided themes and add some content - to your new page. -
- -
-

2

Now you should determine your js.org subdomain: either choose your username or the name of your - repo according - to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be - possible). More details in the - wiki. -
- -
-

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single - line matching - the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the - section - about - Custom - URLs at GitHub Pages Help. -
- -
-

4

To finish the procedure, make a pull request in our GitHub - repository that adds your - subdomain to the list of existing JS.ORG domains. Your new URL should go live within - 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). -
- + +
+

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page +by following +the instructions +here. To get a head start you can simply use the generator with one +of the provided themes and add some content +to your new page. +
+ +
+

2

Now you should determine your js.org subdomain: either choose your username or the name of your +repo according +to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be +possible). More details in the +wiki. +
+ +
+

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single +line matching +the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the +section +about +Custom +URLs at GitHub Pages Help. +
+ +
+

4

To finish the procedure, make a pull request in our GitHub +repository that adds your +subdomain to the list of existing JS.ORG domains. Your new URL should go live within +24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). +
+
- - -
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
+ +Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

- ImportantAs the owner of the repository, you keep complete control over your published content. - But that also means that all rights and duties that come along with publishing a website remain in your responsibility. +ImportantAs the owner of the repository, you keep complete control over your published content. +But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

- Have a look at our Terms and Conditions for more details. +Have a look at our Terms and Conditions for more details.

- - - -

- Redirect service provided by redirect.pizza +

+Redirect service provided by redirect.pizza

- -
- - - - - - - - +
+ + - \ No newline at end of file diff --git a/docs/main.js b/docs/main.js index 708b99e4e63..51049481174 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1,20);(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a.slice(0,-3);e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),c=document.createElement("script");window[i]=r=>{e.innerHTML=((r.data.watchers||0)/1e3).toFixed(1)+"K"},c.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(c,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,c=1,r=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,s+s*o/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++{var o=window.location.search.slice(1).replace(/\.js$/,"");(function(e){o&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(o&&(e=document.getElementById(e))){let t=o;e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=c=>{e.innerHTML=((c.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;o&&t.unshift(o.substring(0,8));let i=1e3/4,r=1,c=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,a=n.length,m=-1,l=()=>{a-- >0?(e.className="active",e.innerHTML=n.slice(0,a),setTimeout(l,s+s*a/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{a++"], - "sourcesContent": ["const search = window.location.search.slice(1, 20);\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search.slice(0, -3)\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,EAAG,IAE/C,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EAAO,MAAM,EAAG,IACxB,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/,'');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,GAAG,QAAQ,QAAQ,IAE/D,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EACR,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 4ed3b9faff4..b99c6c4d141 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,351 +1,287 @@ - - - + - - - - - Privacy - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +Privacy - JS.ORG + + + + + + + + + + + + - -
- - - - - - - - - - - - - - -
- - -
-
-
-

Privacy Policy of JS.ORG

+
+ + +
+
+
+
+

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

-

Owner / Contact

-

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

+

Owner / Contact

+

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

- Owner contact email adress: admin@js.org
- Owner contact phone number: +49-1764-2080100 +Owner contact email adress: admin@js.org
+Owner contact phone number: +49-1764-2080100

-

Types of Data collected

+

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; - Tracker.

+Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy - policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely - provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified - otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for - JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are - free not to communicate this Data without consequences to the availability or the functioning of the - Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the - Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services - used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes - described in the present document and in the Cookie Policy, if available.

+policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely +provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified +otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for +JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are +free not to communicate this Data without consequences to the availability or the functioning of the +Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the +Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services +used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes +described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that - they have the third party's consent to provide the Data to the Owner.

-

Mode and place of processing the Data

+they have the third party's consent to provide the Data to the Owner.

+

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or - unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled - tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the - Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation - of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party - technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if - necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any - time.

+unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled +tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the +Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation +of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party +technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if +necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any +time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

    -
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be - allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely - on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of - Personal Data is subject to European data protection law;
  • -
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual - obligations thereof;
  • -
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • -
  • processing is related to a task that is carried out in the public interest or in the exercise of official - authority vested in the Owner;
  • -
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. -
  • +
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be +allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely +on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of +Personal Data is subject to European data protection law;
  • +
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual +obligations thereof;
  • +
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • +
  • processing is related to a task that is carried out in the public interest or in the exercise of official +authority vested in the Owner;
  • +
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. +

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in - particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement - necessary to enter into a contract.

+particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement +necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the - processing are located.

Depending on the User's location, data transfers may involve transferring the - User's Data to a country other than their own. To find out more about the place of processing of such transferred - Data, Users can check the section containing details about the processing of Personal Data.

+processing are located.

Depending on the User's location, data transfers may involve transferring the +User's Data to a country other than their own. To find out more about the place of processing of such transferred +Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or - to any international organization governed by public international law or set up by two or more countries, such as - the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer - takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner - using the information provided in the contact section.

+to any international organization governed by public international law or set up by two or more countries, such as +the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer +takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner +using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

    -
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User - shall be retained until such contract has been fully performed.
  • -
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed - to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the - Owner within the relevant sections of this document or by contacting the Owner.
  • +
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User +shall be retained until such contract has been fully performed.
  • +
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed +to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the +Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such - processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data - for a longer period whenever required to do so for the performance of a legal obligation or upon order of an - authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of - access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after - expiration of the retention period.

-

The purposes of processing

+processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data +for a longer period whenever required to do so for the performance of a legal obligation or upon order of an +authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of +access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after +expiration of the retention period.

+

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal - obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third - parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, - Traffic optimization and distribution, Displaying content from external platforms and Advertising.

+obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third +parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, +Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed - information on the processing of Personal Data”.

-
-

Detailed information on the processing of Personal Data

+information on the processing of Personal Data”.

+
+

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are - displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This - does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. -
Some of the services listed below may use Trackers to identify Users or they may use the behavioral - retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected - outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of - this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by - any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the - dedicated section "How to opt-out of interest-based advertising" in this document.

+displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This +does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. +
Some of the services listed below may use Trackers to identify Users or they may use the behavioral +retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected +outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of +this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by +any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the +dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and - interact with them.
This type of service might still collect web traffic data for the pages where the service - is installed, even when Users do not use it.

+interact with them.
This type of service might still collect web traffic data for the pages where the service +is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by - GitHub, Inc.

+GitHub, Inc.

Personal Data processed: Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well - as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work - through geographically distributed servers, making it difficult to determine the actual location where the Personal - Data are stored.

+as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work +through geographically distributed servers, making it difficult to determine the actual location where the Personal +Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and - to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way - these services are implemented. Their function is to filter communications between JS.ORG and the User's - browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to - which the contents that may contain Personal Information of the User are transferred.

+to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way +these services are implemented. Their function is to filter communications between JS.ORG and the User's +browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to +which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

-

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is - integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's - browser, while also allowing analytical data from JS.ORG to be collected.

+

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is +integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's +browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Information on opting out of interest-based advertising

+

Place of processing: United States – Privacy Policy.

+

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the - instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the - Digital Advertising - Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. - Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus - recommends that Users make use of these resources in addition to the information provided in this document.

-

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based - advertising on mobile apps.

+instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the +Digital Advertising +Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. +Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus +recommends that Users make use of these resources in addition to the information provided in this document.

+

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device - advertising settings for mobile phones or ads settings in general.

-
-

The rights of Users

+advertising settings for mobile phones or ads settings in general.

+
+

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

    -
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have - previously given their consent to the processing of their Personal Data.
  • -
  • Object to processing of their Data. Users have the right to object to the processing of their - Data if the processing is carried out on a legal basis other than consent. Further details are provided in the - dedicated section below.
  • -
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, - obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing - processing.
  • -
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and - ask for it to be updated or corrected.
  • -
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to - restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other - than storing it.
  • -
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain - circumstances, to obtain the erasure of their Data from the Owner.
  • -
  • Receive their Data and have it transferred to another controller. Users have the right to - receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to - have it transmitted to another controller without any hindrance. This provision is applicable provided that the - Data is processed by automated means and that the processing is based on the User's consent, on a contract which - the User is part of or on pre-contractual obligations thereof.
  • -
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection - authority.
  • +
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have +previously given their consent to the processing of their Personal Data.
  • +
  • Object to processing of their Data. Users have the right to object to the processing of their +Data if the processing is carried out on a legal basis other than consent. Further details are provided in the +dedicated section below.
  • +
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, +obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing +processing.
  • +
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and +ask for it to be updated or corrected.
  • +
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to +restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other +than storing it.
  • +
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain +circumstances, to obtain the erasure of their Data from the Owner.
  • +
  • Receive their Data and have it transferred to another controller. Users have the right to +receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to +have it transmitted to another controller without any hindrance. This provision is applicable provided that the +Data is processed by automated means and that the processing is based on the User's consent, on a contract which +the User is part of or on pre-contractual obligations thereof.
  • +
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection +authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner - or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by - providing a ground related to their particular situation to justify the objection.

+or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by +providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object - to that processing at any time without providing any justification. To learn, whether the Owner is processing - Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

+to that processing at any time without providing any justification. To learn, whether the Owner is processing +Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this - document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and - always within one month.

-

Additional information about Data collection and processing

+document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and +always within one month.

+

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible - legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that - the Owner may be required to reveal personal data upon request of public authorities.

+legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that +the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and - contextual information concerning particular Services or the collection and processing of Personal Data upon - request.

+contextual information concerning particular Services or the collection and processing of Personal Data upon +request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction - with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

+with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. - Please see the contact information at the beginning of this document.

+Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

-

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses - honor the “Do Not Track” requests, please read their privacy policies.

+

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses +honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page - and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any - contact information available to the Owner. It is strongly recommended to check this page often, referring to the - date of the last modification listed at the bottom.

Should the changes affect processing activities - performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

- +and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any +contact information available to the Owner. It is strongly recommended to check this page often, referring to the +date of the last modification listed at the bottom.

Should the changes affect processing activities +performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

+

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal - identification number — allows for the identification or identifiability of a natural person.

+identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: - the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform - Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of - the file received in response, the numerical code indicating the status of the server's answer (successful outcome, - error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the - various time details per visit (e.g., the time spent on each page within the Application) and the details about the - path followed within the Application with special reference to the sequence of pages visited, and other parameters - about the device operating system and/or the User's IT environment.

+the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform +Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of +the file received in response, the numerical code indicating the status of the server's answer (successful outcome, +error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the +various time details per visit (e.g., the time spent on each page within the Application) and the details about the +path followed within the Application with special reference to the sequence of pages visited, and other parameters +about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the - Controller, as described in this privacy policy.

+Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines - the purposes and means of the processing of Personal Data, including the security measures concerning the operation - and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

+the purposes and means of the processing of Personal Data, including the security measures concerning the operation +and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member - states to the European Union and the European Economic Area.

+states to the European Union and the European Economic Area.

Cookie

-

Cookies are Trackers consisting of small sets of data stored in the User's browser.

+

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and - fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s - device.

+fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s +device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of - Regulation (EU) 2016/679 (General Data Protection Regulation).

+Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

-
- - +
+ - \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 9b5a5d2a26c..62931e8878b 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1,27 +1 @@ - - - - https://js.org/302.html - yearly - 0.1 - - https://js.org/404.html - yearly - 0.1 - - https://js.org/imprint.html - yearly - 0.5 - - https://js.org/privacy.html - - https://js.org/terms.html - yearly - 0.6 - - https://js.org/ - yearly - 1 - - +https://js.org/302.htmlyearly0.1https://js.org/404.htmlyearly0.1https://js.org/imprint.htmlyearly0.5https://js.org/privacy.htmlhttps://js.org/terms.htmlyearly0.6https://js.org/yearly1 \ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 77197ccfc31..5cb7b45e7b9 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1,170 +1,103 @@ - - - + - - - - - Terms of Service - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +Terms of Service - JS.ORG + + + + + + + + + + + + - -
- - - - - - - - - - - - - - -
- - -
-
-
-

Terms and Conditions of JS.ORG

- -

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
    + + +
    +
    +
    +
    +

    Terms and Conditions of JS.ORG

    +

    § 1 Principles

    +
      +
    1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
    2. +
    3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
    4. +
    5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
    6. +
    7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
    8. +
    9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
    - -

    § 2 Availability and reservations

    +

    § 2 Availability and reservations

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    - -

    § 3 Termination

    -
      -
    1. Both sides can terminate at any time without stating any reasons.
    2. -
    3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
    4. -
    5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
    6. +

      § 3 Termination

      +
        +
      1. Both sides can terminate at any time without stating any reasons.
      2. +
      3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
      4. +
      5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
      - -

      § 4 Rights and Duties of the user

      +

      § 4 Rights and Duties of the user

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

      -

      In particular providing content like the following is prohibited:

      +

      In particular providing content like the following is prohibited:

        -
      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • -
      • Phishing, scam, malware, viruses
      • -
      • Copyright offense
      • -
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • -
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • -
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • -
      • Pornography or content intended for adults only
      • -
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • -
      • File or Image hosting
      • -
      • Sites with other illegal content
      • +
      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • +
      • Phishing, scam, malware, viruses
      • +
      • Copyright offense
      • +
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • +
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • +
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • +
      • Pornography or content intended for adults only
      • +
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • +
      • File or Image hosting
      • +
      • Sites with other illegal content

      A violation of these rules will result in immediate deletion of the JS.ORG domain.

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

      - -

      § 5 Limitation of Liability

      -
        -
      • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
      • -
      • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
      • -
      • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
      • -
      • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
      • -
      • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
      • -
      • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
      • -
      • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
      • +

        § 5 Limitation of Liability

        +
          +
        • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
        • +
        • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
        • +
        • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
        • +
        • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
        • +
        • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
        • +
        • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
        • +
        • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
        - -

        § 6 Name of the subdomain

        +

        § 6 Name of the subdomain

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

        - -

        § 7 Absolute ban of spam

        +

        § 7 Absolute ban of spam

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

        - -

        § 8 Manipulation

        +

        § 8 Manipulation

        It is prohibited to auto retrieve masses of JS.ORG subdomains.

        - -

        § 9 Responsibility

        +

        § 9 Responsibility

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

        - -

        § 10 Place of jurisdiction

        +

        § 10 Place of jurisdiction

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

        The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

        - -

        § 11 Change of Terms

        +

        § 11 Change of Terms

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

        - -

        § 12 Severability clause

        +

        § 12 Severability clause

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

        -
    - - +
+ - \ No newline at end of file From 3a6c7f50234f0eec5c4b78edf7926a805560d4c1 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 08:38:23 +0100 Subject: [PATCH 108/145] redirect window top --- assets/main.ts | 2 +- docs/main.js | 2 +- docs/main.js.map | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index 57d0a209918..0fbc7910455 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -9,7 +9,7 @@ const search = window.location.search.slice(1).replace(/\.js$/,''); if (search && (el = document.getElementById(el))) { let s = search el.innerHTML = s; - setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000); + setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 5000); } })('sd'); diff --git a/docs/main.js b/docs/main.js index 51049481174..d309b90344c 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var o=window.location.search.slice(1).replace(/\.js$/,"");(function(e){o&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(o&&(e=document.getElementById(e))){let t=o;e.innerHTML=t,setTimeout(function(){window.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=c=>{e.innerHTML=((c.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;o&&t.unshift(o.substring(0,8));let i=1e3/4,r=1,c=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,a=n.length,m=-1,l=()=>{a-- >0?(e.className="active",e.innerHTML=n.slice(0,a),setTimeout(l,s+s*a/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{a++{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a;e.innerHTML=t,setTimeout(function(){window.top.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=c=>{e.innerHTML=((c.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,r=1,c=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,s+s*o/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/,'');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search\r\n el.innerHTML = s;\r\n setTimeout(function () { window.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,GAAG,QAAQ,QAAQ,IAE/D,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EACR,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,SAAS,KAAO,mBAAqB,GAAM,QAEhF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/,'');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search\r\n el.innerHTML = s;\r\n setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,GAAG,QAAQ,QAAQ,IAE/D,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EACR,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,IAAI,SAAS,KAAO,mBAAqB,GAAM,QAEpF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", "names": [] } From 4fac9bc95409a811809af7123ac190e325ba0197 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 08:52:32 +0100 Subject: [PATCH 109/145] link target rel cleanup --- docs/302.html | 14 +++++++------- docs/404.html | 14 +++++++------- docs/imprint.html | 6 +++--- docs/index.html | 20 ++++++++++---------- docs/privacy.html | 30 +++++++++++++++++------------- docs/terms.html | 6 +++--- layouts/_default/base.html | 14 +++++++------- pages/_index.html | 10 +++++----- pages/privacy.html | 26 +++++++++++++++----------- 9 files changed, 74 insertions(+), 66 deletions(-) diff --git a/docs/302.html b/docs/302.html index b7545b2d3ef..b3a46cf2ae4 100644 --- a/docs/302.html +++ b/docs/302.html @@ -26,12 +26,12 @@
- +
@@ -51,17 +51,17 @@ diff --git a/docs/404.html b/docs/404.html index cc3a6bf404b..0149e966b7b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -26,12 +26,12 @@
- +
@@ -50,17 +50,17 @@ diff --git a/docs/imprint.html b/docs/imprint.html index 46ddd623df1..afd0224730c 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -18,7 +18,7 @@
- +
@@ -59,11 +59,11 @@

Liability for Links

Last UpdateSep 29, 2021
- +
WEBDESIGN: 20zweinull -
PrivacyImprint + diff --git a/docs/index.html b/docs/index.html index c1f94df7a1d..4f781926891 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,15 +31,15 @@

Are you a JavaScript developer looking for free webspace to host your project?
Check out -GitHub +GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

@@ -53,7 +53,7 @@

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions -here. To get a head start you can simply use the generator with one +here. To get a head start you can simply use the generator with one of the provided themes and add some content to your new page. @@ -63,7 +63,7 @@

2

Now you should determine your js.org subdomain: either choose your use repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the -wiki. +wiki.
@@ -72,7 +72,7 @@

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for pr the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about -Custom +Custom URLs at GitHub Pages Help.
@@ -91,7 +91,7 @@

4

To finish the procedure, make a pull request in our GitHub
-Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. @@ -106,9 +106,9 @@

4

To finish the procedure, make a pull request in our GitHub
diff --git a/docs/privacy.html b/docs/privacy.html index b99c6c4d141..9d5c0958e23 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -18,7 +18,7 @@
- +
@@ -120,11 +120,12 @@

Advertising

outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the -dedicated section "How to opt-out of interest-based advertising" in this document.

+dedicated section "How to opt-out of interest-based advertising" in this document. +

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service @@ -133,7 +134,7 @@

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by GitHub, Inc.

Personal Data processed: Usage Data.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work @@ -142,7 +143,7 @@

Hosting and backend infrastructure

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way @@ -154,16 +155,19 @@

Cloudflare (Cloudflare Inc.)

integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

+

Place of processing: United States – Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the -instructions provided by YourOnlineChoices (EU), the YourOnlineChoices (EU), the Network Advertising Initiative (US) and the -Digital Advertising -Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. +Digital +Advertising +Alliance (US), DAAC (Canada), DDAI (Japan) or other similar +initiatives. Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus -recommends that Users make use of these resources in addition to the information provided in this document.

-

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +recommends that Users make use of these resources in addition to the information provided in this document. +

+

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device advertising settings for mobile phones or ads settings in general.

@@ -276,11 +280,11 @@

Legal information

Last UpdateDecember 12, 2021
- +
WEBDESIGN: 20zweinull -
PrivacyImprint + diff --git a/docs/terms.html b/docs/terms.html index 5cb7b45e7b9..38cc2563b39 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -18,7 +18,7 @@
- +
@@ -92,11 +92,11 @@

§ 12 Severability clause

Last UpdateMay 20, 2018
- +
WEBDESIGN: 20zweinull -
PrivacyImprint + diff --git a/layouts/_default/base.html b/layouts/_default/base.html index da5837dea57..c465f7127ff 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -67,7 +67,7 @@ {{if .IsHome}}
{{else}} - + {{end}} Twitter + target="_blank" rel="nofollow noreferrer noopener">Twitter tweet this! + target="_blank" rel="nofollow noreferrer noopener">tweet this!
{{end}}
@@ -109,10 +109,10 @@ {{else}}
Donatefor registrar + target="_blank" rel="nofollow noreferrer noopener">Donatefor registrar fees GitHub + target="_blank" rel="nofollow noreferrer noopener">GitHub {{if .Params.full}} 4K {{end}} @@ -123,7 +123,7 @@ {{if .IsHome}}
{{else}} - + {{end}} @@ -137,7 +137,7 @@
WEBDESIGN:
20zweinull -
PrivacyImprint + {{ end -}} diff --git a/pages/_index.html b/pages/_index.html index 62c1a708550..f361eb3f9bc 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -9,7 +9,7 @@

Are you a JavaScript developer looking for free webspace to host your project?
Check out - GitHub + GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

@@ -28,7 +28,7 @@

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions - here. To get a head start you can simply use the generator with one of the provided themes and add some content to your new page. @@ -39,7 +39,7 @@

2

Now you should determine your js.org subdomain: either choose your use repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the - wiki. @@ -49,7 +49,7 @@

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for pr the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about - Custom URLs at GitHub Pages Help. @@ -72,7 +72,7 @@

4

To finish the procedure, make a pull request in our GitHub
- Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. diff --git a/pages/privacy.html b/pages/privacy.html index 390bbb39c09..16d9fb8d076 100644 --- a/pages/privacy.html +++ b/pages/privacy.html @@ -102,13 +102,14 @@

Advertising

outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the - dedicated section "How to opt-out of interest-based advertising" in this document.

+ dedicated section "How to opt-out of interest-based advertising" in this document. +

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

+ target="_blank" rel="nofollow noreferrer noopener">Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and interact with them.
This type of service might still collect web traffic data for the pages where the service @@ -118,7 +119,7 @@

GitHub button and social widgets (GitHub Inc.)

GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

+ target="_blank" rel="nofollow noreferrer noopener">Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work @@ -128,7 +129,7 @@

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

+ target="_blank" rel="nofollow noreferrer noopener">Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way @@ -141,19 +142,22 @@

Cloudflare (Cloudflare Inc.)

browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

+ rel="nofollow noreferrer noopener">Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the - instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the - Digital Advertising - Alliance (US), Digital + Advertising + Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. + rel="nofollow noreferrer noopener" href="http://www.ddai.info/optout">DDAI (Japan) or other similar + initiatives. Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus - recommends that Users make use of these resources in addition to the information provided in this document.

-

The Digital Advertising Alliance offers an application called +

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device From d32c6e6fecbdc6d8c77e6b0c53c4cdb2d3d1937d Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 09:08:12 +0100 Subject: [PATCH 110/145] link target rel cleanup 2 --- pages/302.html | 2 +- pages/404.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/302.html b/pages/302.html index 9b33e722ac3..64e500c20a4 100644 --- a/pages/302.html +++ b/pages/302.html @@ -18,6 +18,6 @@

- Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
diff --git a/pages/404.html b/pages/404.html index 4f63282fa96..e0d5eceb53a 100644 --- a/pages/404.html +++ b/pages/404.html @@ -17,6 +17,6 @@
- Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file From 8508ca31d69293c15b2ffeaf272ca1e1ba0c0b0d Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 13:49:08 +0100 Subject: [PATCH 111/145] standwithukrain v2 --- assets/_vars.scss | 2 +- assets/index.scss | 60 +++++++++++++++++++------------------- docs/302.html | 4 +-- docs/404.html | 4 +-- docs/imprint.html | 2 +- docs/index.html | 5 ++-- docs/privacy.html | 2 +- docs/terms.html | 2 +- layouts/_default/base.html | 4 +++ 9 files changed, 45 insertions(+), 40 deletions(-) diff --git a/assets/_vars.scss b/assets/_vars.scss index ef919b420ef..28bbb136943 100644 --- a/assets/_vars.scss +++ b/assets/_vars.scss @@ -1,6 +1,6 @@ $txt: #000; $alt: #FFF; -$key: #ffd700;//#FFE70B; +$key: #FFE70B; $blue: #0070F0; $gray: #666; diff --git a/assets/index.scss b/assets/index.scss index 24de459afd1..f8323c512f6 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -1,38 +1,40 @@ @import "vars"; -body::before { - content: "\"Peace is not everything, but without peace, everything is nothing\" - Willi Brandt"; +#standwithukrain { display: block; - width:100%; - z-index: -1; - color:#6182a8; - margin:-5vh auto 5vh; - text-align: center; - font-size: 1rem; - font-style: italic; - opacity: 0; - animation: fadeIn 1s 3s ease-out forwards; -} -body::after { - content: " "; - position: fixed; - top: 0; - right: 0; - left: 0; - height: 50vh; - z-index: -2; - background: #0057b8; - opacity: 0; + display: flex; + justify-content: center; + align-items: center; + line-height: 1.2em; + margin-top: -8vh; + padding: 0.5em 1em; + color: #6e8094; + font-weight: 600; + background: rgba(255, 255, 255, 0.5); + transform: translateY(-100%); animation: fadeIn 1s 2s ease-out forwards; + i { + font-weight: 400; + white-space: nowrap; + } + &:before { + content: ""; + display: block; + flex-shrink: 0; + width: 1.7em; + height: 1em; + background: linear-gradient(#0057b8, #0057b8 50%, #ffd700 50%, #ffd700); + margin-right: 1em; + } } @keyframes fadeIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } + 0% { + transform: translateY(-100%); + } + 100% { + transform: translateY(0%); + } } p { @@ -167,7 +169,6 @@ section { } } -/* @media (prefers-color-scheme: dark) { #typewriter { .active { @@ -215,4 +216,3 @@ section { } } } -*/ diff --git a/docs/302.html b/docs/302.html index b3a46cf2ae4..75e1f76df7c 100644 --- a/docs/302.html +++ b/docs/302.html @@ -21,7 +21,7 @@ - + @@ -45,7 +45,7 @@

-Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
diff --git a/docs/404.html b/docs/404.html index 0149e966b7b..85befc28fa0 100644 --- a/docs/404.html +++ b/docs/404.html @@ -21,7 +21,7 @@ - + @@ -44,7 +44,7 @@

-Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
diff --git a/docs/imprint.html b/docs/imprint.html index afd0224730c..64f90ccd7ac 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/index.html b/docs/index.html index 4f781926891..a4fd7f23d1b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,11 +21,12 @@ - - + + +
Peace is not everything, but without peace, everything is nothing - Willi Brandt
diff --git a/docs/privacy.html b/docs/privacy.html index 9d5c0958e23..b00f1740a2b 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/terms.html b/docs/terms.html index 38cc2563b39..06586d7334b 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -14,7 +14,7 @@ - +
diff --git a/layouts/_default/base.html b/layouts/_default/base.html index c465f7127ff..c950a328712 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -63,6 +63,10 @@ {{ block "body" . -}} + + {{if .IsHome}} +
Peace is not everything, but without peace, everything is nothing - Willi Brandt
+ {{end}}
{{if .IsHome}}
From 07e734121aa6b001eb29645259ccf2da79e57ad4 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 13:53:12 +0100 Subject: [PATCH 112/145] reset prefers-color-scheme: dark --- assets/main.scss | 10 ++-------- docs/302.html | 2 +- docs/404.html | 2 +- docs/imprint.html | 2 +- docs/index.html | 2 +- docs/privacy.html | 2 +- docs/terms.html | 2 +- 7 files changed, 8 insertions(+), 14 deletions(-) diff --git a/assets/main.scss b/assets/main.scss index 16655d927ec..385f5f54d83 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -22,11 +22,6 @@ html { scrollbar-color: fade-out($txt, 0.5) fade-out($txt, 0.3); scrollbar-width: thin; background: $key; - /*background: radial-gradient(circle, transparent 20%, $key 20%, $key 80%, transparent 80%, transparent), - radial-gradient(circle, transparent 20%, $key 20%, $key 80%, transparent 80%, transparent) -30px -30px, - linear-gradient(lighten($key, 20) 2px, transparent 2px) 0 -1px, - linear-gradient(90deg, lighten($key, 20) 2px, #ffe70b 2px) -1px 0; - background-size: 500px 500px, 500px 500px, 250px 250px, 250px 250px;*/ } @@ -362,7 +357,7 @@ footer { } } -/* + @media (prefers-color-scheme: dark) { html { scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); @@ -421,5 +416,4 @@ footer { repeating-linear-gradient(180deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em), repeating-linear-gradient(270deg, $key, $key 1.4em, transparent 1.4em, transparent 2.2em, $key 2.2em); } } -} -*/ \ No newline at end of file +} \ No newline at end of file diff --git a/docs/302.html b/docs/302.html index 75e1f76df7c..0c2b078ac8f 100644 --- a/docs/302.html +++ b/docs/302.html @@ -21,7 +21,7 @@ - + diff --git a/docs/404.html b/docs/404.html index 85befc28fa0..53ed54b2a41 100644 --- a/docs/404.html +++ b/docs/404.html @@ -21,7 +21,7 @@ - + diff --git a/docs/imprint.html b/docs/imprint.html index 64f90ccd7ac..63bed2e1ce3 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/index.html b/docs/index.html index a4fd7f23d1b..640a539b682 100644 --- a/docs/index.html +++ b/docs/index.html @@ -21,7 +21,7 @@ - + diff --git a/docs/privacy.html b/docs/privacy.html index b00f1740a2b..89e325e51d4 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -14,7 +14,7 @@ - +
diff --git a/docs/terms.html b/docs/terms.html index 06586d7334b..233273cd574 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -14,7 +14,7 @@ - +
From 78f3e61b2fbe4921839c2554eec96b9d87055c19 Mon Sep 17 00:00:00 2001 From: "Keim, Stefan" Date: Fri, 11 Mar 2022 13:55:06 +0100 Subject: [PATCH 113/145] fixed standwithukrain txt color --- assets/index.scss | 2 +- docs/index.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/index.scss b/assets/index.scss index f8323c512f6..88eef3cbd71 100644 --- a/assets/index.scss +++ b/assets/index.scss @@ -8,7 +8,7 @@ line-height: 1.2em; margin-top: -8vh; padding: 0.5em 1em; - color: #6e8094; + color: #505060; font-weight: 600; background: rgba(255, 255, 255, 0.5); transform: translateY(-100%); diff --git a/docs/index.html b/docs/index.html index 640a539b682..6c76b542fc3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -22,7 +22,7 @@ - + From d3829de03930eff01931ff06fedaa81de0cbbf18 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Sat, 12 Mar 2022 20:44:20 +0100 Subject: [PATCH 114/145] remove redirect.pizza --- .pnpm-debug.log | 19 +-- assets/main.ts | 7 +- docs/302.html | 71 +-------- docs/404.html | 70 +-------- docs/imprint.html | 71 +-------- docs/index.html | 118 ++------------- docs/main.js | 2 +- docs/main.js.map | 4 +- docs/privacy.html | 289 ++++++++----------------------------- docs/terms.html | 104 +------------ layouts/_default/base.html | 2 +- pages/302.html | 3 +- pages/404.html | 2 +- pages/_index.html | 8 - 14 files changed, 93 insertions(+), 677 deletions(-) diff --git a/.pnpm-debug.log b/.pnpm-debug.log index a1d9b529395..544cf18d719 100644 --- a/.pnpm-debug.log +++ b/.pnpm-debug.log @@ -2,22 +2,13 @@ "0 debug pnpm:scope": { "selected": 1 }, - "1 info pnpm": { - "err": { - "name": "Error", - "message": "not found: generate", - "code": "ENOENT", - "stack": "Error: not found: generate\n at getNotFoundError (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41555:51)\n at Function.whichSync [as sync] (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41632:13)\n at getCommandAbsolutePathSync (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43197:44)\n at default_1 (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43206:32)\n at C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:178047:39" - } - }, - "2 error pnpm": { - "code": "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL", - "prefix": "D:\\User\\Documents\\privat\\JS.ORG\\js.org", + "1 error pnpm": { + "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", "err": { "name": "pnpm", - "message": "not found: generate", - "code": "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL", - "stack": "Error: not found: generate\n at getNotFoundError (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41555:51)\n at Function.whichSync [as sync] (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:41632:13)\n at getCommandAbsolutePathSync (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43197:44)\n at default_1 (C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43206:32)\n at C:\\Users\\keim_se\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:178047:39" + "message": "No package.json (or package.yaml, or package.json5) was found in \"C:\\Users\\stefa\\Code\\JS.ORG\\JS.ORG\".", + "code": "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND", + "stack": "pnpm: No package.json (or package.yaml, or package.json5) was found in \"C:\\Users\\stefa\\Code\\JS.ORG\\JS.ORG\".\n at readProjectManifest (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:19808:13)\n at async Object.readProjectManifestOnly (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:19812:28)\n at async readProjectManifestOnly (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:43711:24)\n at async Object.handler (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:177889:24)\n at async C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:182165:21\n at async run (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:182139:34)\n at async runPnpm (C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:182358:5)\n at async C:\\Users\\stefa\\AppData\\Roaming\\npm\\node_modules\\pnpm\\dist\\pnpm.cjs:182350:7" } } } \ No newline at end of file diff --git a/assets/main.ts b/assets/main.ts index 0fbc7910455..c1f1414d01d 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -1,15 +1,10 @@ const search = window.location.search.slice(1).replace(/\.js$/,''); -(function (el: any) { - if (search && (el = document.getElementById(el))) - el.style = "display:block"; -})('redir'); - (function (el: any) { if (search && (el = document.getElementById(el))) { let s = search el.innerHTML = s; - setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 5000); + setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 9999); } })('sd'); diff --git a/docs/302.html b/docs/302.html index 0c2b078ac8f..3d58d34094f 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,69 +1,6 @@ - - - - -Error 302 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-302 REDIRECT -

-We're sorry, but the subdomain  does not exist.
-You will be redirected (again) after 5 seconds.
-Redirect service provided by redirect.pizza -

-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
-
- \ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 53ed54b2a41..38454a1274d 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,68 +1,6 @@ - - - - -Error 404 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
-
-

-ERROR 404 -
We're sorry, but the page you requested could not be found -
You will be redirected after 5 seconds. -

-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
-
- \ No newline at end of file diff --git a/docs/imprint.html b/docs/imprint.html index 63bed2e1ce3..936b1fb9f8e 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1,70 +1 @@ - - - - -Imprint - JS.ORG - - - - - - - - - - - - - - -
- - -
-
-
-
-

Imprint

-

JS.ORG's focus is to provide free subdomains for the JavaScript community.

-

Owner/Contact

-

Stefan Keim -
Dorfstraße 1A -
86947 Schwabhausen/Weil -
Germany -

-

-Owner contact email adress: admin@js.org -
-Owner contact phone number: +49-1764-2080100 -

-

Data Protection Supervisory Authority

-

Promenade 27 (Castle) -
91522 Ansbach -
Germany -
Phone: +49 (0) 981 53 1300 -
Fax: +49 (0) 981 53 98 1300 -
Web: www.lda.bayern.de -
Email: poststelle@lda.bayern.de -

-

Responsible for Editorial Content

-

Stefan Keim

-

Terms of Use for Published Contact Data

-

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

-

Disclaimer

-

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

-

Liability for Links

-

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

-
- - - \ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 6c76b542fc3..a27161e4ade 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,125 +1,31 @@ - - - - - -JS.ORG - the JavaScript organization - - - - - - - - - - - - - - - - - - - - - - -
Peace is not everything, but without peace, everything is nothing - Willi Brandt
-
-
-
- -
-
-

Are you a JavaScript developer looking for free webspace to host your project? -
Check out +JS.ORG - the JavaScript organization

Peace is not everything, but without peace, everything is nothing - Willi Brandt

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub -Pages. To make things perfect we provide you with a free and sleek URL like one of these: -

-

-https://foo.js.org -

-

Your page just has to provide some reasonable content with a clear connection to JavaScript! -Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

-
- -
-

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page +Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! +Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here. To get a head start you can simply use the generator with one of the provided themes and add some content -to your new page. -
- -
-

2

Now you should determine your js.org subdomain: either choose your username or the name of your +to your new page.

2

Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the -wiki. -
- -
-

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single +wiki.

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom -URLs at GitHub Pages Help. -
- -
-

4

To finish the procedure, make a pull request in our GitHub +URLs at GitHub Pages Help.

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within -24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). -
-
-
-
- -Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-

-ImportantAs the owner of the repository, you keep complete control over your published content. -But that also means that all rights and duties that come along with publishing a website remain in your responsibility. -

-

-Have a look at our Terms and Conditions for more details. -

-

-Redirect service provided by redirect.pizza -

-
-
- - - \ No newline at end of file +4K

WEBDESIGN: 20zweinull \ No newline at end of file diff --git a/docs/main.js b/docs/main.js index d309b90344c..c847648dd3d 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.style="display:block")})("redir");(function(e){if(a&&(e=document.getElementById(e))){let t=a;e.innerHTML=t,setTimeout(function(){window.top.location.href="https://js.org/?"+t},5e3)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],i="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[i]=c=>{e.innerHTML=((c.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+i,t.insertBefore(r,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let i=1e3/4,r=1,c=.2,u=3e3,s=1e3/16,h=1,f=.2,g=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,s+s*o/n.length*h+s*f*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,g))},d=()=>{o++{var r=window.location.search.slice(1).replace(/\.js$/,"");(function(e){if(r&&(e=document.getElementById(e))){let t=r;e.innerHTML=t,setTimeout(function(){window.top.location.href="https://js.org/?"+t},9999)}})("sd");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],a="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[a]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+a,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;r&&t.unshift(r.substring(0,8));let a=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++"], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/,'');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el)))\r\n el.style = \"display:block\";\r\n})('redir');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search\r\n el.innerHTML = s;\r\n setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 5000);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,GAAG,QAAQ,QAAQ,IAE/D,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,KACxC,GAAG,MAAQ,mBAChB,SAEH,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,IAAM,CAC9C,GAAI,GAAI,EACR,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,IAAI,SAAS,KAAO,mBAAqB,GAAM,QAEpF,MAEH,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,GAAK,CAClC,GAAI,GAAM,SAAS,eAAe,oBAClC,AAAK,GAAK,EAAG,UAAU,IAAI,WAC3B,MAAM,UAAU,EAAM,MAAQ,eAGvC,OAEH,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OACzC,GAAM,GAAI,SAAS,qBAAqB,QAAQ,GAC5C,EAAK,MAAQ,KAAK,SAAS,SAAS,IAAI,UAAU,EAAG,IACrD,EAAM,SAAS,cAAc,UAEjC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,GAAK,KAElE,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,cACvB,WAEH,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,IAAM,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,IAErC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGvH,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,KAIpB,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,GAC7B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,WAGxH,GAAG,UAAY,GACf,WAAW,EAAO,KAG1B,MACD,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/,'');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n let s = search\r\n el.innerHTML = s;\r\n setTimeout(function () { window.top.location.href = 'https://js.org/?' + s; }, 9999);\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'user', 'learn', 'munich']);\r\n\r\n\r\n"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAQ,EAAE,EAEjE,AAAC,UAAU,EAAS,CAChB,GAAI,GAAW,GAAK,SAAS,eAAe,CAAE,GAAI,CAC9C,GAAI,GAAI,EACR,EAAG,UAAY,EACf,WAAW,UAAY,CAAE,OAAO,IAAI,SAAS,KAAO,mBAAqB,CAAG,EAAG,IAAI,CACvF,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,UAAU,EAAM,MAAQ,SAAS,CAC3C,CACJ,CACJ,GAAG,KAAK,EAER,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,OAAQ,QAAS,QAAQ,CAAC", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 89e325e51d4..227fa3c1a6c 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,41 +1,5 @@ - - - - -Privacy - JS.ORG - - - - - - - - - - - - - - -
- - -
-
-
-
-

Privacy Policy of JS.ORG

-

JS.ORG collects some Personal Data from its Users.

-

Owner / Contact

-

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

-

-Owner contact email adress: admin@js.org
-Owner contact phone number: +49-1764-2080100 -

-

Types of Data collected

-

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; -Tracker.

-

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; +Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for @@ -44,120 +8,60 @@

Types of Data collected

Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes -described in the present document and in the Cookie Policy, if available.

-

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that -they have the third party's consent to provide the Data to the Owner.

-

Mode and place of processing the Data

-

Methods of processing

-

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or +described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that +they have the third party's consent to provide the Data to the Owner.

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any -time.

-

Legal basis of processing

-

The Owner may process Personal Data relating to Users if one of the following applies:

-
    -
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be +time.

    Legal basis of processing

    The Owner may process Personal Data relating to Users if one of the following applies:

    • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of -Personal Data is subject to European data protection law;
    • -
    • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual -obligations thereof;
    • -
    • processing is necessary for compliance with a legal obligation to which the Owner is subject;
    • -
    • processing is related to a task that is carried out in the public interest or in the exercise of official -authority vested in the Owner;
    • -
    • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. -
    • -
    -

    In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in +Personal Data is subject to European data protection law;

  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual +obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official +authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement -necessary to enter into a contract.

-

Place

-

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the -processing are located.

Depending on the User's location, data transfers may involve transferring the +necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the +processing are located.

Depending on the User's location, data transfers may involve transferring the User's Data to a country other than their own. To find out more about the place of processing of such transferred -Data, Users can check the section containing details about the processing of Personal Data.

-

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or +Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as -the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer +the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner -using the information provided in the contact section.

-

Retention time

-

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

-

Therefore:

-
    -
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User -shall be retained until such contract has been fully performed.
  • -
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed +using the information provided in the contact section.

    Retention time

    Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

    Therefore:

    • Personal Data collected for purposes related to the performance of a contract between the Owner and the User +shall be retained until such contract has been fully performed.
    • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the -Owner within the relevant sections of this document or by contacting the Owner.
    • -
    -

    The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such +Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data for a longer period whenever required to do so for the performance of a legal obligation or upon order of an -authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of +authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after -expiration of the retention period.

-

The purposes of processing

-

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal +expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, -Traffic optimization and distribution, Displaying content from external platforms and Advertising.

-

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed -information on the processing of Personal Data”.

-
-

Detailed information on the processing of Personal Data

-

Personal Data is collected for the following purposes and using the following services:

-

Advertising

-

This type of service allows User Data to be utilized for advertising communication purposes. These communications are -displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This -does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. -
Some of the services listed below may use Trackers to identify Users or they may use the behavioral +Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed +information on the processing of Personal Data”.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are +displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This +does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below.
Some of the services listed below may use Trackers to identify Users or they may use the behavioral retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected -outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of +outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the -dedicated section "How to opt-out of interest-based advertising" in this document. -

-

Carbon Ads (BuySellAds.com Inc.)

-

Carbon Ads is an advertising service provided BuySellAds.com Inc.

-

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

-

Displaying content from external platforms

-

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and -interact with them.
This type of service might still collect web traffic data for the pages where the service -is installed, even when Users do not use it.

-

GitHub button and social widgets (GitHub Inc.)

-

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by -GitHub, Inc.

-

Personal Data processed: Usage Data.

-

Place of processing: United States – Privacy Policy.

-

Hosting and backend infrastructure

-

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well +dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and +interact with them.
This type of service might still collect web traffic data for the pages where the service +is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by +GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal -Data are stored.

-

GitHub Pages (GitHub Inc.)

-

GitHub Pages is a hosting service provided by GitHub, Inc.

-

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Traffic optimization and distribution

-

This type of service allows JS.ORG to distribute their content using servers located across different countries and -to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way +Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and +to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way these services are implemented. Their function is to filter communications between JS.ORG and the User's -browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to -which the contents that may contain Personal Information of the User are transferred.

-

Cloudflare (Cloudflare Inc.)

-

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is +browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to +which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's -browser, while also allowing analytical data from JS.ORG to be collected.

-

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Information on opting out of interest-based advertising

-

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the +browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the Digital @@ -165,127 +69,52 @@

Information on opting out of interest-based advertising

Alliance (US), DAAC (Canada), DDAI (Japan) or other similar initiatives. Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus -recommends that Users make use of these resources in addition to the information provided in this document. -

-

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based -advertising on mobile apps.

-

Users may also opt-out of certain advertising features through applicable device settings, such as the device -advertising settings for mobile phones or ads settings in general.

-
-

The rights of Users

-

Users may exercise certain rights regarding their Data processed by the Owner.

-

In particular, Users have the right to do the following:

-
    -
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have -previously given their consent to the processing of their Personal Data.
  • -
  • Object to processing of their Data. Users have the right to object to the processing of their +recommends that Users make use of these resources in addition to the information provided in this document.

    The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +advertising on mobile apps.

    Users may also opt-out of certain advertising features through applicable device settings, such as the device +advertising settings for mobile phones or ads settings in general.

    The rights of Users

    Users may exercise certain rights regarding their Data processed by the Owner.

    In particular, Users have the right to do the following:

    • Withdraw their consent at any time. Users have the right to withdraw consent where they have +previously given their consent to the processing of their Personal Data.
    • Object to processing of their Data. Users have the right to object to the processing of their Data if the processing is carried out on a legal basis other than consent. Further details are provided in the -dedicated section below.
    • -
    • Access their Data. Users have the right to learn if Data is being processed by the Owner, +dedicated section below.
    • Access their Data. Users have the right to learn if Data is being processed by the Owner, obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing -processing.
    • -
    • Verify and seek rectification. Users have the right to verify the accuracy of their Data and -ask for it to be updated or corrected.
    • -
    • Restrict the processing of their Data. Users have the right, under certain circumstances, to +processing.
    • Verify and seek rectification. Users have the right to verify the accuracy of their Data and +ask for it to be updated or corrected.
    • Restrict the processing of their Data. Users have the right, under certain circumstances, to restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other -than storing it.
    • -
    • Have their Personal Data deleted or otherwise removed. Users have the right, under certain -circumstances, to obtain the erasure of their Data from the Owner.
    • -
    • Receive their Data and have it transferred to another controller. Users have the right to +than storing it.
    • Have their Personal Data deleted or otherwise removed. Users have the right, under certain +circumstances, to obtain the erasure of their Data from the Owner.
    • Receive their Data and have it transferred to another controller. Users have the right to receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that the Data is processed by automated means and that the processing is based on the User's consent, on a contract which -the User is part of or on pre-contractual obligations thereof.
    • -
    • Lodge a complaint. Users have the right to bring a claim before their competent data protection -authority.
    • -
    -

    Details about the right to object to processing

    -

    Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner +the User is part of or on pre-contractual obligations thereof.

  • Lodge a complaint. Users have the right to bring a claim before their competent data protection +authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by -providing a ground related to their particular situation to justify the objection.

-

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object +providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object to that processing at any time without providing any justification. To learn, whether the Owner is processing -Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

-

How to exercise these rights

-

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this +Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and -always within one month.

-

Additional information about Data collection and processing

-

Legal action

-

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible +always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that -the Owner may be required to reveal personal data upon request of public authorities.

-

Additional information about User's Personal Data

-

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and +the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and contextual information concerning particular Services or the collection and processing of Personal Data upon -request.

-

System logs and maintenance

-

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction -with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

-

Information not contained in this policy

-

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. -Please see the contact information at the beginning of this document.

-

How “Do Not Track” requests are handled

-

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses -honor the “Do Not Track” requests, please read their privacy policies.

-

Changes to this privacy policy

-

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page +request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction +with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. +Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses +honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any contact information available to the Owner. It is strongly recommended to check this page often, referring to the -date of the last modification listed at the bottom.

Should the changes affect processing activities -performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

- -

Personal Data (or Data)

-

Any information that directly, indirectly, or in connection with other information — including a personal -identification number — allows for the identification or identifiability of a natural person.

-

Usage Data

-

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: +date of the last modification listed at the bottom.

Should the changes affect processing activities +performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal +identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters -about the device operating system and/or the User's IT environment.

-

User

-

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

-

Data Subject

-

The natural person to whom the Personal Data refers.

-

Data Processor (or Data Supervisor)

-

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the -Controller, as described in this privacy policy.

-

Data Controller (or Owner)

-

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines +about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the +Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines the purposes and means of the processing of Personal Data, including the security measures concerning the operation -and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

-

JS.ORG (or this Application)

-

The means by which the Personal Data of the User is collected and processed.

-

Service

-

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

-

European Union (or EU)

-

Unless otherwise specified, all references made within this document to the European Union include all current member -states to the European Union and the European Economic Area.

-

Cookie

-

Cookies are Trackers consisting of small sets of data stored in the User's browser.

-

Tracker

-

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and +and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member +states to the European Union and the European Economic Area.

Cookie

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s -device.

-

Legal information

-

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of -Regulation (EU) 2016/679 (General Data Protection Regulation).

-

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

-
- - - \ No newline at end of file +device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of +Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 233273cd574..929c0350ac6 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1,103 +1 @@ - - - - -Terms of Service - JS.ORG - - - - - - - - - - - - - - -
- - -
-
-
-
-

Terms and Conditions of JS.ORG

-

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. -
-

§ 2 Availability and reservations

-

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

-

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

-

§ 3 Termination

-
    -
  1. Both sides can terminate at any time without stating any reasons.
  2. -
  3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  4. -
  5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
  6. -
-

§ 4 Rights and Duties of the user

-

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

-

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

-

In particular providing content like the following is prohibited:

-
    -
  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • -
  • Phishing, scam, malware, viruses
  • -
  • Copyright offense
  • -
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • -
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • -
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • -
  • Pornography or content intended for adults only
  • -
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • -
  • File or Image hosting
  • -
  • Sites with other illegal content
  • -
-

A violation of these rules will result in immediate deletion of the JS.ORG domain.

-

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

-

§ 5 Limitation of Liability

-
    -
  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • -
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • -
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • -
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • -
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • -
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • -
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
  • -
-

§ 6 Name of the subdomain

-

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

-

§ 7 Absolute ban of spam

-

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

-

§ 8 Manipulation

-

It is prohibited to auto retrieve masses of JS.ORG subdomains.

-

§ 9 Responsibility

-

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

-

§ 10 Place of jurisdiction

-

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

-

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

-

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

-

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

-

§ 11 Change of Terms

-

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

-

§ 12 Severability clause

-

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

-
- - - \ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file diff --git a/layouts/_default/base.html b/layouts/_default/base.html index c950a328712..82553274d8f 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -34,7 +34,7 @@ {{end}} {{if .Params.err}} - + {{end}} diff --git a/pages/302.html b/pages/302.html index 64e500c20a4..beb30ff66d0 100644 --- a/pages/302.html +++ b/pages/302.html @@ -13,8 +13,7 @@ 302 REDIRECT

We're sorry, but the subdomain  does not exist.
- You will be redirected (again) after 5 seconds.
- Redirect service provided by redirect.pizza + You will be redirected (again) after 10 seconds.

diff --git a/pages/404.html b/pages/404.html index e0d5eceb53a..b71b8e18b84 100644 --- a/pages/404.html +++ b/pages/404.html @@ -12,7 +12,7 @@

ERROR 404
We're sorry, but the page you requested could not be found -
You will be redirected after 5 seconds. +
You will be redirected after 10 seconds.

+Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) in 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
diff --git a/docs/imprint.html b/docs/imprint.html index 6059aa04779..8d8e4b7b0f9 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -30,13 +30,15 @@ - + + @@ -94,14 +96,26 @@

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

-

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

+

The use of contact data published within the framework of the imprint obligation by third parties for the + transmission of not expressly requested advertising and information material is hereby expressly rejected. The + operator of the website expressly takes legal action in the event of the unsolicited sending of advertising + information (e.g., spam mail).

Disclaimer

-

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

+

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according + to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor + transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. + Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any + liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is + obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

-

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

- +

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we + can not assume any liability for these third-party contents. The respective provider or operator of the pages is + always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations + at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control + of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove + such links immediately, if we become aware of any legal infringements.

diff --git a/docs/index.html b/docs/index.html index 20bd471c19d..9f5ed1c7ca4 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,7 +29,7 @@ - + @@ -46,15 +46,24 @@ - + + + + + + + + - @@ -89,10 +98,10 @@
@@ -105,6 +114,8 @@ Pages. To make things perfect we provide you with a free and sleek URL like one of these:

+ +

https://foo.js.org

@@ -119,7 +130,8 @@

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions - here.
Make sure to add some reasonable content to your new page. + here.
Make sure to add some reasonable content to your new page.
@@ -158,18 +170,25 @@

4

To finish the procedure, make a pull request in our GitHub -
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ +
+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that meets + the Acceptable Ads Standard.

- ImportantAs the owner of the repository, you keep complete control over your published content. - But that also means that all rights and duties that come along with publishing a website remain in your responsibility. + ImportantAs the owner of the repository, you keep complete control over your published + content. + But that also means that all rights and duties that come along with publishing a website remain in your + responsibility.

- Have a look at our Terms and Conditions for more details. + Have a look at our Terms and Conditions for more + details.

- diff --git a/docs/main.js b/docs/main.js index 19a7de73617..1ccaaa1b863 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;setInterval(()=>{if(!--t)return window.top.location.href="https://js.org/?"+a;e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){window.onload=()=>{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://js.org/count/${t?"cad":"nocad"}`)}}})("cad");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],o="cb_"+Math.random().toString(36).substring(2,16),c=document.createElement("script");window[o]=i=>{e.innerHTML=((i.data.watchers||0)/1e3).toFixed(1)+"K"},c.src="https://api.github.com/repos/js-org/js.org?callback="+o,t.insertBefore(c,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let o=1e3/4,c=1,i=.2,u=3e3,s=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,r=n.length,m=-1,l=()=>{r-- >0?(e.className="active",e.innerHTML=n.slice(0,r),setTimeout(l,s+s*r/n.length*h+s*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{r++{var w=(e,n,t)=>new Promise((r,o)=>{var h=a=>{try{d(t.next(a))}catch(l){o(l)}},i=a=>{try{d(t.throw(a))}catch(l){o(l)}},d=a=>a.done?r(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=5;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[t]=o=>{e.innerHTML=((o.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(r,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,r=1,o=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,c=e.innerHTML,s=c.length,f=-1,g=()=>{s-- >0?(e.className="active",e.innerHTML=c.slice(0,s),setTimeout(g,i+i*s/c.length*d+i*a*Math.random())):(c=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{s++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://js.org/count/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 8aab8498061..fef0674544f 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let cad = document.getElementById('_carbonads_projs')\r\n if (!cad) el.classList.add('blocked');\r\n fetch(`https://js.org/count/${cad ? 'cad' : 'nocad'}`)\r\n }\r\n }\r\n})('cad');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,GAAI,CAAC,EAAE,EAAK,MAAO,QAAO,IAAI,SAAS,KAAO,mBAAqB,EACnE,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,wBAAwB,EAAM,MAAQ,SAAS,CACzD,CACJ,CACJ,GAAG,KAAK,EAER,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://js.org/count/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], + "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAW,4BACf,GAAI,CAAC,OAAO,YAAe,MAAM,oCAAY,MAAM,QAAU,EAAG,CAC5D,GAAM,GAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,GAAK,gBACZ,EAAO,IAAM,+DACb,EAAO,MAAQ,GACf,EAAO,QAAU,IAAM,CAAC,EAAG,UAAU,IAAI,SAAS,EAAG,MAAM,GAAG,KAAY,CAAC,EAC3E,EAAO,OAAS,IAAK,MAAM,GAAG,IAAW,EACzC,EAAG,YAAY,CAAM,CACzB,KACI,OAAM,GAAG,IAAW,CAE5B,CACJ,EACJ,GAAG,KAAK", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 16014181542..cf76437bfdb 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -30,13 +30,15 @@ - + + @@ -351,7 +353,8 @@

Legal information


WEBDESIGN: 20zweinull -
PrivacyImprint + diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 9b5a5d2a26c..91868d9dcce 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -3,25 +3,15 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> https://js.org/302.html - yearly - 0.1 https://js.org/404.html - yearly - 0.1 https://js.org/imprint.html - yearly - 0.5 https://js.org/privacy.html https://js.org/terms.html - yearly - 0.6 https://js.org/ - yearly - 1 diff --git a/docs/terms.html b/docs/terms.html index bf13a7c265c..bc5501c6b8d 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -30,13 +30,15 @@ - + + @@ -67,28 +69,44 @@

Terms and Conditions of JS.ORG

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
      +
    1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only + called "JS.ORG". All services are incumbent upon these terms and conditions.
    2. +
    3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides + free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
    4. +
    5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
    6. +
    7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or + comments.
    8. +
    9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record + to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole + basis of all services provided by JS.ORG.

    § 2 Availability and reservations

    -

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

    -

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    +

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not + exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no + ownership or other rights to single services, the registered subdomains and the whole service.

    +

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to + damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and + without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. + The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    § 3 Termination

    -
      -
    1. Both sides can terminate at any time without stating any reasons.
    2. -
    3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
    4. -
    5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
    6. +
        +
      1. Both sides can terminate at any time without stating any reasons.
      2. +
      3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the + repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
      4. +
      5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at + least 7 days in advance by an issue in their GitHub repository

      § 4 Rights and Duties of the user

      -

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      -

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

      +

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these + terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right + from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      +

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate + JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of + others or violates statutory provisions.

      In particular providing content like the following is prohibited:

      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • @@ -96,49 +114,77 @@

        § 4 Rights and Duties of the user

      • Copyright offense
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • -
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • +
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise + contrary to national or international laws
      • Pornography or content intended for adults only
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • File or Image hosting
      • Sites with other illegal content

      A violation of these rules will result in immediate deletion of the JS.ORG domain.

      -

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

      +

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an + e-mail adress.

      § 5 Limitation of Liability

      -
        -
      • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
      • -
      • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
      • -
      • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
      • -
      • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
      • -
      • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
      • -
      • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
      • -
      • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
      • +
          +
        • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes + place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of + the provided services as well as damage caused by the use of programs, program components and scripts/applets. + The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to + secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the + users.
        • +
        • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are + liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
        • +
        • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent + disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges + that these terms also effect third party supplies.
        • +
        • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, + limb and health, and other damages caused by gross neglect of duty on JS.ORG
        • +
        • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
        • +
        • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits + is excluded.
        • +
        • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of + JS.ORG is only in the context of intent and gross negligence.

        § 6 Name of the subdomain

        -

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

        +

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with + respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility + of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade + marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. + The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the + participation in the service because of their content according to § 4.

        § 7 Absolute ban of spam

        -

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

        +

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. + The mass registering of domains for the purpose of irritation to the users of search engines are also considered + spam and are also inadmissible.

        § 8 Manipulation

        It is prohibited to auto retrieve masses of JS.ORG subdomains.

        § 9 Responsibility

        -

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

        +

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link + destinations of subdomains, or otherwise linked to this service.

        § 10 Place of jurisdiction

        -

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

        +

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the + application of the law of the Federal Republic of Germany. Application of conflict of laws of private international + law is expressly excluded.

        The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

        -

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

        -

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

        +

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For + users who do not have general jurisdiction and no resident in Germany at the time of the commencement of + proceedings, Munich will be the place of jurisdiction.

        +

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in + Munich.

        § 11 Change of Terms

        -

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

        +

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes + through a notice in the readme section of the JS.ORG repository.

        § 12 Severability clause

        -

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

        +

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so + otherwise the validity of these terms and conditions remains untouched.

        diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 64ff6669ed8..e1198568424 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -31,7 +31,7 @@ - + @@ -61,6 +61,14 @@ {{end}} {{end}} + {{if .Params.full}} + {{if $xad := resources.Get "xad.scss" }} + {{$options := dict "outputStyle" "compressed"}} + {{$xad := $xad| toCSS $options }} + {{ (printf "<%s>%s" "style" ($xad.Content | safeCSS) "style") | safeHTML }} + {{end}} + {{end}} + {{if .Params.full}} {{if $mainTS:= resources.Get "main.ts" }} @@ -97,10 +105,10 @@ {{if .Params.full}} {{end}}
@@ -119,8 +127,8 @@ Donatefor registrar fees - GitHub + GitHub {{if .Params.full}} 4K {{end}} @@ -145,14 +153,16 @@
WEBDESIGN:
20zweinull -
PrivacyImprint + {{ end -}} {{if .Params.full}} {{if $script:= resources.Get "main.ts" }} - {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" (cond .Site.IsServer "inline" "external")}} + {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" + (cond .Site.IsServer "inline" "external")}} {{ $script := $script | js.Build $options }} {{ end }} diff --git a/pages/302.html b/pages/302.html index 9fec1a21199..73c4ad82a9b 100644 --- a/pages/302.html +++ b/pages/302.html @@ -4,8 +4,8 @@ err: true full: true sitemap: - priority: 0.1 - changefreq: yearly +priority: 0.1 +changefreq: yearly --- @@ -15,8 +15,11 @@ We're sorry, but the subdomain  does not exist.
You will be redirected (again) in 5 seconds.

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that + meets the Acceptable Ads Standard.
-
+
\ No newline at end of file diff --git a/pages/404.html b/pages/404.html index 883d079b12e..3a58c2c892a 100644 --- a/pages/404.html +++ b/pages/404.html @@ -4,19 +4,21 @@ err: true full: true sitemap: - priority: 0.1 - changefreq: yearly +priority: 0.1 +changefreq: yearly ---

- ERROR 404 -
We're sorry, but the page you requested could not be found -
You will be redirected in 5 seconds. + ERROR 404 +
We're sorry, but the page you requested could not be found +
You will be redirected in 5 seconds.

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+
+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that + meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index 51d3eb73036..eda5dc407eb 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -3,8 +3,8 @@ title: the JavaScript organization full: true sitemap: - priority: 1.0 - changefreq: yearly +priority: 1.0 +changefreq: yearly ---

Are you a JavaScript developer looking for free webspace to host your project? @@ -13,6 +13,8 @@ Pages. To make things perfect we provide you with a free and sleek URL like one of these:

+ +

https://foo.js.org

@@ -27,7 +29,8 @@

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions - here.
Make sure to add some reasonable content to your new page. + here.
Make sure to add some reasonable content to your new page.
@@ -66,14 +69,22 @@

4

To finish the procedure, make a pull request in our GitHub -
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
+ +
+
+ + Looks like your ad blocker worked.
This would have been a paid advertisement that meets + the Acceptable Ads Standard.

- ImportantAs the owner of the repository, you keep complete control over your published content. - But that also means that all rights and duties that come along with publishing a website remain in your responsibility. + ImportantAs the owner of the repository, you keep complete control over your published + content. + But that also means that all rights and duties that come along with publishing a website remain in your + responsibility.

- Have a look at our Terms and Conditions for more details. -

+ Have a look at our Terms and Conditions for more + details. +

\ No newline at end of file diff --git a/pages/imprint.html b/pages/imprint.html index 5beb6459b16..d10b9f8e90e 100644 --- a/pages/imprint.html +++ b/pages/imprint.html @@ -3,8 +3,8 @@ title: Imprint lastUpdate: Sep 29, 2021 sitemap: - priority: 0.5 - changefreq: yearly +priority: 0.5 +changefreq: yearly ---

Imprint

@@ -36,10 +36,23 @@

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

-

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

+

The use of contact data published within the framework of the imprint obligation by third parties for the + transmission of not expressly requested advertising and information material is hereby expressly rejected. The + operator of the website expressly takes legal action in the event of the unsolicited sending of advertising + information (e.g., spam mail).

Disclaimer

-

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

+

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according + to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor + transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. + Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any + liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is + obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

-

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

+

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we + can not assume any liability for these third-party contents. The respective provider or operator of the pages is + always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations + at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control + of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove + such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/pages/terms.html b/pages/terms.html index 19f2f62ef75..48ba4c16daa 100644 --- a/pages/terms.html +++ b/pages/terms.html @@ -3,34 +3,50 @@ title: Terms of Service lastUpdate: May 20, 2018 sitemap: - priority: 0.6 - changefreq: yearly +priority: 0.6 +changefreq: yearly ---

Terms and Conditions of JS.ORG

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. +
      +
    1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only + called "JS.ORG". All services are incumbent upon these terms and conditions.
    2. +
    3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides + free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
    4. +
    5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
    6. +
    7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or + comments.
    8. +
    9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record + to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole + basis of all services provided by JS.ORG.

    § 2 Availability and reservations

    -

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

    -

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    +

    JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not + exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no + ownership or other rights to single services, the registered subdomains and the whole service.

    +

    If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to + damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and + without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. + The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

    § 3 Termination

    -
      -
    1. Both sides can terminate at any time without stating any reasons.
    2. -
    3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
    4. -
    5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
    6. +
        +
      1. Both sides can terminate at any time without stating any reasons.
      2. +
      3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the + repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
      4. +
      5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at + least 7 days in advance by an issue in their GitHub repository

      § 4 Rights and Duties of the user

      -

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      -

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

      +

      A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these + terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right + from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

      +

      The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate + JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of + others or violates statutory provisions.

      In particular providing content like the following is prohibited:

      • Piracy (warez, videos, MP3s, DVDs, software, etc.)
      • @@ -38,46 +54,74 @@

        § 4 Rights and Duties of the user

      • Copyright offense
      • Dubious business models (eg, pyramid schemes, chain letters, etc.)
      • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
      • -
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
      • +
      • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise + contrary to national or international laws
      • Pornography or content intended for adults only
      • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
      • File or Image hosting
      • Sites with other illegal content

      A violation of these rules will result in immediate deletion of the JS.ORG domain.

      -

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

      +

      The user is obliged to publish legals on his website which contains at least the full name, mailing address and an + e-mail adress.

      § 5 Limitation of Liability

      -
        -
      • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
      • -
      • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
      • -
      • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
      • -
      • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
      • -
      • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
      • -
      • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
      • -
      • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
      • +
          +
        • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes + place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of + the provided services as well as damage caused by the use of programs, program components and scripts/applets. + The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to + secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the + users.
        • +
        • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are + liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
        • +
        • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent + disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges + that these terms also effect third party supplies.
        • +
        • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, + limb and health, and other damages caused by gross neglect of duty on JS.ORG
        • +
        • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
        • +
        • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits + is excluded.
        • +
        • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of + JS.ORG is only in the context of intent and gross negligence.

        § 6 Name of the subdomain

        -

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

        +

        Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with + respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility + of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade + marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. + The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the + participation in the service because of their content according to § 4.

        § 7 Absolute ban of spam

        -

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

        +

        References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. + The mass registering of domains for the purpose of irritation to the users of search engines are also considered + spam and are also inadmissible.

        § 8 Manipulation

        It is prohibited to auto retrieve masses of JS.ORG subdomains.

        § 9 Responsibility

        -

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

        +

        JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link + destinations of subdomains, or otherwise linked to this service.

        § 10 Place of jurisdiction

        -

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

        +

        Service provision and the usage of the service according to these terms and conditions is exclusively subject to the + application of the law of the Federal Republic of Germany. Application of conflict of laws of private international + law is expressly excluded.

        The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

        -

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

        -

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

        +

        For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For + users who do not have general jurisdiction and no resident in Germany at the time of the commencement of + proceedings, Munich will be the place of jurisdiction.

        +

        For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in + Munich.

        § 11 Change of Terms

        -

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

        +

        JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes + through a notice in the readme section of the JS.ORG repository.

        § 12 Severability clause

        -

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

        \ No newline at end of file +

        If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so + otherwise the validity of these terms and conditions remains untouched.

        \ No newline at end of file From a78478d4e6b55dc614f1eb20ddafdeae23601d22 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Mon, 20 Feb 2023 13:51:00 +0100 Subject: [PATCH 125/145] ethical ads type fix --- docs/404.html | 2 +- pages/404.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/404.html b/docs/404.html index 8adfeec590c..0c80ad6a6a2 100644 --- a/docs/404.html +++ b/docs/404.html @@ -108,7 +108,7 @@
        You will be redirected in 5 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the You will be redirected in 5 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the
        Date: Tue, 21 Feb 2023 00:20:34 +0100 Subject: [PATCH 126/145] 7 sev timeout --- assets/main.ts | 2 +- docs/302.html | 4 ++-- docs/404.html | 4 ++-- docs/main.js | 2 +- docs/main.js.map | 2 +- layouts/_default/base.html | 2 +- pages/302.html | 2 +- pages/404.html | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index c7d0b2c7730..0637d25430a 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -8,7 +8,7 @@ const search = window.location.search.slice(1).replace(/\.js$/, ''); (function (el: any) { if (el = document.getElementById(el)) { - let sec = 5; + let sec = 7; setInterval(() => { if (!--sec) window.top.location.href = 'https://js.org/?' + search; el.innerText = `${sec} second${sec > 1 ? 's' : ''}` diff --git a/docs/302.html b/docs/302.html index 0b416288eed..a9652795466 100644 --- a/docs/302.html +++ b/docs/302.html @@ -37,7 +37,7 @@ - + @@ -106,7 +106,7 @@ 302 REDIRECT

        We're sorry, but the subdomain  does not exist.
        - You will be redirected (again) in 5 seconds. + You will be redirected (again) in 7 seconds.

        diff --git a/docs/404.html b/docs/404.html index 0c80ad6a6a2..d4358d403c6 100644 --- a/docs/404.html +++ b/docs/404.html @@ -37,7 +37,7 @@ - + @@ -105,7 +105,7 @@

        ERROR 404
        We're sorry, but the page you requested could not be found -
        You will be redirected in 5 seconds. +
        You will be redirected in 7 seconds.

        diff --git a/docs/main.js b/docs/main.js index 1ccaaa1b863..e144f6a7f9d 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var w=(e,n,t)=>new Promise((r,o)=>{var h=a=>{try{d(t.next(a))}catch(l){o(l)}},i=a=>{try{d(t.throw(a))}catch(l){o(l)}},d=a=>a.done?r(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=5;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[t]=o=>{e.innerHTML=((o.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(r,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,r=1,o=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,c=e.innerHTML,s=c.length,f=-1,g=()=>{s-- >0?(e.className="active",e.innerHTML=c.slice(0,s),setTimeout(g,i+i*s/c.length*d+i*a*Math.random())):(c=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{s++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://js.org/count/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); +(()=>{var w=(e,n,t)=>new Promise((r,o)=>{var h=a=>{try{d(t.next(a))}catch(l){o(l)}},i=a=>{try{d(t.throw(a))}catch(l){o(l)}},d=a=>a.done?r(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=7;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[t]=o=>{e.innerHTML=((o.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(r,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,r=1,o=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,c=e.innerHTML,s=c.length,f=-1,g=()=>{s-- >0?(e.className="active",e.innerHTML=c.slice(0,s),setTimeout(g,i+i*s/c.length*d+i*a*Math.random())):(c=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{s++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://js.org/count/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index fef0674544f..970d972e4b3 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://js.org/count/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://js.org/count/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAW,4BACf,GAAI,CAAC,OAAO,YAAe,MAAM,oCAAY,MAAM,QAAU,EAAG,CAC5D,GAAM,GAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,GAAK,gBACZ,EAAO,IAAM,+DACb,EAAO,MAAQ,GACf,EAAO,QAAU,IAAM,CAAC,EAAG,UAAU,IAAI,SAAS,EAAG,MAAM,GAAG,KAAY,CAAC,EAC3E,EAAO,OAAS,IAAK,MAAM,GAAG,IAAW,EACzC,EAAG,YAAY,CAAM,CACzB,KACI,OAAM,GAAG,IAAW,CAE5B,CACJ,EACJ,GAAG,KAAK", "names": [] } diff --git a/layouts/_default/base.html b/layouts/_default/base.html index e1198568424..8069346171b 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -41,7 +41,7 @@ {{end}} {{if .Params.err}} - + {{end}} diff --git a/pages/302.html b/pages/302.html index 73c4ad82a9b..1cbed3078bc 100644 --- a/pages/302.html +++ b/pages/302.html @@ -13,7 +13,7 @@ 302 REDIRECT

        We're sorry, but the subdomain  does not exist.
        - You will be redirected (again) in 5 seconds. + You will be redirected (again) in 7 seconds.

        diff --git a/pages/404.html b/pages/404.html index fd3b3770677..2428dffb496 100644 --- a/pages/404.html +++ b/pages/404.html @@ -12,7 +12,7 @@

        ERROR 404
        We're sorry, but the page you requested could not be found -
        You will be redirected in 5 seconds. +
        You will be redirected in 7 seconds.

        From 1a4fd7eeee82c0df4f853393f5943bcc1abe8ae6 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 21 Feb 2023 08:49:40 +0100 Subject: [PATCH 127/145] xad count --- assets/main.ts | 2 +- docs/main.js | 2 +- docs/main.js.map | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index 0637d25430a..ac66f62a640 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -76,7 +76,7 @@ declare var ethicalads: any; (function (el: any) { window.onload = async () => { if (el = document.getElementById(el)) { - let countUrl = 'https://js.org/count/xad_'; + let countUrl = 'https://xad.js.org/xad_'; if (!window.ethicalads || (await ethicalads?.wait).length == 0) { const script = document.createElement('script'); script.id = "_carbonads_js"; diff --git a/docs/main.js b/docs/main.js index e144f6a7f9d..93108e94bb5 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var w=(e,n,t)=>new Promise((r,o)=>{var h=a=>{try{d(t.next(a))}catch(l){o(l)}},i=a=>{try{d(t.throw(a))}catch(l){o(l)}},d=a=>a.done?r(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=7;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),r=document.createElement("script");window[t]=o=>{e.innerHTML=((o.data.watchers||0)/1e3).toFixed(1)+"K"},r.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(r,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,r=1,o=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,c=e.innerHTML,s=c.length,f=-1,g=()=>{s-- >0?(e.className="active",e.innerHTML=c.slice(0,s),setTimeout(g,i+i*s/c.length*d+i*a*Math.random())):(c=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{s++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://js.org/count/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); +(()=>{var w=(e,n,t)=>new Promise((c,s)=>{var h=a=>{try{d(t.next(a))}catch(l){s(l)}},i=a=>{try{d(t.throw(a))}catch(l){s(l)}},d=a=>a.done?c(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=7;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),c=document.createElement("script");window[t]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},c.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(c,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,c=1,s=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,r=e.innerHTML,o=r.length,f=-1,g=()=>{o-- >0?(e.className="active",e.innerHTML=r.slice(0,o),setTimeout(g,i+i*o/r.length*d+i*a*Math.random())):(r=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{o++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://xad.js.org/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 970d972e4b3..2a4d473a07e 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://js.org/count/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], - "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAW,4BACf,GAAI,CAAC,OAAO,YAAe,MAAM,oCAAY,MAAM,QAAU,EAAG,CAC5D,GAAM,GAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,GAAK,gBACZ,EAAO,IAAM,+DACb,EAAO,MAAQ,GACf,EAAO,QAAU,IAAM,CAAC,EAAG,UAAU,IAAI,SAAS,EAAG,MAAM,GAAG,KAAY,CAAC,EAC3E,EAAO,OAAS,IAAK,MAAM,GAAG,IAAW,EACzC,EAAG,YAAY,CAAM,CACzB,KACI,OAAM,GAAG,IAAW,CAE5B,CACJ,EACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], + "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAW,0BACf,GAAI,CAAC,OAAO,YAAe,MAAM,oCAAY,MAAM,QAAU,EAAG,CAC5D,GAAM,GAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,GAAK,gBACZ,EAAO,IAAM,+DACb,EAAO,MAAQ,GACf,EAAO,QAAU,IAAM,CAAC,EAAG,UAAU,IAAI,SAAS,EAAG,MAAM,GAAG,KAAY,CAAC,EAC3E,EAAO,OAAS,IAAK,MAAM,GAAG,IAAW,EACzC,EAAG,YAAY,CAAM,CACzB,KACI,OAAM,GAAG,IAAW,CAE5B,CACJ,EACJ,GAAG,KAAK", "names": [] } From 1dbeb807104d95f5fbbf1dbe5e470153534e9cc6 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Tue, 21 Feb 2023 09:25:16 +0100 Subject: [PATCH 128/145] ead err id --- docs/302.html | 2 +- docs/404.html | 2 +- pages/302.html | 2 +- pages/404.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/302.html b/docs/302.html index a9652795466..84d568c09f7 100644 --- a/docs/302.html +++ b/docs/302.html @@ -109,7 +109,7 @@ You will be redirected (again) in 7 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the
        You will be redirected in 7 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the
        You will be redirected (again) in 7 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the
        You will be redirected in 7 seconds.

        -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the
        Date: Wed, 22 Feb 2023 16:42:18 +0100 Subject: [PATCH 129/145] xad carbon --- assets/main.ts | 7 ++++++- docs/302.html | 11 ++++++++--- docs/404.html | 11 ++++++++--- docs/index.html | 9 ++++++--- docs/main.js | 2 +- docs/main.js.map | 4 ++-- pages/302.html | 11 ++++++++--- pages/404.html | 11 ++++++++--- pages/_index.html | 9 ++++++--- 9 files changed, 53 insertions(+), 22 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index ac66f62a640..55a0c85daaf 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -76,6 +76,11 @@ declare var ethicalads: any; (function (el: any) { window.onload = async () => { if (el = document.getElementById(el)) { + let xad_c = document.getElementById('_carbonads_projs') + if (!xad_c) el.classList.add('blocked'); + fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`) + + /* let countUrl = 'https://xad.js.org/xad_'; if (!window.ethicalads || (await ethicalads?.wait).length == 0) { const script = document.createElement('script'); @@ -87,7 +92,7 @@ declare var ethicalads: any; el.appendChild(script); } else { fetch(`${countUrl}e`) - } + }*/ } } })('xad'); diff --git a/docs/302.html b/docs/302.html index 84d568c09f7..2c5e53b3b71 100644 --- a/docs/302.html +++ b/docs/302.html @@ -109,11 +109,16 @@ You will be redirected (again) in 7 seconds.

        diff --git a/docs/404.html b/docs/404.html index cfe40832d57..37537983e9a 100644 --- a/docs/404.html +++ b/docs/404.html @@ -108,11 +108,16 @@
        You will be redirected in 7 seconds.

        -
        - + Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets the Acceptable Ads Standard.
        + +
        diff --git a/docs/index.html b/docs/index.html index 9f5ed1c7ca4..4e0835ee563 100644 --- a/docs/index.html +++ b/docs/index.html @@ -172,12 +172,15 @@

        4

        To finish the procedure, make a pull request in our GitHub
        -
        - + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        + +

        ImportantAs the owner of the repository, you keep complete control over your published diff --git a/docs/main.js b/docs/main.js index 93108e94bb5..2c74e805ead 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var w=(e,n,t)=>new Promise((c,s)=>{var h=a=>{try{d(t.next(a))}catch(l){s(l)}},i=a=>{try{d(t.throw(a))}catch(l){s(l)}},d=a=>a.done?c(a.value):Promise.resolve(a.value).then(h,i);d((t=t.apply(e,n)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let n=7;setInterval(()=>{--n||(window.top.location.href="https://js.org/?"+m),e.innerText=`${n} second${n>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let n=document.getElementsByTagName("head")[0],t="cb_"+Math.random().toString(36).substring(2,16),c=document.createElement("script");window[t]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},c.src="https://api.github.com/repos/js-org/js.org?callback="+t,n.insertBefore(c,n.firstChild)})("ghstars");(function(e,n){if(!(e=document.getElementById(e)))return;m&&n.unshift(m.substring(0,8));let t=1e3/4,c=1,s=.2,h=3e3,i=1e3/16,d=1,a=.2,l=500,r=e.innerHTML,o=r.length,f=-1,g=()=>{o-- >0?(e.className="active",e.innerHTML=r.slice(0,o),setTimeout(g,i+i*o/r.length*d+i*a*Math.random())):(r=""+n[f=(f+1)%n.length],setTimeout(u,l))},u=()=>{o++w(this,null,function*(){if(e=document.getElementById(e)){let n="https://xad.js.org/xad_";if(!window.ethicalads||(yield ethicalads==null?void 0:ethicalads.wait).length==0){let t=document.createElement("script");t.id="_carbonads_js",t.src="//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg",t.async=!0,t.onerror=()=>{e.classList.add("blocked"),fetch(`${n}no`)},t.onload=()=>fetch(`${n}c`),e.appendChild(t)}else fetch(`${n}e`)}})})("xad");})(); +(()=>{var w=(e,t,n)=>new Promise((o,s)=>{var u=a=>{try{d(n.next(a))}catch(l){s(l)}},c=a=>{try{d(n.throw(a))}catch(l){s(l)}},d=a=>a.done?o(a.value):Promise.resolve(a.value).then(u,c);d((n=n.apply(e,t)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let t=7;setInterval(()=>{--t||(window.top.location.href="https://js.org/?"+m),e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],n="cb_"+Math.random().toString(36).substring(2,16),o=document.createElement("script");window[n]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},o.src="https://api.github.com/repos/js-org/js.org?callback="+n,t.insertBefore(o,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;m&&t.unshift(m.substring(0,8));let n=1e3/4,o=1,s=.2,u=3e3,c=1e3/16,d=1,a=.2,l=500,r=e.innerHTML,i=r.length,g=-1,f=()=>{i-- >0?(e.className="active",e.innerHTML=r.slice(0,i),setTimeout(f,c+c*i/r.length*d+c*a*Math.random())):(r=""+t[g=(g+1)%t.length],setTimeout(h,l))},h=()=>{i++w(this,null,function*(){if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}})})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 2a4d473a07e..2dcad1599e5 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n }\r\n }\r\n})('xad');\r\n"], - "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAW,0BACf,GAAI,CAAC,OAAO,YAAe,MAAM,oCAAY,MAAM,QAAU,EAAG,CAC5D,GAAM,GAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,GAAK,gBACZ,EAAO,IAAM,+DACb,EAAO,MAAQ,GACf,EAAO,QAAU,IAAM,CAAC,EAAG,UAAU,IAAI,SAAS,EAAG,MAAM,GAAG,KAAY,CAAC,EAC3E,EAAO,OAAS,IAAK,MAAM,GAAG,IAAW,EACzC,EAAG,YAAY,CAAM,CACzB,KACI,OAAM,GAAG,IAAW,CAE5B,CACJ,EACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let xad_c = document.getElementById('_carbonads_projs')\r\n if (!xad_c) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`)\r\n\r\n /*\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }*/\r\n }\r\n }\r\n})('xad');\r\n"], + "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAQ,SAAS,eAAe,kBAAkB,EACtD,AAAK,GAAO,EAAG,UAAU,IAAI,SAAS,EACtC,MAAM,0BAA0B,EAAQ,IAAM,MAAM,CAexD,CACJ,EACJ,GAAG,KAAK", "names": [] } diff --git a/pages/302.html b/pages/302.html index 92adecf1261..0d1dbad37a9 100644 --- a/pages/302.html +++ b/pages/302.html @@ -16,10 +16,15 @@ You will be redirected (again) in 7 seconds.

        -
        - + Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets the Acceptable Ads Standard.
        + +
        \ No newline at end of file diff --git a/pages/404.html b/pages/404.html index 67ae3f084eb..63212f34bfb 100644 --- a/pages/404.html +++ b/pages/404.html @@ -15,10 +15,15 @@
        You will be redirected in 7 seconds.

        -
        - + Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets the Acceptable Ads Standard.
        + +
        \ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index eda5dc407eb..abe6a1f2b0c 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -71,12 +71,15 @@

        4

        To finish the procedure, make a pull request in our GitHub
        -
        - + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        + +

        ImportantAs the owner of the repository, you keep complete control over your published From d62579e7bcfd249b00d83417c359fd0561531e28 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Wed, 22 Feb 2023 16:48:36 +0100 Subject: [PATCH 130/145] main.ts update --- assets/main.ts | 3 ++- docs/main.js.map | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index 55a0c85daaf..4cfce546598 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -92,7 +92,8 @@ declare var ethicalads: any; el.appendChild(script); } else { fetch(`${countUrl}e`) - }*/ + } + */ } } })('xad'); diff --git a/docs/main.js.map b/docs/main.js.map index 2dcad1599e5..386178ae583 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let xad_c = document.getElementById('_carbonads_projs')\r\n if (!xad_c) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`)\r\n\r\n /*\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }*/\r\n }\r\n }\r\n})('xad');\r\n"], - "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAQ,SAAS,eAAe,kBAAkB,EACtD,AAAK,GAAO,EAAG,UAAU,IAAI,SAAS,EACtC,MAAM,0BAA0B,EAAQ,IAAM,MAAM,CAexD,CACJ,EACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let xad_c = document.getElementById('_carbonads_projs')\r\n if (!xad_c) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`)\r\n\r\n /*\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n */\r\n }\r\n }\r\n})('xad');\r\n"], + "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAQ,SAAS,eAAe,kBAAkB,EACtD,AAAK,GAAO,EAAG,UAAU,IAAI,SAAS,EACtC,MAAM,0BAA0B,EAAQ,IAAM,MAAM,CAgBxD,CACJ,EACJ,GAAG,KAAK", "names": [] } From 99ec66ceeaa35dd3b1c18f54ba35d9513654b017 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 10:34:25 +0100 Subject: [PATCH 131/145] revert ethical ads --- assets/main.scss | 90 ++++++++++++------ assets/main.ts | 32 ++----- assets/xad.scss | 190 ++++++++++++++----------------------- docs/302.html | 43 ++++----- docs/404.html | 43 ++++----- docs/imprint.html | 28 ++---- docs/index.html | 53 ++++------- docs/main.js | 2 +- docs/main.js.map | 4 +- docs/privacy.html | 8 +- docs/sitemap.xml | 10 ++ docs/terms.html | 116 +++++++--------------- layouts/_default/base.html | 25 +++-- pages/302.html | 22 ++--- pages/404.html | 21 ++-- pages/_index.html | 34 ++----- pages/imprint.html | 23 +---- pages/terms.html | 112 +++++++--------------- 18 files changed, 328 insertions(+), 528 deletions(-) diff --git a/assets/main.scss b/assets/main.scss index 87f476d322c..092871d7c4c 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -24,10 +24,13 @@ html { background: $key; } + + + body { padding: 0 5%; font-family: "Source Sans Pro", Arial, Helvetica, sans-serif; - line-height: 1.6; + line-height: 1.5; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; -ms-text-size-adjust: 100%; @@ -65,6 +68,9 @@ svg { } p { + margin-top: 0.5em; + line-height: 1.6em; + &.bigger { font-size: 1.3em; } @@ -99,20 +105,24 @@ a { padding: 0.5em 0.7em 0.5em 0; z-index: 1; } + span { pointer-events: none; } background: $txt; + &.gray, & .gray { background: $gray !important; } + &.blue, & .blue { background: $blue !important; } } + a.badge, .badge a { &:hover { @@ -126,6 +136,7 @@ a.badge, padding-left: 0.6em; padding-right: 0.5em; margin-right: 0.8em; + &:after { content: ""; position: absolute; @@ -180,8 +191,10 @@ footer { height: 1.5px; background: $txt; } + font-size: 0.8rem; line-height: 1em; + * { align-self: flex-end; } @@ -190,81 +203,96 @@ footer { .err { text-align: center; margin: 2em 0; + em { line-height: 2em; font-size: 2em; margin: 1em 1em 1em 0.7em; } + p { margin: 2em; } } +#oc { + display: none; + margin-right: 3px; +} + +@media only screen and (min-width: $break-s) { + #oc { + display: inline-block; + } +} @media only screen and (min-width: $break-m) { .err { - margin: 3em 0 4em; - em { - min-width: 330px; - font-size: 3em; - } - p { - margin: 3em; - } + margin: 3em 0 4em; + + em { + min-width: 330px; + font-size: 3em; + } + + p { + margin: 3em; + } } } - @media (prefers-color-scheme: dark) { html { - scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); - background: $txt; - color: $key; + scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); + background: $txt; + color: $key; } ::selection { - background: $key; - color: $txt; + background: $key; + color: $txt; } ::-webkit-scrollbar-track { - background: fade-out($key, 0.8); + background: fade-out($key, 0.8); } ::-webkit-scrollbar-thumb { - background: fade-out($key, 0.5); + background: fade-out($key, 0.5); } ::-webkit-scrollbar-thumb:active { - background: $key; + background: $key; } em { - background: $key; - color: $txt; + background: $key; + color: $txt; } .badge { - background: $key; + background: $key; - span, a { - color: $txt; - } + span, + a { + color: $txt; + } - .blue { - color: $alt; - } + .blue { + color: $alt; + } } .tri, .badge :first-child { - background: $key; + background: $key; } footer { - hr { - background: $key; - } + hr { + background: $key; + } } + } \ No newline at end of file diff --git a/assets/main.ts b/assets/main.ts index 4cfce546598..f1b36593dbe 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -8,14 +8,15 @@ const search = window.location.search.slice(1).replace(/\.js$/, ''); (function (el: any) { if (el = document.getElementById(el)) { - let sec = 7; + let sec = 5; setInterval(() => { - if (!--sec) window.top.location.href = 'https://js.org/?' + search; + if (!--sec) return window.top.location.href = 'https://js.org/?' + search; el.innerText = `${sec} second${sec > 1 ? 's' : ''}` }, 1000) } })('rt'); + (function (el: any) { if (!(el = document.getElementById(el))) return; const h = document.getElementsByTagName('head')[0], @@ -71,29 +72,12 @@ const search = window.location.search.slice(1).replace(/\.js$/, ''); })('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']); -declare var ethicalads: any; - (function (el: any) { - window.onload = async () => { + window.onload = () => { if (el = document.getElementById(el)) { - let xad_c = document.getElementById('_carbonads_projs') - if (!xad_c) el.classList.add('blocked'); - fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`) - - /* - let countUrl = 'https://xad.js.org/xad_'; - if (!window.ethicalads || (await ethicalads?.wait).length == 0) { - const script = document.createElement('script'); - script.id = "_carbonads_js"; - script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg'; - script.async = true; - script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)}; - script.onload = ()=> fetch(`${countUrl}c`) - el.appendChild(script); - } else { - fetch(`${countUrl}e`) - } - */ + let xad = document.getElementById('_carbonads_projs') + if (!xad) el.classList.add('blocked'); + fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`) } } -})('xad'); +})('xad'); \ No newline at end of file diff --git a/assets/xad.scss b/assets/xad.scss index 4030dc1f97d..85d8517fa3a 100644 --- a/assets/xad.scss +++ b/assets/xad.scss @@ -1,89 +1,71 @@ @import "vars"; +$bor_stroke: 28px; +$bor_gap: 20px; + #xad { - &.responsive { + &.float { + position: relative; + margin: 8px 0 10px 20px; float: right; - margin-left: .6em; - margin-bottom: .8em; - } + position: relative; + width: 130px; + margin: auto; + min-height: 100px; + font-weight: 600; + display: flex; + justify-content: center; + flex-direction: column; + line-height: 1.4; + transition: opacity 500ms; + #xad-blocked { padding: 1em; font-size: 0.85em; text-align: center; display: none; - } - &.blocked { - opacity: 0.6; - position: relative; - width: 170px; - margin: auto; - min-height: 100px; - font-weight: 600; - display: flex; - justify-content: center; - flex-direction: column; - line-height: 1.4; + a { + text-decoration: underline; + } + } - &.responsive { - margin: .5em 0 .5em 2em; - } + background-image: repeating-linear-gradient(0deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(90deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(180deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(270deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke); + background-size: 4px 100%, + 100% 4px, + 4px 100%, + 100% 4px; + background-position: 0 0, + 0 0, + 100% 0, + 0 100%; + background-repeat: no-repeat; - background-image: - repeating-linear-gradient(0deg, $txt, $txt 1.4em, transparent 1.4em, transparent 2.4em, $txt 2.4em), - repeating-linear-gradient(90deg, $txt, $txt 1.4em, transparent 1.4em, transparent 2.4em, $txt 2.4em), - repeating-linear-gradient(180deg, $txt, $txt 1.4em, transparent 1.4em, transparent 2.4em, $txt 2.4em), - repeating-linear-gradient(270deg, $txt, $txt 1.4em, transparent 1.4em, transparent 2.4em, $txt 2.4em); - background-size: 4px 100%, - 100% 4px, - 4px 100%, - 100% 4px; - background-position: 0 0, - 0 0, - 100% 0, - 0 100%; - background-repeat: no-repeat; + &.blocked { + opacity: 0.6; #xad-blocked { display: block; - a { - text-decoration: underline; - } } } } -#ethicalads_main { - .ea-content { - margin-top: 0; - margin-right: 0; - } - - .ea-callout { - margin-right: 0; - margin-bottom: 0; - } -} - #carbonads { - position: relative; - margin: auto; top: 0; display: flex; + float: right; max-width: 130px; background-color: #fff; font-size: 11px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, Arial, sans-serif; - #xad.responsive & { - - margin: .5em 0 0 1em; - } - & * { margin: initial; padding: initial; @@ -124,8 +106,7 @@ & .carbon-poweredby { display: block; padding: 10px; - background: - repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, 0.025) 5px, hsla(0, 0%, 0%, 0.025) 10px) hsla(203, 11%, 95%, 0.4); + background: repeating-linear-gradient(-45deg, transparent, transparent 5px, hsla(0, 0%, 0%, 0.025) 5px, hsla(0, 0%, 0%, 0.025) 10px) hsla(203, 11%, 95%, 0.4); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; @@ -134,83 +115,50 @@ } } -@media only screen and (min-width: $break_l) { +@media only screen and (min-width: 570px) { #xad { - &.responsive { - - .ea-content { - max-width: 320px !important; - - .ea-text { - margin-top: 0em; - text-align: left; - overflow: auto; - } - - a img { - float: left; - margin-right: 1em; - } - } - - .ea-callout { - max-width: 320px !important; - text-align: right; - } - - #carbonads { - max-width: 330px; - - & .carbon-wrap { - display: flex; - flex-direction: row; - } - - & .carbon-img { - margin: 0; - } - - & .carbon-text { - padding: 10px 10px 0 10px; - font-size: 12px; - } - - & .carbon-poweredby { - position: absolute; - right: 0; - bottom: 0; - border-radius: 0; - border-top-left-radius: 3px; - text-align: center; - } - } + width: 330px; + height: 100px; + } + #carbonads { + max-width: 330px; + & .carbon-wrap { + display: flex; + flex-direction: row; } - } -} + & .carbon-img { + margin: 0; + } + & .carbon-text { + padding: 10px 10px 0 10px; + font-size: 12px; + } + & .carbon-poweredby { + position: absolute; + right: 0; + bottom: 0; + border-radius: 0; + border-top-left-radius: 3px; + text-align: center; + } + } -@media only screen and (min-width: $break-l) { - #xad.blocked { - width: 330px; - height: 100px; - } } @media (prefers-color-scheme: dark) { - #xad.blocked { - background-image: - - repeating-linear-gradient(0deg, $key, $key 1.4em, transparent 1.4em, transparent 2.4em, $key 2.4em), - repeating-linear-gradient(90deg, $key, $key 1.4em, transparent 1.4em, transparent 2.4em, $key 2.4em), - repeating-linear-gradient(180deg, $key, $key 1.4em, transparent 1.4em, transparent 2.4em, $key 2.4em), - repeating-linear-gradient(270deg, $key, $key 1.4em, transparent 1.4em, transparent 2.4em, $key 2.4em); - } + #xad { + background-image: repeating-linear-gradient(0deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(90deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(180deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(270deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke); + } } \ No newline at end of file diff --git a/docs/302.html b/docs/302.html index 2c5e53b3b71..826bf37c744 100644 --- a/docs/302.html +++ b/docs/302.html @@ -27,7 +27,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -46,17 +46,17 @@ - - - @@ -66,6 +66,7 @@ + @@ -91,10 +92,10 @@

        @@ -106,21 +107,14 @@ 302 REDIRECT

        We're sorry, but the subdomain  does not exist.
        - You will be redirected (again) in 7 seconds. + You will be redirected (again) in 5 seconds.

        -
        - - Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets - the Acceptable Ads Standard.
        - - +
        + + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        + diff --git a/docs/404.html b/docs/404.html index 37537983e9a..382aead1fb4 100644 --- a/docs/404.html +++ b/docs/404.html @@ -27,7 +27,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -46,17 +46,17 @@ - - - @@ -66,6 +66,7 @@ + @@ -91,10 +92,10 @@
        @@ -103,21 +104,14 @@

        - ERROR 404 -
        We're sorry, but the page you requested could not be found -
        You will be redirected in 7 seconds. + ERROR 404 +
        We're sorry, but the page you requested could not be found +
        You will be redirected in 5 seconds.

        -
        +
        - Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets - the Acceptable Ads Standard.
        - - + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        @@ -128,8 +122,8 @@ Donatefor registrar fees - GitHub + GitHub 4K @@ -150,8 +144,7 @@
        WEBDESIGN:
        20zweinull -
        PrivacyImprint + diff --git a/docs/imprint.html b/docs/imprint.html index 8d8e4b7b0f9..0bdb608a0b8 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -30,15 +30,16 @@ - - + + @@ -96,26 +97,14 @@

        Responsible for Editorial Content

        Stefan Keim

        Terms of Use for Published Contact Data

        -

        The use of contact data published within the framework of the imprint obligation by third parties for the - transmission of not expressly requested advertising and information material is hereby expressly rejected. The - operator of the website expressly takes legal action in the event of the unsolicited sending of advertising - information (e.g., spam mail).

        +

        The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

        Disclaimer

        -

        As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according - to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor - transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. - Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any - liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is - obtained. If we become aware of any legal infringements, we will remove these contents immediately.

        +

        As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

        Liability for Links

        -

        Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we - can not assume any liability for these third-party contents. The respective provider or operator of the pages is - always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations - at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control - of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove - such links immediately, if we become aware of any legal infringements.

        +

        Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

        + diff --git a/docs/index.html b/docs/index.html index 4e0835ee563..f95c9386f9a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -29,7 +29,7 @@ - + @@ -46,7 +46,7 @@ - @@ -58,12 +58,12 @@ - - @@ -73,6 +73,7 @@ + @@ -98,10 +99,10 @@
        @@ -114,8 +115,6 @@ Pages. To make things perfect we provide you with a free and sleek URL like one of these:

        - -

        https://foo.js.org

        @@ -130,8 +129,7 @@

        1

        If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions - here.
        Make sure to add some reasonable content to your new page. + here.
        Make sure to add some reasonable content to your new page.
        @@ -170,28 +168,18 @@

        4

        To finish the procedure, make a pull request in our GitHub - -
        - - Looks like your ad blocker worked.
        This would have been a paid advertisement that meets - the Acceptable Ads Standard.
        - - +
        + + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.

        - ImportantAs the owner of the repository, you keep complete control over your published - content. - But that also means that all rights and duties that come along with publishing a website remain in your - responsibility. + ImportantAs the owner of the repository, you keep complete control over your published content. + But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

        - Have a look at our Terms and Conditions for more - details. + Have a look at our Terms and Conditions for more details.

        + diff --git a/docs/main.js b/docs/main.js index 2c74e805ead..1cb3584f1bc 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var w=(e,t,n)=>new Promise((o,s)=>{var u=a=>{try{d(n.next(a))}catch(l){s(l)}},c=a=>{try{d(n.throw(a))}catch(l){s(l)}},d=a=>a.done?o(a.value):Promise.resolve(a.value).then(u,c);d((n=n.apply(e,t)).next())});var m=window.location.search.slice(1).replace(/\.js$/,"");(function(e){m&&(e=document.getElementById(e))&&(e.innerHTML=m)})("sd");(function(e){if(e=document.getElementById(e)){let t=7;setInterval(()=>{--t||(window.top.location.href="https://js.org/?"+m),e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],n="cb_"+Math.random().toString(36).substring(2,16),o=document.createElement("script");window[n]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},o.src="https://api.github.com/repos/js-org/js.org?callback="+n,t.insertBefore(o,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;m&&t.unshift(m.substring(0,8));let n=1e3/4,o=1,s=.2,u=3e3,c=1e3/16,d=1,a=.2,l=500,r=e.innerHTML,i=r.length,g=-1,f=()=>{i-- >0?(e.className="active",e.innerHTML=r.slice(0,i),setTimeout(f,c+c*i/r.length*d+c*a*Math.random())):(r=""+t[g=(g+1)%t.length],setTimeout(h,l))},h=()=>{i++w(this,null,function*(){if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}})})("xad");})(); +(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;setInterval(()=>{if(!--t)return window.top.location.href="https://js.org/?"+a;e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],r="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[r]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+r,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let r=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}}})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 386178ae583..11cc5630ec7 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 7;\r\n setInterval(() => {\r\n if (!--sec) window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\ndeclare var ethicalads: any;\r\n\r\n(function (el: any) {\r\n window.onload = async () => {\r\n if (el = document.getElementById(el)) {\r\n let xad_c = document.getElementById('_carbonads_projs')\r\n if (!xad_c) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad_c ? 'c' : 'no'}`)\r\n\r\n /*\r\n let countUrl = 'https://xad.js.org/xad_';\r\n if (!window.ethicalads || (await ethicalads?.wait).length == 0) {\r\n const script = document.createElement('script');\r\n script.id = \"_carbonads_js\";\r\n script.src = '//cdn.carbonads.com/carbon.js?serve=CESD4K3E&placement=jsorg';\r\n script.async = true;\r\n script.onerror = () => {el.classList.add('blocked'); fetch(`${countUrl}no`)};\r\n script.onload = ()=> fetch(`${countUrl}c`)\r\n el.appendChild(script);\r\n } else {\r\n fetch(`${countUrl}e`)\r\n }\r\n */\r\n }\r\n }\r\n})('xad');\r\n"], - "mappings": "mNAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,AAAK,EAAE,GAAK,QAAO,IAAI,SAAS,KAAO,mBAAqB,GAC5D,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAK9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAY,wBACxB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAQ,SAAS,eAAe,kBAAkB,EACtD,AAAK,GAAO,EAAG,UAAU,IAAI,SAAS,EACtC,MAAM,0BAA0B,EAAQ,IAAM,MAAM,CAgBxD,CACJ,EACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let xad = document.getElementById('_carbonads_projs')\r\n if (!xad) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`)\r\n }\r\n }\r\n})('xad');"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,GAAI,CAAC,EAAE,EAAK,MAAO,QAAO,IAAI,SAAS,KAAO,mBAAqB,EACnE,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAGP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAG9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,0BAA0B,EAAM,IAAM,MAAM,CACtD,CACJ,CACJ,GAAG,KAAK", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index cf76437bfdb..69d65b9cf90 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -30,15 +30,16 @@ - - + + @@ -353,8 +354,7 @@

        Legal information


        WEBDESIGN: 20zweinull -
        PrivacyImprint + diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 91868d9dcce..9b5a5d2a26c 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -3,15 +3,25 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> https://js.org/302.html + yearly + 0.1 https://js.org/404.html + yearly + 0.1 https://js.org/imprint.html + yearly + 0.5 https://js.org/privacy.html https://js.org/terms.html + yearly + 0.6 https://js.org/ + yearly + 1 diff --git a/docs/terms.html b/docs/terms.html index bc5501c6b8d..2d773faf5cf 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -30,15 +30,16 @@ - - + + @@ -69,44 +70,28 @@

        Terms and Conditions of JS.ORG

        § 1 Principles

        -
          -
        1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only - called "JS.ORG". All services are incumbent upon these terms and conditions.
        2. -
        3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides - free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
        4. -
        5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
        6. -
        7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or - comments.
        8. -
        9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record - to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole - basis of all services provided by JS.ORG.
        10. +
            +
          1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
          2. +
          3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
          4. +
          5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
          6. +
          7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
          8. +
          9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

          § 2 Availability and reservations

          -

          JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not - exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no - ownership or other rights to single services, the registered subdomains and the whole service.

          -

          If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to - damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and - without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. - The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

          +

          JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

          +

          If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

          § 3 Termination

          -
            -
          1. Both sides can terminate at any time without stating any reasons.
          2. -
          3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the - repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
          4. -
          5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at - least 7 days in advance by an issue in their GitHub repository
          6. +
              +
            1. Both sides can terminate at any time without stating any reasons.
            2. +
            3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
            4. +
            5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

            § 4 Rights and Duties of the user

            -

            A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these - terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right - from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

            -

            The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate - JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of - others or violates statutory provisions.

            +

            A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

            +

            The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

            In particular providing content like the following is prohibited:

            • Piracy (warez, videos, MP3s, DVDs, software, etc.)
            • @@ -114,77 +99,49 @@

              § 4 Rights and Duties of the user

            • Copyright offense
            • Dubious business models (eg, pyramid schemes, chain letters, etc.)
            • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
            • -
            • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise - contrary to national or international laws
            • +
            • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
            • Pornography or content intended for adults only
            • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
            • File or Image hosting
            • Sites with other illegal content

            A violation of these rules will result in immediate deletion of the JS.ORG domain.

            -

            The user is obliged to publish legals on his website which contains at least the full name, mailing address and an - e-mail adress.

            +

            The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

            § 5 Limitation of Liability

            -
              -
            • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes - place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of - the provided services as well as damage caused by the use of programs, program components and scripts/applets. - The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to - secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the - users.
            • -
            • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are - liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
            • -
            • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent - disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges - that these terms also effect third party supplies.
            • -
            • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, - limb and health, and other damages caused by gross neglect of duty on JS.ORG
            • -
            • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
            • -
            • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits - is excluded.
            • -
            • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of - JS.ORG is only in the context of intent and gross negligence.
            • +
                +
              • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
              • +
              • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
              • +
              • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
              • +
              • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
              • +
              • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
              • +
              • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
              • +
              • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

              § 6 Name of the subdomain

              -

              Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with - respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility - of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade - marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. - The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the - participation in the service because of their content according to § 4.

              +

              Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

              § 7 Absolute ban of spam

              -

              References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. - The mass registering of domains for the purpose of irritation to the users of search engines are also considered - spam and are also inadmissible.

              +

              References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

              § 8 Manipulation

              It is prohibited to auto retrieve masses of JS.ORG subdomains.

              § 9 Responsibility

              -

              JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link - destinations of subdomains, or otherwise linked to this service.

              +

              JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

              § 10 Place of jurisdiction

              -

              Service provision and the usage of the service according to these terms and conditions is exclusively subject to the - application of the law of the Federal Republic of Germany. Application of conflict of laws of private international - law is expressly excluded.

              +

              Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

              The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

              -

              For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For - users who do not have general jurisdiction and no resident in Germany at the time of the commencement of - proceedings, Munich will be the place of jurisdiction.

              -

              For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in - Munich.

              +

              For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

              +

              For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

              § 11 Change of Terms

              -

              JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes - through a notice in the readme section of the JS.ORG repository.

              +

              JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

              § 12 Severability clause

              -

              If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so - otherwise the validity of these terms and conditions remains untouched.

              +

              If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

              diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 8069346171b..94396d088a6 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -31,7 +31,7 @@ - + @@ -41,7 +41,7 @@ {{end}} {{if .Params.err}} - + {{end}} @@ -60,7 +60,7 @@ {{ (printf "<%s>%s" "style" ($index.Content | safeCSS) "style") | safeHTML }} {{end}} {{end}} - + {{if .Params.full}} {{if $xad := resources.Get "xad.scss" }} {{$options := dict "outputStyle" "compressed"}} @@ -74,6 +74,7 @@ {{end}} {{end}} + @@ -105,10 +106,10 @@ {{if .Params.full}} {{end}}
        @@ -127,8 +128,8 @@ Donatefor registrar fees - GitHub + GitHub {{if .Params.full}} 4K {{end}} @@ -153,16 +154,14 @@
        WEBDESIGN:
        20zweinull -
        PrivacyImprint + {{ end -}} {{if .Params.full}} {{if $script:= resources.Get "main.ts" }} - {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" - (cond .Site.IsServer "inline" "external")}} + {{ $options := dict "targetPath" "main.js" "target" "es2015" "minify" (cond .Site.IsServer false true) "sourcemap" (cond .Site.IsServer "inline" "external")}} {{ $script := $script | js.Build $options }} {{ end }} diff --git a/pages/302.html b/pages/302.html index 0d1dbad37a9..9fec1a21199 100644 --- a/pages/302.html +++ b/pages/302.html @@ -4,8 +4,8 @@ err: true full: true sitemap: -priority: 0.1 -changefreq: yearly + priority: 0.1 + changefreq: yearly --- @@ -13,18 +13,10 @@ 302 REDIRECT

        We're sorry, but the subdomain  does not exist.
        - You will be redirected (again) in 7 seconds. + You will be redirected (again) in 5 seconds.

        -
        - - Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets - the Acceptable Ads Standard.
        - - +
        + + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        -
        \ No newline at end of file +
        diff --git a/pages/404.html b/pages/404.html index 63212f34bfb..883d079b12e 100644 --- a/pages/404.html +++ b/pages/404.html @@ -4,26 +4,19 @@ err: true full: true sitemap: -priority: 0.1 -changefreq: yearly + priority: 0.1 + changefreq: yearly ---

        - ERROR 404 -
        We're sorry, but the page you requested could not be found -
        You will be redirected in 7 seconds. + ERROR 404 +
        We're sorry, but the page you requested could not be found +
        You will be redirected in 5 seconds.

        -
        +
        - Looks like your ad blocker worked.
        This would have been a paid advertisement that - meets - the Acceptable Ads Standard.
        - - + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        \ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index abe6a1f2b0c..dab48e3e444 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -3,8 +3,8 @@ title: the JavaScript organization full: true sitemap: -priority: 1.0 -changefreq: yearly + priority: 1.0 + changefreq: yearly ---

        Are you a JavaScript developer looking for free webspace to host your project? @@ -13,8 +13,6 @@ Pages. To make things perfect we provide you with a free and sleek URL like one of these:

        - -

        https://foo.js.org

        @@ -29,8 +27,7 @@

        1

        If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions - here.
        Make sure to add some reasonable content to your new page. + here.
        Make sure to add some reasonable content to your new page.
        @@ -69,25 +66,14 @@

        4

        To finish the procedure, make a pull request in our GitHub - -
        - - Looks like your ad blocker worked.
        This would have been a paid advertisement that meets - the Acceptable Ads Standard.
        - - +
        + + Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.

        - ImportantAs the owner of the repository, you keep complete control over your published - content. - But that also means that all rights and duties that come along with publishing a website remain in your - responsibility. + ImportantAs the owner of the repository, you keep complete control over your published content. + But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

        - Have a look at our Terms and Conditions for more - details. -

        \ No newline at end of file + Have a look at our Terms and Conditions for more details. +

        diff --git a/pages/imprint.html b/pages/imprint.html index d10b9f8e90e..5beb6459b16 100644 --- a/pages/imprint.html +++ b/pages/imprint.html @@ -3,8 +3,8 @@ title: Imprint lastUpdate: Sep 29, 2021 sitemap: -priority: 0.5 -changefreq: yearly + priority: 0.5 + changefreq: yearly ---

        Imprint

        @@ -36,23 +36,10 @@

        Responsible for Editorial Content

        Stefan Keim

        Terms of Use for Published Contact Data

        -

        The use of contact data published within the framework of the imprint obligation by third parties for the - transmission of not expressly requested advertising and information material is hereby expressly rejected. The - operator of the website expressly takes legal action in the event of the unsolicited sending of advertising - information (e.g., spam mail).

        +

        The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

        Disclaimer

        -

        As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according - to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor - transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. - Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any - liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is - obtained. If we become aware of any legal infringements, we will remove these contents immediately.

        +

        As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

        Liability for Links

        -

        Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we - can not assume any liability for these third-party contents. The respective provider or operator of the pages is - always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations - at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control - of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove - such links immediately, if we become aware of any legal infringements.

        \ No newline at end of file +

        Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

        diff --git a/pages/terms.html b/pages/terms.html index 48ba4c16daa..19f2f62ef75 100644 --- a/pages/terms.html +++ b/pages/terms.html @@ -3,50 +3,34 @@ title: Terms of Service lastUpdate: May 20, 2018 sitemap: -priority: 0.6 -changefreq: yearly + priority: 0.6 + changefreq: yearly ---

        Terms and Conditions of JS.ORG

        § 1 Principles

        -
          -
        1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only - called "JS.ORG". All services are incumbent upon these terms and conditions.
        2. -
        3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides - free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
        4. -
        5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
        6. -
        7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or - comments.
        8. -
        9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record - to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole - basis of all services provided by JS.ORG.
        10. +
            +
          1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
          2. +
          3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
          4. +
          5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
          6. +
          7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
          8. +
          9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

          § 2 Availability and reservations

          -

          JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not - exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no - ownership or other rights to single services, the registered subdomains and the whole service.

          -

          If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to - damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and - without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. - The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

          +

          JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

          +

          If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

          § 3 Termination

          -
            -
          1. Both sides can terminate at any time without stating any reasons.
          2. -
          3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the - repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
          4. -
          5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at - least 7 days in advance by an issue in their GitHub repository
          6. +
              +
            1. Both sides can terminate at any time without stating any reasons.
            2. +
            3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
            4. +
            5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

            § 4 Rights and Duties of the user

            -

            A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these - terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right - from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

            -

            The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate - JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of - others or violates statutory provisions.

            +

            A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

            +

            The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

            In particular providing content like the following is prohibited:

            • Piracy (warez, videos, MP3s, DVDs, software, etc.)
            • @@ -54,74 +38,46 @@

              § 4 Rights and Duties of the user

            • Copyright offense
            • Dubious business models (eg, pyramid schemes, chain letters, etc.)
            • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
            • -
            • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise - contrary to national or international laws
            • +
            • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
            • Pornography or content intended for adults only
            • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
            • File or Image hosting
            • Sites with other illegal content

            A violation of these rules will result in immediate deletion of the JS.ORG domain.

            -

            The user is obliged to publish legals on his website which contains at least the full name, mailing address and an - e-mail adress.

            +

            The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

            § 5 Limitation of Liability

            -
              -
            • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes - place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of - the provided services as well as damage caused by the use of programs, program components and scripts/applets. - The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to - secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the - users.
            • -
            • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are - liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
            • -
            • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent - disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges - that these terms also effect third party supplies.
            • -
            • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, - limb and health, and other damages caused by gross neglect of duty on JS.ORG
            • -
            • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
            • -
            • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits - is excluded.
            • -
            • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of - JS.ORG is only in the context of intent and gross negligence.
            • +
                +
              • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
              • +
              • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
              • +
              • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
              • +
              • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
              • +
              • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
              • +
              • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
              • +
              • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

              § 6 Name of the subdomain

              -

              Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with - respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility - of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade - marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. - The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the - participation in the service because of their content according to § 4.

              +

              Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

              § 7 Absolute ban of spam

              -

              References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. - The mass registering of domains for the purpose of irritation to the users of search engines are also considered - spam and are also inadmissible.

              +

              References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

              § 8 Manipulation

              It is prohibited to auto retrieve masses of JS.ORG subdomains.

              § 9 Responsibility

              -

              JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link - destinations of subdomains, or otherwise linked to this service.

              +

              JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

              § 10 Place of jurisdiction

              -

              Service provision and the usage of the service according to these terms and conditions is exclusively subject to the - application of the law of the Federal Republic of Germany. Application of conflict of laws of private international - law is expressly excluded.

              +

              Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

              The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

              -

              For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For - users who do not have general jurisdiction and no resident in Germany at the time of the commencement of - proceedings, Munich will be the place of jurisdiction.

              -

              For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in - Munich.

              +

              For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

              +

              For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

              § 11 Change of Terms

              -

              JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes - through a notice in the readme section of the JS.ORG repository.

              +

              JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

              § 12 Severability clause

              -

              If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so - otherwise the validity of these terms and conditions remains untouched.

              \ No newline at end of file +

              If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

              \ No newline at end of file From 0c5c53266db6f9744cd85db54fa19297b541a4ef Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 10:46:48 +0100 Subject: [PATCH 132/145] xad err fix --- docs/302.html | 2 +- docs/404.html | 2 +- pages/302.html | 2 +- pages/404.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/302.html b/docs/302.html index 826bf37c744..258ada22232 100644 --- a/docs/302.html +++ b/docs/302.html @@ -109,7 +109,7 @@ We're sorry, but the subdomain  does not exist.
              You will be redirected (again) in 5 seconds.

              -
              +
              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/docs/404.html b/docs/404.html index 382aead1fb4..710f353ea14 100644 --- a/docs/404.html +++ b/docs/404.html @@ -108,7 +108,7 @@
              We're sorry, but the page you requested could not be found
              You will be redirected in 5 seconds.

              -
              +
              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/pages/302.html b/pages/302.html index 9fec1a21199..3d1b0cc24e1 100644 --- a/pages/302.html +++ b/pages/302.html @@ -15,7 +15,7 @@ We're sorry, but the subdomain  does not exist.
              You will be redirected (again) in 5 seconds.

              -
              +
              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/pages/404.html b/pages/404.html index 883d079b12e..d11b2879f50 100644 --- a/pages/404.html +++ b/pages/404.html @@ -14,7 +14,7 @@
              We're sorry, but the page you requested could not be found
              You will be redirected in 5 seconds.

              -
              +
              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              From e91e49cb665f7c1fc4e96646ec5a8bfc851beb2a Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 10:48:23 +0100 Subject: [PATCH 133/145] xad err fix --- docs/302.html | 4 ++-- docs/404.html | 7 +++---- pages/302.html | 4 ++-- pages/404.html | 7 +++---- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/docs/302.html b/docs/302.html index 826bf37c744..75ced646558 100644 --- a/docs/302.html +++ b/docs/302.html @@ -109,9 +109,9 @@ We're sorry, but the subdomain  does not exist.
              You will be redirected (again) in 5 seconds.

              -
              +
              - Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              + Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/docs/404.html b/docs/404.html index 382aead1fb4..db85aeab232 100644 --- a/docs/404.html +++ b/docs/404.html @@ -108,10 +108,9 @@
              We're sorry, but the page you requested could not be found
              You will be redirected in 5 seconds.

              -
              - - Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              +
              + + Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/pages/302.html b/pages/302.html index 9fec1a21199..d05fb789202 100644 --- a/pages/302.html +++ b/pages/302.html @@ -15,8 +15,8 @@ We're sorry, but the subdomain  does not exist.
              You will be redirected (again) in 5 seconds.

              -
              +
              - Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              + Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              diff --git a/pages/404.html b/pages/404.html index 883d079b12e..8d2098d44a2 100644 --- a/pages/404.html +++ b/pages/404.html @@ -14,9 +14,8 @@
              We're sorry, but the page you requested could not be found
              You will be redirected in 5 seconds.

              -
              - - Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              +
              + + Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              \ No newline at end of file From 71b9ef8028bf51e1c33f53c377a8c1a1f36db023 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 12:39:36 +0100 Subject: [PATCH 134/145] prefers-color-scheme fix | cleanup --- assets/_vars.scss | 3 +- assets/main.scss | 69 ++++++++--------- assets/main.ts | 1 + assets/xad.scss | 66 +++++++--------- docs/302.html | 98 ++++++----------------- docs/404.html | 107 +++++++------------------ docs/imprint.html | 62 ++++----------- docs/index.html | 155 ++++++++----------------------------- docs/main.js | 2 +- docs/main.js.map | 4 +- docs/privacy.html | 64 +++++---------- docs/sitemap.xml | 10 --- docs/terms.html | 64 +++++---------- layouts/_default/base.html | 145 +++++++++++++++------------------- pages/302.html | 6 +- pages/404.html | 12 +-- pages/_index.html | 60 ++++---------- pages/imprint.html | 4 +- pages/terms.html | 4 +- 19 files changed, 286 insertions(+), 650 deletions(-) diff --git a/assets/_vars.scss b/assets/_vars.scss index 28bbb136943..ad27d66446d 100644 --- a/assets/_vars.scss +++ b/assets/_vars.scss @@ -3,7 +3,8 @@ $alt: #FFF; $key: #FFE70B; $blue: #0070F0; $gray: #666; +$dark: #333; $break_s: 400px; -$break_m: 530px; +$break_m: 560px; $break_l: 700px; \ No newline at end of file diff --git a/assets/main.scss b/assets/main.scss index 092871d7c4c..9814f11fd3f 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -220,79 +220,72 @@ footer { margin-right: 3px; } -@media only screen and (min-width: $break-s) { +@media only screen and (min-width: $break_s) { #oc { - display: inline-block; + display: inline-block; } } -@media only screen and (min-width: $break-m) { +@media only screen and (min-width: $break_m) { .err { - margin: 3em 0 4em; + margin: 3em 0 4em; - em { - min-width: 330px; - font-size: 3em; - } + em { + min-width: 330px; + font-size: 3em; + } - p { - margin: 3em; - } + p { + margin: 3em; + } } } @media (prefers-color-scheme: dark) { html { - scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); - background: $txt; - color: $key; + scrollbar-color: fade-out($key, 0.5) fade-out($key, 0.8); + background: $txt; + color: $key; } ::selection { - background: $key; - color: $txt; + background: $key; + color: $txt; } ::-webkit-scrollbar-track { - background: fade-out($key, 0.8); + background: fade-out($key, 0.8); } ::-webkit-scrollbar-thumb { - background: fade-out($key, 0.5); + background: fade-out($key, 0.5); } ::-webkit-scrollbar-thumb:active { - background: $key; + background: $key; } em { - background: $key; - color: $txt; + background: $key; + color: $txt; } - .badge { - background: $key; - - span, - a { - color: $txt; - } - - .blue { - color: $alt; - } + .tri { + background: $key; } - .tri, - .badge :first-child { - background: $key; + .badge { + &, :first-child { + background: $dark; + } } footer { - hr { - background: $key; - } + hr { + background: $key; + } + } } \ No newline at end of file diff --git a/assets/main.ts b/assets/main.ts index f1b36593dbe..c9dba4b94de 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -9,6 +9,7 @@ const search = window.location.search.slice(1).replace(/\.js$/, ''); (function (el: any) { if (el = document.getElementById(el)) { let sec = 5; + return; setInterval(() => { if (!--sec) return window.top.location.href = 'https://js.org/?' + search; el.innerText = `${sec} second${sec > 1 ? 's' : ''}` diff --git a/assets/xad.scss b/assets/xad.scss index 85d8517fa3a..359796dafdc 100644 --- a/assets/xad.scss +++ b/assets/xad.scss @@ -1,15 +1,6 @@ @import "vars"; -$bor_stroke: 28px; -$bor_gap: 20px; - #xad { - &.float { - position: relative; - margin: 8px 0 10px 20px; - float: right; - } - position: relative; width: 130px; margin: auto; @@ -21,6 +12,31 @@ $bor_gap: 20px; line-height: 1.4; transition: opacity 500ms; + background-size: 4px 100%, 100% 4px, 4px 100%, 100% 4px; + background-position: 0 0, 0 0, 100% 0, 0 100%; + background-repeat: no-repeat; + + $bor_stroke: 28px; + $bor_gap: 20px; + + background-image: repeating-linear-gradient(0deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(90deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(180deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), + repeating-linear-gradient(270deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke); + + @media (prefers-color-scheme: dark) { + background-image: repeating-linear-gradient(0deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(90deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(180deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), + repeating-linear-gradient(270deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke); + } + + &.float { + position: relative; + margin: 8px 0 10px 20px; + float: right; + } + #xad-blocked { padding: 1em; font-size: 0.85em; @@ -32,27 +48,11 @@ $bor_gap: 20px; } } - - background-image: repeating-linear-gradient(0deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), - repeating-linear-gradient(90deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), - repeating-linear-gradient(180deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke), - repeating-linear-gradient(270deg, $txt, $txt $bor_gap, transparent $bor_gap, transparent $bor_stroke, $txt $bor_stroke); - background-size: 4px 100%, - 100% 4px, - 4px 100%, - 100% 4px; - background-position: 0 0, - 0 0, - 100% 0, - 0 100%; - background-repeat: no-repeat; - &.blocked { opacity: 0.6; #xad-blocked { display: block; - } } } @@ -115,7 +115,7 @@ $bor_gap: 20px; } } -@media only screen and (min-width: 570px) { +@media only screen and (min-width: $break_m) { #xad { width: 330px; @@ -143,22 +143,8 @@ $bor_gap: 20px; position: absolute; right: 0; bottom: 0; - border-radius: 0; border-top-left-radius: 3px; text-align: center; } } - - -} - - -@media (prefers-color-scheme: dark) { - #xad { - background-image: repeating-linear-gradient(0deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), - repeating-linear-gradient(90deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), - repeating-linear-gradient(180deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke), - repeating-linear-gradient(270deg, $key, $key $bor_gap, transparent $bor_gap, transparent $bor_stroke, $key $bor_stroke); - - } } \ No newline at end of file diff --git a/docs/302.html b/docs/302.html index 75ced646558..9a8066aed4c 100644 --- a/docs/302.html +++ b/docs/302.html @@ -5,103 +5,66 @@ - + Error 302 - JS.ORG - - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - -
              - +
              - - - - - - - - - - + + + +
              +
              -
              302 REDIRECT @@ -113,40 +76,23 @@ Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              -
              +
              - diff --git a/docs/404.html b/docs/404.html index cbe4a98cbbf..c9ddd64f890 100644 --- a/docs/404.html +++ b/docs/404.html @@ -5,146 +5,93 @@ - + Error 404 - JS.ORG - - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - -
              - +
              - - - - - - - - - - + + + +
              +
              -

              - ERROR 404 -
              We're sorry, but the page you requested could not be found -
              You will be redirected in 5 seconds. + ERROR 404 +
              We're sorry, but the page you requested could not be found +
              You will be redirected in 5 seconds.

              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              -
              -
              -
              -
              +
              +
              - + diff --git a/docs/imprint.html b/docs/imprint.html index 0bdb608a0b8..7446e3edd85 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -5,69 +5,50 @@ - + Imprint - JS.ORG - - + - + - - - - - - - - + - -
              - +
              - - - - - - - - - - + + + +
              -
              -
              -

              Imprint

              + +

              Imprint

              JS.ORG's focus is to provide free subdomains for the JavaScript community.

              @@ -104,31 +85,22 @@

              Disclaimer

              Liability for Links

              Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

              +
              -
              diff --git a/docs/index.html b/docs/index.html index f95c9386f9a..41883b99924 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,162 +2,91 @@ - - - + JS.ORG - the JavaScript organization - - + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              - +
              - - - - - - + + + -
              -
              -
              - -

              Are you a JavaScript developer looking for free webspace to host your project? -
              Check out - GitHub - Pages. To make things perfect we provide you with a free and sleek URL like one of these: -

              - -

              - https://foo.js.org -

              - -

              Your page just has to provide some reasonable content with a clear connection to JavaScript! - Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

              - +
              +

              Are you a JavaScript developer looking for free webspace to host your project?
              Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

              +

              https://foo.js.org

              +

              Your page just has to provide some reasonable content with a clear connection to JavaScript! Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

              -

              1

              If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page - by following the instructions - here.
              Make sure to add some reasonable content to your new page. +

              1

              If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here.
              Make sure to add some reasonable content to your new page.
              -

              2

              Now you should determine your js.org subdomain: either choose your username or the name of your - repo according - to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be - possible). More details in the - wiki. +

              2

              Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki.
              -

              3

              Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single - line matching - the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the - section - about - Custom - URLs at GitHub Pages Help. +

              3

              Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom URLs at GitHub Pages Help.
              -

              4

              To finish the procedure, make a pull request in our GitHub - repository that adds your - subdomain to the list of existing JS.ORG domains. Your new URL should go live within - 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). +

              4

              To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).
              - -
              +
              Looks like your ad blocker worked.
              This would have been a paid advertisement that meets the Acceptable Ads Standard.
              -

              - ImportantAs the owner of the repository, you keep complete control over your published content. - But that also means that all rights and duties that come along with publishing a website remain in your responsibility. -

              -

              - Have a look at our Terms and Conditions for more details. -

              - -
              -
              - +

              ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

              +

              Have a look at our Terms and Conditions for more details.

              + +

              - WEBDESIGN: 20zweinull - + WEBDESIGN: 20zweinull + diff --git a/docs/main.js b/docs/main.js index 1cb3584f1bc..bee789326a8 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;setInterval(()=>{if(!--t)return window.top.location.href="https://js.org/?"+a;e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],r="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[r]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+r,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let r=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}}})("xad");})(); +(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;return}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],r="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[r]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+r,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let r=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}}})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 11cc5630ec7..7ed736b75f2 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let xad = document.getElementById('_carbonads_projs')\r\n if (!xad) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`)\r\n }\r\n }\r\n})('xad');"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,GAAI,CAAC,EAAE,EAAK,MAAO,QAAO,IAAI,SAAS,KAAO,mBAAqB,EACnE,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAGP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAG9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,0BAA0B,EAAM,IAAM,MAAM,CACtD,CACJ,CACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n return;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let xad = document.getElementById('_carbonads_projs')\r\n if (!xad) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`)\r\n }\r\n }\r\n})('xad');"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,MAKJ,CACJ,GAAG,IAAI,EAGP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAG9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,0BAA0B,EAAM,IAAM,MAAM,CACtD,CACJ,CACJ,GAAG,KAAK", "names": [] } diff --git a/docs/privacy.html b/docs/privacy.html index 69d65b9cf90..a1ef701df98 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -5,69 +5,50 @@ - + Privacy - JS.ORG - - + - + - - - - - - - - + - -
              - +
              - - - - - - - - - - + + + +
              -
              -
              -

              Privacy Policy of JS.ORG

              + +

              Privacy Policy of JS.ORG

              JS.ORG collects some Personal Data from its Users.

              Owner / Contact

              Stefan Keim
              Dorfstraße 1A
              86947 Schwabhausen/Weil
              Germany

              @@ -331,31 +312,22 @@

              Tracker

              Legal information

              This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of Regulation (EU) 2016/679 (General Data Protection Regulation).

              -

              This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

              -
              -
              +

              This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

              - + diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 9b5a5d2a26c..91868d9dcce 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -3,25 +3,15 @@ xmlns:xhtml="http://www.w3.org/1999/xhtml"> https://js.org/302.html - yearly - 0.1 https://js.org/404.html - yearly - 0.1 https://js.org/imprint.html - yearly - 0.5 https://js.org/privacy.html https://js.org/terms.html - yearly - 0.6 https://js.org/ - yearly - 1 diff --git a/docs/terms.html b/docs/terms.html index 2d773faf5cf..e65a4312e7c 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -5,69 +5,50 @@ - + Terms of Service - JS.ORG - - + - + - - - - - - - - + - -
              - +
              - - - - - - - - - - + + + +
              -
              -
              -

              Terms and Conditions of JS.ORG

              + +

              Terms and Conditions of JS.ORG

              § 1 Principles

                @@ -141,31 +122,22 @@

                § 11 Change of Terms

                JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

                § 12 Severability clause

                -

                If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

                -
              -
              +

              If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

              - + diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 94396d088a6..b619a399e07 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -2,166 +2,149 @@ - {{if .IsHome}} + {{if .IsHome -}} - {{end}} + {{- end}} - {{if .IsHome}} + + {{if .IsHome -}} {{.Site.Title }} - {{.Params.title}} - {{else}} + {{- else -}} {{.Params.title }} - {{.Site.Title }} - {{end}} - {{if .Site.Params.description}} + {{- end}} + + {{if .Site.Params.description -}} - {{end}} + {{- end}} + {{if .Params.err -}} + + {{- end -}} + + - {{if .Params.full}} + {{if .Params.full -}} - + - {{end}} - - {{if .Params.err}} - - {{end}} + {{- end}} - {{if $main := resources.Get "main.scss" }} - {{$options := dict "outputStyle" "compressed"}} - {{$main := $main| toCSS $options }} - {{ (printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML }} - {{end}} + {{if and (true) ($main := resources.Get "main.scss") -}} + {{- $main := $main| toCSS (dict "outputStyle" "compressed") -}} + {{(printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML}} + {{- end}} - {{if .IsHome}} - {{if $index := resources.Get "index.scss" }} - {{$options := dict "outputStyle" "compressed"}} - {{$index := $index| toCSS $options }} + {{if and (.IsHome) ($index := resources.Get "index.scss") -}} + {{- $index := $index| toCSS (dict "outputStyle" "compressed") -}} {{ (printf "<%s>%s" "style" ($index.Content | safeCSS) "style") | safeHTML }} - {{end}} - {{end}} - - {{if .Params.full}} - {{if $xad := resources.Get "xad.scss" }} - {{$options := dict "outputStyle" "compressed"}} - {{$xad := $xad| toCSS $options }} + {{- end}} + + {{if and (.Params.full) ($xad := resources.Get "xad.scss") -}} + {{- $xad := $xad| toCSS (dict "outputStyle" "compressed") -}} {{ (printf "<%s>%s" "style" ($xad.Content | safeCSS) "style") | safeHTML }} - {{end}} - {{end}} + {{- end}} - {{if .Params.full}} - {{if $mainTS:= resources.Get "main.ts" }} + {{if and (.Params.full) ($mainTS:= resources.Get "main.ts" ) -}} - {{end}} - {{end}} + {{- end}} - {{ block "body" . -}} + {{- block "body" . -}}
              - {{if .IsHome}} + {{- if .IsHome }} - {{else}} + {{- else -}} - {{end}} + {{- end}}
              - - {{if .Params.full}} + {{if .Params.full -}} - {{end}} + {{- end}}
              +
              - {{ .Content }} + {{- .Content -}}
              -
              -
        +
        \ No newline at end of file diff --git a/pages/404.html b/pages/404.html index 8d1deca0813..88c3cb89482 100644 --- a/pages/404.html +++ b/pages/404.html @@ -4,18 +4,18 @@ err: true full: true sitemap: - priority: 0.1 - changefreq: yearly +priority: 0.1 +changefreq: yearly ---

        - ERROR 404 -
        We're sorry, but the page you requested could not be found -
        You will be redirected in 5 seconds. + ERROR 404 +
        We're sorry, but the page you requested could not be found +
        You will be redirected in 5 seconds.

        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        -
        +
        \ No newline at end of file diff --git a/pages/_index.html b/pages/_index.html index dab48e3e444..95ef403ec96 100644 --- a/pages/_index.html +++ b/pages/_index.html @@ -3,59 +3,30 @@ title: the JavaScript organization full: true sitemap: - priority: 1.0 - changefreq: yearly +priority: 1.0 +changefreq: yearly --- -

        Are you a JavaScript developer looking for free webspace to host your project? -
        Check out - GitHub - Pages. To make things perfect we provide you with a free and sleek URL like one of these: -

        - -

        - https://foo.js.org -

        - -

        Your page just has to provide some reasonable content with a clear connection to JavaScript! - Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

        - - +

        Are you a JavaScript developer looking for free webspace to host your project?
        Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

        +

        https://foo.js.org

        +

        Your page just has to provide some reasonable content with a clear connection to JavaScript! Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

        -

        1

        If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page - by following the instructions - here.
        Make sure to add some reasonable content to your new page. +

        1

        If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here.
        Make sure to add some reasonable content to your new page.
        -

        2

        Now you should determine your js.org subdomain: either choose your username or the name of your - repo according - to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be - possible). More details in the - wiki. +

        2

        Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki.
        -

        3

        Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single - line matching - the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the - section - about - Custom - URLs at GitHub Pages Help. +

        3

        Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom URLs at GitHub Pages Help.
        -

        4

        To finish the procedure, make a pull request in our GitHub - repository that adds your - subdomain to the list of existing JS.ORG domains. Your new URL should go live within - 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). +

        4

        To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).
        - -
        +
        Looks like your ad blocker worked.
        This would have been a paid advertisement that meets the Acceptable Ads Standard.
        -

        - ImportantAs the owner of the repository, you keep complete control over your published content. - But that also means that all rights and duties that come along with publishing a website remain in your responsibility. -

        -

        - Have a look at our Terms and Conditions for more details. -

        + +

        ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

        +

        Have a look at our Terms and Conditions for more details.

        \ No newline at end of file diff --git a/pages/imprint.html b/pages/imprint.html index 5beb6459b16..cafc8c38c4d 100644 --- a/pages/imprint.html +++ b/pages/imprint.html @@ -3,8 +3,8 @@ title: Imprint lastUpdate: Sep 29, 2021 sitemap: - priority: 0.5 - changefreq: yearly +priority: 0.5 +changefreq: yearly ---

        Imprint

        diff --git a/pages/terms.html b/pages/terms.html index 19f2f62ef75..ce601ecad99 100644 --- a/pages/terms.html +++ b/pages/terms.html @@ -3,8 +3,8 @@ title: Terms of Service lastUpdate: May 20, 2018 sitemap: - priority: 0.6 - changefreq: yearly +priority: 0.6 +changefreq: yearly ---

        Terms and Conditions of JS.ORG

        From 44be29e02019fa05a3159be7e0f3041e0b2f9cf5 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 13:11:44 +0100 Subject: [PATCH 135/145] margin fix --- assets/main.scss | 3 --- assets/xad.scss | 5 ++++- docs/302.html | 2 +- docs/404.html | 2 +- docs/index.html | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/assets/main.scss b/assets/main.scss index 9814f11fd3f..71b9eb8df5f 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -24,9 +24,6 @@ html { background: $key; } - - - body { padding: 0 5%; font-family: "Source Sans Pro", Arial, Helvetica, sans-serif; diff --git a/assets/xad.scss b/assets/xad.scss index 359796dafdc..3aca173468e 100644 --- a/assets/xad.scss +++ b/assets/xad.scss @@ -33,7 +33,7 @@ &.float { position: relative; - margin: 8px 0 10px 20px; + margin: 6px 0 .5em 1em; float: right; } @@ -117,9 +117,12 @@ @media only screen and (min-width: $break_m) { + + #xad { width: 330px; height: 100px; + } #carbonads { diff --git a/docs/302.html b/docs/302.html index 9a8066aed4c..169e586151c 100644 --- a/docs/302.html +++ b/docs/302.html @@ -41,7 +41,7 @@ - diff --git a/docs/404.html b/docs/404.html index c9ddd64f890..52089da8abd 100644 --- a/docs/404.html +++ b/docs/404.html @@ -41,7 +41,7 @@ - diff --git a/docs/index.html b/docs/index.html index 41883b99924..d4fe07ab96a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -42,7 +42,7 @@ - From a4e8251a7a604c3d6d0c53aa06ca2bf2b93d8a21 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 13:19:26 +0100 Subject: [PATCH 136/145] refresh --- assets/main.ts | 1 - docs/302.html | 2 +- docs/404.html | 2 +- docs/main.js | 2 +- docs/main.js.map | 4 ++-- layouts/_default/base.html | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/assets/main.ts b/assets/main.ts index c9dba4b94de..f1b36593dbe 100644 --- a/assets/main.ts +++ b/assets/main.ts @@ -9,7 +9,6 @@ const search = window.location.search.slice(1).replace(/\.js$/, ''); (function (el: any) { if (el = document.getElementById(el)) { let sec = 5; - return; setInterval(() => { if (!--sec) return window.top.location.href = 'https://js.org/?' + search; el.innerText = `${sec} second${sec > 1 ? 's' : ''}` diff --git a/docs/302.html b/docs/302.html index 169e586151c..ed3264e6b7c 100644 --- a/docs/302.html +++ b/docs/302.html @@ -10,7 +10,7 @@ - + diff --git a/docs/404.html b/docs/404.html index 52089da8abd..f62173d9c3b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -10,7 +10,7 @@ - + diff --git a/docs/main.js b/docs/main.js index bee789326a8..1cb3584f1bc 100644 --- a/docs/main.js +++ b/docs/main.js @@ -1 +1 @@ -(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;return}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],r="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[r]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+r,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let r=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}}})("xad");})(); +(()=>{var a=window.location.search.slice(1).replace(/\.js$/,"");(function(e){a&&(e=document.getElementById(e))&&(e.innerHTML=a)})("sd");(function(e){if(e=document.getElementById(e)){let t=5;setInterval(()=>{if(!--t)return window.top.location.href="https://js.org/?"+a;e.innerText=`${t} second${t>1?"s":""}`},1e3)}})("rt");(function(e){if(!(e=document.getElementById(e)))return;let t=document.getElementsByTagName("head")[0],r="cb_"+Math.random().toString(36).substring(2,16),i=document.createElement("script");window[r]=s=>{e.innerHTML=((s.data.watchers||0)/1e3).toFixed(1)+"K"},i.src="https://api.github.com/repos/js-org/js.org?callback="+r,t.insertBefore(i,t.firstChild)})("ghstars");(function(e,t){if(!(e=document.getElementById(e)))return;a&&t.unshift(a.substring(0,8));let r=1e3/4,i=1,s=.2,u=3e3,c=1e3/16,h=1,g=.2,f=500,n=e.innerHTML,o=n.length,m=-1,l=()=>{o-- >0?(e.className="active",e.innerHTML=n.slice(0,o),setTimeout(l,c+c*o/n.length*h+c*g*Math.random())):(n=""+t[m=(m+1)%t.length],setTimeout(d,f))},d=()=>{o++{if(e=document.getElementById(e)){let t=document.getElementById("_carbonads_projs");t||e.classList.add("blocked"),fetch(`https://xad.js.org/xad_${t?"c":"no"}`)}}})("xad");})(); diff --git a/docs/main.js.map b/docs/main.js.map index 7ed736b75f2..11cc5630ec7 100644 --- a/docs/main.js.map +++ b/docs/main.js.map @@ -1,7 +1,7 @@ { "version": 3, "sources": [""], - "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n return;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let xad = document.getElementById('_carbonads_projs')\r\n if (!xad) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`)\r\n }\r\n }\r\n})('xad');"], - "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,MAKJ,CACJ,GAAG,IAAI,EAGP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAG9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,0BAA0B,EAAM,IAAM,MAAM,CACtD,CACJ,CACJ,GAAG,KAAK", + "sourcesContent": ["const search = window.location.search.slice(1).replace(/\\.js$/, '');\r\n\r\n(function (el: any) {\r\n if (search && (el = document.getElementById(el))) {\r\n el.innerHTML = search;\r\n }\r\n})('sd');\r\n\r\n(function (el: any) {\r\n if (el = document.getElementById(el)) {\r\n let sec = 5;\r\n setInterval(() => {\r\n if (!--sec) return window.top.location.href = 'https://js.org/?' + search;\r\n el.innerText = `${sec} second${sec > 1 ? 's' : ''}`\r\n }, 1000)\r\n }\r\n})('rt');\r\n\r\n\r\n(function (el: any) {\r\n if (!(el = document.getElementById(el))) return;\r\n const h = document.getElementsByTagName('head')[0],\r\n id = 'cb_' + Math.random().toString(36).substring(2, 16),\r\n req = document.createElement('script');\r\n\r\n window[id] = obj => {\r\n el.innerHTML = ((obj.data.watchers || 0) / 1000).toFixed(1) + 'K'\r\n };\r\n req.src = 'https://api.github.com/repos/js-org/js.org?callback=' + id;\r\n h.insertBefore(req, h.firstChild)\r\n})('ghstars');\r\n\r\n(function (el: any, dict) {\r\n if (!(el = document.getElementById(el))) return;\r\n\r\n if (search)\r\n dict.unshift(search.substring(0, 8))\r\n\r\n let write_speed = 1000 / 4,\r\n write_acceleration = 1,\r\n write_random = .2,\r\n write_pause = 3000,\r\n clear_speed = 1000 / 16,\r\n clear_acceleration = 1,\r\n clear_random = .2,\r\n clear_pause = 500;\r\n\r\n let word = el.innerHTML, l = word.length, i = -1;\r\n const clear = () => {\r\n if (l-- > 0) {\r\n el.className = 'active';\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(clear, clear_speed + clear_speed * l / word.length * clear_acceleration + clear_speed * clear_random * Math.random());\r\n }\r\n else {\r\n word = '' + dict[(i = (i + 1) % dict.length)];\r\n setTimeout(write, clear_pause);\r\n }\r\n };\r\n\r\n const write = () => {\r\n if (l++ < word.length) {\r\n el.innerHTML = word.slice(0, l);\r\n setTimeout(write, write_speed + write_speed * -l / word.length * write_acceleration + write_speed * write_random * Math.random());\r\n }\r\n else {\r\n el.className = '';\r\n setTimeout(clear, write_pause);\r\n }\r\n }\r\n write();\r\n})('hermes', ['your', 'domain', '4free', 'project', 'learn', 'tool', 'munich']);\r\n\r\n\r\n(function (el: any) {\r\n window.onload = () => {\r\n if (el = document.getElementById(el)) {\r\n let xad = document.getElementById('_carbonads_projs')\r\n if (!xad) el.classList.add('blocked');\r\n fetch(`https://xad.js.org/xad_${xad ? 'c' : 'no'}`)\r\n }\r\n }\r\n})('xad');"], + "mappings": "MAAA,GAAM,GAAS,OAAO,SAAS,OAAO,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAElE,AAAC,UAAU,EAAS,CAChB,AAAI,GAAW,GAAK,SAAS,eAAe,CAAE,IAC1C,GAAG,UAAY,EAEvB,GAAG,IAAI,EAEP,AAAC,UAAU,EAAS,CAChB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,EACV,YAAY,IAAM,CACd,GAAI,CAAC,EAAE,EAAK,MAAO,QAAO,IAAI,SAAS,KAAO,mBAAqB,EACnE,EAAG,UAAY,GAAG,WAAa,EAAM,EAAI,IAAM,IACnD,EAAG,GAAI,CACX,CACJ,GAAG,IAAI,EAGP,AAAC,UAAU,EAAS,CAChB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OACzC,GAAM,GAAI,SAAS,qBAAqB,MAAM,EAAE,GAC5C,EAAK,MAAQ,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,EAAG,EAAE,EACvD,EAAM,SAAS,cAAc,QAAQ,EAEzC,OAAO,GAAM,GAAO,CAChB,EAAG,UAAc,IAAI,KAAK,UAAY,GAAK,KAAM,QAAQ,CAAC,EAAI,GAClE,EACA,EAAI,IAAM,uDAAyD,EACnE,EAAE,aAAa,EAAK,EAAE,UAAU,CACpC,GAAG,SAAS,EAEZ,AAAC,UAAU,EAAS,EAAM,CACtB,GAAI,CAAE,GAAK,SAAS,eAAe,CAAE,GAAI,OAEzC,AAAI,GACA,EAAK,QAAQ,EAAO,UAAU,EAAG,CAAC,CAAC,EAEvC,GAAI,GAAc,IAAO,EACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IACd,EAAc,IAAO,GACrB,EAAqB,EACrB,EAAe,GACf,EAAc,IAEd,EAAO,EAAG,UAAW,EAAI,EAAK,OAAQ,EAAI,GACxC,EAAQ,IAAM,CAChB,AAAI,KAAM,EACN,GAAG,UAAY,SACf,EAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAG/H,GAAO,GAAK,EAAM,EAAK,GAAI,GAAK,EAAK,QACrC,WAAW,EAAO,CAAW,EAErC,EAEM,EAAQ,IAAM,CAChB,AAAI,IAAM,EAAK,OACX,GAAG,UAAY,EAAK,MAAM,EAAG,CAAC,EAC9B,WAAW,EAAO,EAAc,EAAc,CAAC,EAAI,EAAK,OAAS,EAAqB,EAAc,EAAe,KAAK,OAAO,CAAC,GAGhI,GAAG,UAAY,GACf,WAAW,EAAO,CAAW,EAErC,EACA,EAAM,CACV,GAAG,SAAU,CAAC,OAAQ,SAAU,QAAS,UAAW,QAAS,OAAQ,QAAQ,CAAC,EAG9E,AAAC,UAAU,EAAS,CAChB,OAAO,OAAS,IAAM,CAClB,GAAI,EAAK,SAAS,eAAe,CAAE,EAAG,CAClC,GAAI,GAAM,SAAS,eAAe,kBAAkB,EACpD,AAAK,GAAK,EAAG,UAAU,IAAI,SAAS,EACpC,MAAM,0BAA0B,EAAM,IAAM,MAAM,CACtD,CACJ,CACJ,GAAG,KAAK", "names": [] } diff --git a/layouts/_default/base.html b/layouts/_default/base.html index b619a399e07..c8217fe2aca 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -19,7 +19,7 @@ {{- end}} {{if .Params.err -}} - + {{- end -}} From 1495d47375e0f2196b75fed1a9aa1237114216da Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Fri, 24 Feb 2023 13:41:18 +0100 Subject: [PATCH 137/145] badge_banner --- docs/302.html | 41 ++++++++++++++++++++++++++ docs/404.html | 41 ++++++++++++++++++++++++++ docs/imprint.html | 41 ++++++++++++++++++++++++++ docs/index.html | 46 +++++++++++++++++++++++++++++- docs/privacy.html | 41 ++++++++++++++++++++++++++ docs/terms.html | 41 ++++++++++++++++++++++++++ layouts/_default/base.html | 4 +++ layouts/partials/badge_banner.html | 39 +++++++++++++++++++++++++ pages/_index.html | 4 ++- 9 files changed, 296 insertions(+), 2 deletions(-) create mode 100644 layouts/partials/badge_banner.html diff --git a/docs/302.html b/docs/302.html index ed3264e6b7c..5bb038704b2 100644 --- a/docs/302.html +++ b/docs/302.html @@ -78,6 +78,47 @@
        + +
        + + +
        Donatefor registrar fees diff --git a/docs/404.html b/docs/404.html index f62173d9c3b..f5f2e1424f8 100644 --- a/docs/404.html +++ b/docs/404.html @@ -77,6 +77,47 @@
        + +
        + + +
diff --git a/docs/404.html b/docs/404.html index 25c8a9dfe38..4587952f49f 100644 --- a/docs/404.html +++ b/docs/404.html @@ -57,9 +57,9 @@
diff --git a/docs/index.html b/docs/index.html index 7b8fd5f17d3..3902c976603 100644 --- a/docs/index.html +++ b/docs/index.html @@ -59,9 +59,9 @@
diff --git a/layouts/_default/base.html b/layouts/_default/base.html index 7c4b0215259..d124d2e66ef 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -93,9 +93,9 @@
{{if .Params.full -}} -
- Twitter - tweet this! + {{- end}}
From ad1f0826c2c22836f37bbc5d4b8f99858fb95a10 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Mon, 4 Sep 2023 12:36:48 +0200 Subject: [PATCH 141/145] png & html minified --- config.toml | 6 + docs/302.html | 112 +------ docs/404.html | 111 +------ docs/ico/192.png | Bin 2623 -> 1163 bytes docs/ico/512.png | Bin 9707 -> 3538 bytes docs/ico/apple-touch-icon.png | Bin 2547 -> 1151 bytes docs/ico/favicon-32.png | Bin 1295 -> 688 bytes docs/imprint.html | 111 +------ docs/index.html | 166 +---------- docs/privacy.html | 457 ++++++++--------------------- docs/sitemap.xml | 18 +- docs/terms.html | 148 +--------- layouts/_default/base.html | 7 +- layouts/partials/badge_banner.html | 18 +- static/ico/192.png | Bin 2623 -> 1163 bytes static/ico/512.png | Bin 9707 -> 3538 bytes static/ico/apple-touch-icon.png | Bin 2547 -> 1151 bytes static/ico/favicon-32.png | Bin 1295 -> 688 bytes 18 files changed, 153 insertions(+), 1001 deletions(-) diff --git a/config.toml b/config.toml index fc234680c04..4e0c8179985 100644 --- a/config.toml +++ b/config.toml @@ -12,5 +12,11 @@ staticDir = "static" layoutDir = "layouts" publishDir = "docs" +[minify] + minifyOutput = true + +[minify.tdewolff.html] + keepWhitespace = false + [params] description= "Dedicated to JavaScript and its awesome community since 2015" \ No newline at end of file diff --git a/docs/302.html b/docs/302.html index 671f3318798..0931f0b7cc6 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,108 +1,4 @@ - - - - - - - - - Error 302 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- -
-
- -
- -
- 302 REDIRECT -

- We're sorry, but the subdomain  does not exist.
- You will be redirected (again) in 5 seconds. -

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
- - - - - - - - - - - - - - \ No newline at end of file +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) in 5 seconds.

+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index 4587952f49f..d0333f00f34 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,107 +1,4 @@ - - - - - - - - - Error 404 - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- -
-
- -
-
-

- ERROR 404 -
We're sorry, but the page you requested could not be found -
You will be redirected in 5 seconds. -

-
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
-
- - - - - - - - - - - - - - \ No newline at end of file +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected in 5 seconds.

+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/ico/192.png b/docs/ico/192.png index 87cbe6445cd7ab696fb4632fb4c70164b6c030d0..9739288fb0096da0745e60565fee2750196f76eb 100644 GIT binary patch delta 1153 zcmV-{1b+L!6pIOv8Gi!+003nIoHYOd05ecbR7L;i3@jxZ%C-<-RTq_p6!O~*I4~Np zo)S|@7<+9M<62~5ErT6??AXSq*-+GUex z`B&WM!2~8v540Icz|sqc8%Ds>D{KZ4@KhrVAz-PBA3O6vMi6jG zgPW^Q*7(h48h>II3R3^1!2=V8G4jApH=9au$393RlN6lH`XjA{{viQBra+R$)*%J9 zYy~=?fMZICs~b(=xs+o+4JP2YSONt%l7I?Sz<#JLSb;|P2dLVSs$fdoDnPY>7)C7{&&j3hglz=xnIA%Bi1pp;oiaQzA_s-#>VnSKSd zs^WNX0j2vAn6@OqWwE1fHt)I?u*CDr!p(m7V~R#)$S|Io3pg#$tX`wrMf#AfpEt>5 z&8Jaw*7$1Tc`2)Qf8@89#i?&CU}e_atvyKa<&??Ve$Y&UX)NHFY8YwlI!E)x-1d{I zP4pvpZhtPI{7ibEyuAiq8 zZjB_w@bZmt$1T)aO#b zOUYgx(1E}%A)mh%R0wD%U)|2Q>tQV<)qMa zBs}t<9YMe(p=CP~$j3lkVB%!%H601);(rBndJ|YLQPYormU~}Jb%FWu^35r1jG5XA zM5)@zQpWnO^?Lo4huI9*9SFp9 zBgytEncDI#=9>uHUO={1&d7wKa{=jsE$;#~uUczwS_-gJ1%V0yGMSoI87&29d3sA% zrGU=2?!F%Z(ypj~As}7gZv$6ow-S(->7PmMEovOUUgd1lM~gbRdr(Fa%r};+WY6Lu z!MDzL>+jtB;qIb8F#RU1ztX|O-GP1{0tA8H?|_4D2tWV=0000000000{uW;V0nR&h TEf>b&00000NkvXXu0mjfrL_iy literal 2623 zcmbW3dpuNY7svOWhNhuRZi$R3a!yFetz2p_!spGcCK6L|Tn-VbNyUtbgG5onWW=0K z#xST5$0+8_HJ5Z^jG<{b5|higPe{FcoZdg){&~;m{IU1i`}sWUS-)pJ-?jEmc5`vq zh*U=c0I<=?5qA`_9O;FSh3-e+hOP$yq^uLp27fts@;)nawqspVz1*iaM>i$Rir7dU zMwRi;vaWk5a%ZOHbG915yb@k;@qT*xukSCv<$P(f6y?vBx9ChTR<5_4Z#_qLEvHQk zY0WG=0RoW!ru!Z)$mRM1{SA@t-cF@ZIoZHX+*1R40)&gXpgyHJu7*&Ot)&B zeWH`*Hyfj$hZdta60lJR%MZ}lWZ_p^mNK8N_LVoflG$gVQ4=tIe?6QD1Z0NoAG^L< zmR0K_sm)PK>qofB#3UV120i8ihlnf7k=o184Pn2eiuWdAIF|@}O3B@Jenj)Xob9tp zJEpaaX_Y7pE+&az2n3i!`-k#~aKvVz@8V8Q_pqSpglPCGfq^r-AQiA77&uFm^ju>N@2fH&t%+=i9CWVe-inD;cBSEQ>Z{wh{}5-SGS)LIf>cph8vjGFnTLg5*PZLfBq})qfKb5<;KOe35n?u3cJdOh&LLt&T&Evu0W&zz_)d@ik#wolWNKOSG;|UW98ft3 zY2Ez0PFqZ9Em`~rzw@8?PehrHSHIA8HV|HkkO57UO=XP2U$?2RJZh*sHf5<$hM|B} z?YEURD~IUA1-HU1mg?pPkubHRi)0@*UFCp6pYkF?j`}Y-HwK&`R!WS&wV;OH^2W~Z zIgTy1`aKTF+Zo}NQlH8{y)|F#=`s!_G+rMu$a%kH76lOEv)t!RTIbWRbKjB{_Dd;| z>lPCWyyZo4;z+KiW=rUsa`OADF;?~lv@z)P2X7D2wN<+reP!dZVUE>8ZX*Oaw5tLG zr^{{7sj+H4pIEHTfw1>83m!QoF9)Ik6aWGs3KJ=%0($uN{y&DC4FL8O0A-2*+~XmW zsltgWR2YM6f9qq|`M>&Fqaj87(~SfnUII39hr_+WLcBbL=txM&_xx@uxRF0aJ~^Q;hb}| zuPp_Lu-+irzRUmi$qZ8L+!u$$q6qsEi?DJ{B^aDC?$laQR2jB6WjQ}-dpl;I4-`RdVN|%fFWmq0SN5yrS zW*jkJhob5Rko!&$QM3_A#RE3rjd|kqO;ybe5lA+|_$N)_4Dy+9467 z4{|7WW)iDOgnAp*ZCk*D!bcBqujUmed-UGAgFpdhKWw+wd6V8Z!7-Ghl}!3n0V@ROW&S>i%3&zPfeppCWgWx0mmNQynHNTIvbB*w2sTvvqUU;8y(_JaG4@ zOn=q|%`mTgT<;fi(gtRk@e9;~N+$yL+VSAe<@ErYIp z>Wrev%tBBvb;3M!V5}v62p^>)NI%QH-|3IOHt_;#hMYwmW}-ax7klE~?L~>jVSW@o3KZZ}GOZLO zvC9Xb&s7UNcam+mTN@Icok6Er`K6p|EGRY66X72eQ_P8RxAMi9Ct133rIlFwgef%m{Ty_ z3Z73pB;{s1lySEnr#^8=|M8x3mxq)4;tJb02af5oa=qL3HeCF*B(3`F6RO!$&G%3P zxo>j%k{}5?56eybaIr=)+tkKR+gc}xw_{_`6zSS`1^wR||EdRaw7&l#nr6uWKSCwO hv;nTG{}Z#MwY7I5x3HnY8Tv5#BU^i)VRL}bAf0cj z?Cx$^>Mxce|F1SVP;eAzqTL(qfSgnIhZf*Xn_jX3>oM9+LlB;BMi!zwb!xb#@Qp7M zV@vw~&*_o9&z1$)E>j{C&0VzE*r9=F_huvVrr2FCRDa(Tz?3qSHK|G2B67{7%zZA~ zrB$?EeyIugEvIYCfb5^{eh6rdMnzO<8UODG2o)KNfr=a3ulWqTD_?^`SozI;e)Bxn zevZsL06f|JW<{$TW8PPzI)`>=4Qpfly>FZnFZ0> zxkO(a`u;1iYCnxYt4SfLM^!(3tM#CxWe{9*ygE7ZEM$<{9om9+m9K&XY^9ayi#crY zfMOIrXc|*5307aA^izftjLWb^0cu$vE6ZP}jit&I(uLnad+3PP7pHA!1~0!_bOv_G zi&qqzeEH*6TLmQJjY|>olnWcfW+w8J;46#JYK|P}YbRXrMk~ZDRfsQDjefmxHT))% zuS6AEMni@mo-P~!hb`lSrYhBscFyLB&cTPtNAYCIZZM9%2{cqd7k^Nsqm6LVSqHXa ztM_VSpEQUBPcCnz6p5eaHFj$ORFF0#8SZV#lCp~J&fhCEk>((~T+0GOX#fYz=`?BW z5uS_X&%OBjTU_^0*H=XS*eK$zd0O}b_GuodwCNe>S7yUkc}*>k38|b@q=o8OUkw6| zR7aGah+%v{+_+QC_UVcs2Ns=Yj-ULl0E(a&K|V77ivupkK|}A(B08C%fTvH!S4Dz~cdGbV_Ev<0E}CtiBoA#ixcIhiAde$i4UAx&olk4C3$}M!PMhzJT8~ zk5sZAh~D8PCpLqM9IP{*Fz7cyg_L$t?&q+6G9T4ZP;mXInJO`Y6A$4rPZ-Dn2Wsdz z1lGYXv)J`d;9Zp$4{Kj<_h{|B+5Iii zE!on{nA)g^M#Rni)?rs?suooA>`{zbFj#>xrm9|ZQhGDx`};FlH4cv{anA=8txA|%50bO6C z80->7WW%f6W%)cjtdo9-she^@KbRv7hi-j~1TCNH{VToZH{N*O1&ZfrKH!RNxzS;I z)ac8XH`bqReoN?hCvNK*^CGyU4BvD!n~m91^>4MEqsmTur+Kl+llP&O+-T?$L{zw* z>nb~Nl}u=2c6Wqxno6UFgD)U#q4mgM1l7*D?%^p36=8wqu!8IJExNM(l&F{XA zIKn(&UrKn8cs|5rnjvuonz47otCbqOK_!Sp3dyubDy86hv3FqcIU!(BRf8eem&jQ zRXon2ZV`jI|DP1azL5CLO~>3amiY8~KMZ7*atLOV!e+P+w+^}6G7twvh@4_DHmQ*n zKsSNS(7Mb}iz;LYt#WklLk#9GQ*@XECeSBIW0N$g5{)JW?SGo#zYhN^qPIoZjzmnr zBx)b1QVHoOAc=v2q?6zu3{;6aNtB2!tbtS?cw_<}IA|wBSegvu{!4cI{GvZ#>b@v? z%#uUQ(8Qh^{iWflAODD|ZvDAnOqWqoxcmvUQrQ~w&U99JPZLU;*HV`3iu5mJNH)O^ z;x4cEO?PrCU+HK^Sb=fi_vj+`w6uuRNhw+>Kaai5j@z{E-uxt?Oj$g(K5mu2kbB*4 zG3;eQ#bEf)a#+(aj#mwaA0r`W$lqD^f{xYNT&Ta+Rv!#}HRQ43S#m$#&iQm9KVL^4 ze6Yi{1%YhvPt9%Jx-o4B@Y%xr`rG7%^RzV!OCDeZAB+kF++b3E$G2%eIp_j|w&$Hv zfDhBt@)i^ZDSxMTjRuTl>x8aQRXK1E{H?o1?kO)Psul#TfpNDpE)U~a?T-t}=Uzly zXjOsj7rZTfDP=dvLSxDkU#nB9)(xj!e=NGI_Y+^9&qAFAx{cYo_k8ctC1&N`(gB## ztMEZHVk(1uXRReh~FE zHF~^iW!Kh5CR`&4cU_3>Y?4EXd37cCLvmYVbi0Dvg^(G)_~e$DD|fKo$>eS7V0t#) zO(4%#Kpj2%OWW*ja*>gB`?xI8l}Y>v3Mv%6fWU<^Y@;QwO8u+s&WFMKN0?+EO*9`f z2q_0K3)$_x`pfY4x`uV&t>Gn@CznkohPEfhxu1E2y&wO^0XvhU7354E|FS z@m-AvjE}Cylej(ue--b94@dTwTa*L>pN@J)8)Wu3e8)C?mN`Q#9}Q?RfGZ!{Jo>AQ zq(#3Rf2RS1uJGyi+8ZO#QfkmVa}$@Y$Wb#Vw@eoFg^XVsHs@SS-mAdX?951lbsht>Mw6nHUNPFqd}kNC0*WiOss&8*Bu;$d~;|@G>Lydz8OP~kQGX~ zeW)&(Ell(DduZ+jd>M#(ihJ&P5DT!pN)-A*n>*XvHKraZ`rKFuJV?*F@B0)Zlt5|B z@WtDim$6t<#|0frwjmv^K<(r?$FF6(LLbDik#fS~udz3ouoXg2IuE_BQ#;}NG8{DL zb3UB?(MqAB7$YJfbxh#1-tv@wWp3!wM~jN`P=U`xn4&M%t_Y3Q6%QU?-drJGm=nNq zyIh%ms_G5ljI&E_A0LNHahjQSZLH}naH+)D`7G2r9X+TFaa%FXMUzM7T+7_DXGtvy zUDyU~)kA?7g5i>m`B_s?YQTltzB*lOHBb4P3A6o1)u!Kyb~G?s*1uI-5WE8hDaMHm z9b7YG=i}R&1vRo--h(|Y_nxl6wiv|~nb)i;;HJf>GEwounQPxklG*}etxvTL<@eN< zbzw>Cewl3jxF0-5j@oVvW?SIOv3KZ_wVFdw5o_#kL()lOdWA;)2#=h1_zg4$4yV=i zp3MD&hyF@5JO6zDR?Tr{-TgPXre5#cNf+_)cV_$6{Pz8ap(o0Pe;p3T2k_A+vwuYY zW(^b literal 9707 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 diff --git a/docs/ico/apple-touch-icon.png b/docs/ico/apple-touch-icon.png index 0b1bf31e13be2626c728cccda1c50fc7f58de24e..277f14380789236efb8ea8a4bd4316e31d9aa138 100644 GIT binary patch delta 1141 zcmV-*1d99f6aNU18Gi!+000UT_5c6?05ecbR7L;i3@jxZ%C-<-RTq_p6!O~*I4~Np zo)S|@7<+9M<_Z}vNF)-8M1S%>2QG-91ubYn3tG^E z7PO!REoeat`WZnBTF`D?X&-TIib z$X^QUbOW?g=T4O#9c^meZZtI7*84?0Fq+Nh_+ine-LoAPJ+(WYhb<4ARj#i*i z(Uc6V{)~Nmxqs0OJ9~IGCj;woKMTj5r`KUGOBHX35J+c-8Fbg1=f z$3_Dgtf|LF?`$6`6*4$_kG91uLc^m0rgN2;8=&`im47Yk_do;a`N5&F&@(iX)V3ZA zt)Lmg8=^t=N4q5{Sl(Q~k;T$*X!F2{H%H}c=I{|TWZ_fMbwQKj`!LmNrSNQJd(nkg z7wCc3FXb_m)6AUnsM@8n>9al1hG)3dnC($=Y{02Ws5_v!8j5Hh)poWn8>Zzq z9QR|#IDd6PgZ&N1|I~4pXD)3u&)jZqj!G2BimesrtBdML7I3e8r|8pw$SO#YY(TmE77`5gEFCI26G{LJt}sa)$v4= zLW*A1p4ELy{`?qAYfZ1uUsxVU>ENRO(ipAMv8C)&wBo0{9bSmG{JTvH97}X~x8~$I zIe*RHb2(f&d%Tf^r{{&XKxeIq51_;1g4ukS`mNi!slcUG!sunJu})HW1>5j5T4rg`xju2s2=FDV4#fUy7#BG$&8BDN!gf= z=(48UXotx>sXL=p@nUXu?-4%-r~9H6|9`wsTpK;{ixm7lQETn4MF-|&FK6m}!xTUN z%1dbD^WZ`>FUZ?z5KTT$GG2i-FcxO)0{QogO)U^{jq!(FecxJ0_kwU%+ zH+|522|}7D0+pkAsF!@GVTwvAtFJ~QK@ng13q;M0@)h5!(T};dgp_ENU%uL|=x&`u zg}FfUP}@UI#i3q_<`;|43r(#e2&@%F!h@q{ literal 2547 zcmd6pdpwle8plb(?5z~xu;nsI2p>gdFir2cjmx->Hsg{?hK$=8mxgi4NVbUNlE`^6 zrU;cWL`LbxaT}L0m^w}zjK(1MOKQJ!_Mc~eKKtME$NN5?&sxt~>sin5`>eGxT(GvX zFcp}Xn3yca&dLq44ACdO5Bgj7?mHVV5-zt_wu z8ub8mEw;pv$sO*5>Zj6I6ktm785y@x^vSIh*5t4Y)uDYR_Y zx$Q6w#qYT+@nnnhgj+D`%}1!eHqw54?9PF`RK@{mS!uOHgNLQ1v)BjWLJ2?uNT-q{ z_W*FxTf3cPb~0O2(>EoVEv;reh}1CAAlcbn(9kdeY;XTx4+T&0&u~aS7rMQi+E^bS ze_}p~;XNOJq8DOT^Z4sZ8=0Jd;=AN1R(0CY72`0<4O07rYeY&q}XSKA1UqD%uy zx+}Uvk!s+tEe%`` z_N7m4H+3mGs)F!F)z}I3a})6s_*A_1(7(P|R=> zAic|3Mu>>H%@)@*pi|jMdA${kLFXS+C$cv5Do)hQLLvU7)WRiRuZ_lTCbYY*V0z;v z)u4qyAa;CAQCn?YyU`2xQpZW;D32iOQ~EyeYKyZ4FB-=oP*(F{pMqQam0NNc}AK1HrGU|!qQ6!{!q)vXAC7iKXa5rYZNA|D?b(g5vvYtwO3;;%?IVH&h`#mZ(@|S=BF7!jYPn#DH|s@{ica#}dyc2Kqe>lKD%CBdtrKmITRwz6C2s*8QV`!%f?o`mT(31P8`(@@}dm%Y*<*ti^;vgDm z*&_}fL|hVW8O6`ZsY9U%V#abR<$FL)J;-Rqfi&~;D7xIAOrU8G(iZ2MBC-PSu;p-L za1$%sy0oloz9oS6_@n8E9+=m&Gc_A;s&bl@d&SB=4~;E+VV556ZLFG3nJa3X`}X2} z{{~cdRohNf!(;!pab&_Sf|9b_8S*9Sn^Q`IlPiZ10}t%nHD(SsGMOtjj^%T#%U_b`5^K0b8oAD| zi8hk?<(+HsP~6UHb0C$q2XspJ9{+xo7}aocxA>}viq4gv4|+GdI8~@3-N%om_$&?_T@AyZj#=tk z#GNs#6rk+yQI1<_GwN?493xk0iUSJ!PXsl>S2A{~PaNcrv>2}qJdOPN{Y=e2nK8T5L?Pj^z5@H@Yaa#D^*II zkq$TswW(OGJ8xHsR2M+^();#kyaQj4;p8}Ef0m~bo>wBRCKn9j1YWSM=OJQ>L(4c_ z_iYI7`b2zOIQee~Vf!w1t8$%)eti`;fP@478EodeCDy1XV~e%7s<3l)vdAWKFqwTp zi?Mw&wlX1N?DJ=RI>wPVgTt5HVT*sXa!m`ta|+UXf~lVVGoIs2-7^lb)F(#Oj05f7 zgtfJ%yrQd8&HYx6Dxgy>qkEy4(a#YuOUh(H359JB4SWGu=|277w7_E5^9J$jE^XLX zrY<80`L8fef?Gq3vea%>j6885@JHS^6|i6Xtg}(hF}g1Sx=J%&tO9yFy`U`X({m&alHlkL;#7Yt>^S?0fk_@qBM%R7swLy!KeTL diff --git a/docs/ico/favicon-32.png b/docs/ico/favicon-32.png index 37ae734d5b9bca1a269c7eca8b04032b3549b474..3cd7f14acf91adf1164ac39f29da73414553958c 100644 GIT binary patch delta 675 zcmeC@+Q2$NvYwfNfkA&c(_$cH8Q>G*Dj>-F>$zl6y2+odSQolHB>ouGuPX)9Y-Rph0HsQSF zHI8LGsZb$3P3B;>WjsETGmH#U6HXnN(ug7OH_h$Go2NYq?`M_<%e)Nhy6i1E?cGe* z99i9>jVFxR+)F2>O1{Z7Huo^HxVTx#+b|$-dPLX7;KgyTa$2S-Z4@~yT>nge=W&_0 zOO|D{AFqqva;jjq-sFi%XDs;TSo!ny4>TA)yxJw!D|6U(S!?9AjS9^Z0@cqKq#L2F+`f1M|r_)Imt%*u&rP%En16Sy=d9t1B`!(f+Q9*=3dgQc5z8oGQ z9*y0(9%2azOY0v^NJvPmPEiwNJ62z|MzXI}BI4WB!(E0O^wzykWtEiRS59=C(iqwP zdqQf0ti_{Bo;&CEH(acrEXbG6!{!w&e&Ftz^=VUF9%w{wXMUqmns&3~jmTV?x+euE zoaF zWdG5+=DOLee)Z!|RP1W@{1saC+3x=Qrwd>7F8IXC6U2raiE+D0{MZ!rZKcywrsS<} zybo6`;bP@sVqa6F)pAYibf10AVpph1~4X2{Q@C2qO|r{=b60G zV0Pmy>v`9IV9Ce-YLDl=*~VO1Te<7!KRGA=vfGV5$7~ax%ssjO-;uxay1O-3r^fra zAFnv>GPkb}sPd(inZYZDWW(=5jR9M4^DRj=Zwz#m0IExTu$=2r5liG5+k_BKx6^s2 z6u%fbPfYp3;O1!X$wjb~!!}pufCh)#hV$<}6s}EppS?dWL4+aMx!?6OuByGV^&U=P-~yKLw)(8$*H^FDtvp*>UPec~6|vz>2mY-k8% z;JLehqKMn2hQJ_+<%^knw5Evh%su@g(DNC`ffW)wmyPEgyytHc&fw;np!4k6b$35^ z_psA-k4(i5Xc+daOP1dM^7-3s%|6q=FfLY*;C&rfcH2=&Mm~T4ldn%b#fmq-mOr3j z*|TJ^o7`d!1FnXP8y=lC{Uqbs5Gc^oHuapMYp6-&(=+L=i7B1RQjU-0k{SXHdfL8f zY+gD07uUznX~E(Wp)D6T>{DA3srTLZC}Yp0107Pl)-z?}e8k=`EKV_4v}pGwpLJ{R zyecV)P>m~|y~ zUMaY%eA#TBM_=!3%enSa=Pt8b)2_b1`RubF7)07H-2G;Ms`>x3+tzWj#zvQHAWhZO!*PTbu%@!N9K-rW~AN9+@C?A>hiCoj=urCd_l zC(SdDmOVPTL;Yaff5F~Wd<&;b9Em;L@ycr3nPuzVY-?T}z_(ES;JxWb@0@;X$Z|1% zF-!ITS7pH5)Y7Owd#gSu?zi1FMdaQ9PIws*us0##FEg7ae)PMhep>ta@9BzG@6W$) b{=@p^`ZB#QkAExy7IX}ru6{1-oD!M<_W?l0 diff --git a/docs/imprint.html b/docs/imprint.html index 859ebccd347..6cba28bff48 100644 --- a/docs/imprint.html +++ b/docs/imprint.html @@ -1,110 +1 @@ - - - - - - - - - Imprint - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- -
-
- -

Imprint

- -

JS.ORG's focus is to provide free subdomains for the JavaScript community.

- -

Owner/Contact

-

Stefan Keim -
Dorfstraße 1A -
86947 Schwabhausen/Weil -
Germany -

-

- Owner contact email adress: admin@js.org -
- Owner contact phone number: +49-1764-2080100 -

- -

Data Protection Supervisory Authority

-

Promenade 27 (Castle) -
91522 Ansbach -
Germany -
Phone: +49 (0) 981 53 1300 -
Fax: +49 (0) 981 53 98 1300 -
Web: www.lda.bayern.de -
Email: poststelle@lda.bayern.de -

- -

Responsible for Editorial Content

-

Stefan Keim

- -

Terms of Use for Published Contact Data

-

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

- -

Disclaimer

-

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

- -

Liability for Links

-

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

-
- - - - - - - - \ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 3902c976603..6d5d7a162d3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,158 +1,8 @@ - - - - - - - - - JS.ORG - the JavaScript organization - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - -
- -
- -
-
- -
-

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

-

https://foo.js.org

-

Your page just has to provide some reasonable content with a clear connection to JavaScript! Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

- -
- -
-

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here.
Make sure to add some reasonable content to your new page. -
- -
-

2

Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki. -
- -
-

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom URLs at GitHub Pages Help. -
- -
-

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side). -
- -
- -
- - Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
-
- -

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

-

Have a look at our Terms and Conditions for more details.

- - -
- -
- - - - - - - - - - - - - - \ No newline at end of file +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here.
Make sure to add some reasonable content to your new page.

2

Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki.

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom URLs at GitHub Pages Help.

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).
+Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.

ImportantAs the owner of the repository, you keep complete control over your published content. But that also means that all rights and duties that come along with publishing a website remain in your responsibility.

Have a look at our Terms and Conditions for more details.

+ \ No newline at end of file diff --git a/docs/privacy.html b/docs/privacy.html index 67580e2a2b1..f4859d432c7 100644 --- a/docs/privacy.html +++ b/docs/privacy.html @@ -1,337 +1,120 @@ - - - - - - - - - Privacy - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- -
-
- -

Privacy Policy of JS.ORG

-

JS.ORG collects some Personal Data from its Users.

-

Owner / Contact

-

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

-

- Owner contact email adress: admin@js.org
- Owner contact phone number: +49-1764-2080100 -

-

Types of Data collected

-

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; - Tracker.

-

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy - policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely - provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified - otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for - JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are - free not to communicate this Data without consequences to the availability or the functioning of the - Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the - Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services - used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes - described in the present document and in the Cookie Policy, if available.

-

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that - they have the third party's consent to provide the Data to the Owner.

-

Mode and place of processing the Data

-

Methods of processing

-

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or - unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled - tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the - Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation - of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party - technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if - necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any - time.

-

Legal basis of processing

-

The Owner may process Personal Data relating to Users if one of the following applies:

-
    -
  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be - allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely - on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of - Personal Data is subject to European data protection law;
  • -
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual - obligations thereof;
  • -
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • -
  • processing is related to a task that is carried out in the public interest or in the exercise of official - authority vested in the Owner;
  • -
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party. -
  • -
-

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in - particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement - necessary to enter into a contract.

-

Place

-

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the - processing are located.

Depending on the User's location, data transfers may involve transferring the - User's Data to a country other than their own. To find out more about the place of processing of such transferred - Data, Users can check the section containing details about the processing of Personal Data.

-

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or - to any international organization governed by public international law or set up by two or more countries, such as - the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer - takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner - using the information provided in the contact section.

-

Retention time

-

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

-

Therefore:

-
    -
  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User - shall be retained until such contract has been fully performed.
  • -
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed - to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the - Owner within the relevant sections of this document or by contacting the Owner.
  • -
-

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such - processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data - for a longer period whenever required to do so for the performance of a legal obligation or upon order of an - authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of - access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after - expiration of the retention period.

-

The purposes of processing

-

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal - obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third - parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, - Traffic optimization and distribution, Displaying content from external platforms and Advertising.

-

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed - information on the processing of Personal Data”.

-
-

Detailed information on the processing of Personal Data

-

Personal Data is collected for the following purposes and using the following services:

-

Advertising

-

This type of service allows User Data to be utilized for advertising communication purposes. These communications are - displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This - does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below. -
Some of the services listed below may use Trackers to identify Users or they may use the behavioral - retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected - outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of - this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by - any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the - dedicated section "How to opt-out of interest-based advertising" in this document. -

-

Carbon Ads (BuySellAds.com Inc.)

-

Carbon Ads is an advertising service provided BuySellAds.com Inc.

-

Personal Data processed: Tracker; Usage Data.

-

Place of processing: United States – Privacy Policy.

-

Displaying content from external platforms

-

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and - interact with them.
This type of service might still collect web traffic data for the pages where the service - is installed, even when Users do not use it.

-

GitHub button and social widgets (GitHub Inc.)

-

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by - GitHub, Inc.

-

Personal Data processed: Usage Data.

-

Place of processing: United States – Privacy Policy.

-

Hosting and backend infrastructure

-

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well - as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work - through geographically distributed servers, making it difficult to determine the actual location where the Personal - Data are stored.

-

GitHub Pages (GitHub Inc.)

-

GitHub Pages is a hosting service provided by GitHub, Inc.

-

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Namecheap Web Hosting (Namecheap, Inc.)

-

Namecheap Web Hosting is a hosting service provided by Namecheap, Inc.

-

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: European Union – Privacy Policy.

-

Traffic optimization and distribution

-

This type of service allows JS.ORG to distribute their content using servers located across different countries and - to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way - these services are implemented. Their function is to filter communications between JS.ORG and the User's - browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to - which the contents that may contain Personal Information of the User are transferred.

-

Cloudflare (Cloudflare Inc.)

-

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is - integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's - browser, while also allowing analytical data from JS.ORG to be collected.

-

Personal Data processed: various types of Data as specified in the privacy policy of the service.

-

Place of processing: United States – Privacy Policy.

-

Information on opting out of interest-based advertising

-

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the - instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the - Digital - Advertising - Alliance (US), DAAC (Canada), DDAI (Japan) or other similar - initiatives. - Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus - recommends that Users make use of these resources in addition to the information provided in this document. -

-

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based - advertising on mobile apps.

-

Users may also opt-out of certain advertising features through applicable device settings, such as the device - advertising settings for mobile phones or ads settings in general.

-
-

The rights of Users

-

Users may exercise certain rights regarding their Data processed by the Owner.

-

In particular, Users have the right to do the following:

-
    -
  • Withdraw their consent at any time. Users have the right to withdraw consent where they have - previously given their consent to the processing of their Personal Data.
  • -
  • Object to processing of their Data. Users have the right to object to the processing of their - Data if the processing is carried out on a legal basis other than consent. Further details are provided in the - dedicated section below.
  • -
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, - obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing - processing.
  • -
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and - ask for it to be updated or corrected.
  • -
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to - restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other - than storing it.
  • -
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain - circumstances, to obtain the erasure of their Data from the Owner.
  • -
  • Receive their Data and have it transferred to another controller. Users have the right to - receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to - have it transmitted to another controller without any hindrance. This provision is applicable provided that the - Data is processed by automated means and that the processing is based on the User's consent, on a contract which - the User is part of or on pre-contractual obligations thereof.
  • -
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection - authority.
  • -
-

Details about the right to object to processing

-

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner - or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by - providing a ground related to their particular situation to justify the objection.

-

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object - to that processing at any time without providing any justification. To learn, whether the Owner is processing - Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

-

How to exercise these rights

-

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this - document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and - always within one month.

-

Additional information about Data collection and processing

-

Legal action

-

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible - legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that - the Owner may be required to reveal personal data upon request of public authorities.

-

Additional information about User's Personal Data

-

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and - contextual information concerning particular Services or the collection and processing of Personal Data upon - request.

-

System logs and maintenance

-

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction - with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

-

Information not contained in this policy

-

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. - Please see the contact information at the beginning of this document.

-

How “Do Not Track” requests are handled

-

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses - honor the “Do Not Track” requests, please read their privacy policies.

-

Changes to this privacy policy

-

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page - and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any - contact information available to the Owner. It is strongly recommended to check this page often, referring to the - date of the last modification listed at the bottom.

Should the changes affect processing activities - performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

- -

Personal Data (or Data)

-

Any information that directly, indirectly, or in connection with other information — including a personal - identification number — allows for the identification or identifiability of a natural person.

-

Usage Data

-

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: - the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform - Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of - the file received in response, the numerical code indicating the status of the server's answer (successful outcome, - error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the - various time details per visit (e.g., the time spent on each page within the Application) and the details about the - path followed within the Application with special reference to the sequence of pages visited, and other parameters - about the device operating system and/or the User's IT environment.

-

User

-

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

-

Data Subject

-

The natural person to whom the Personal Data refers.

-

Data Processor (or Data Supervisor)

-

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the - Controller, as described in this privacy policy.

-

Data Controller (or Owner)

-

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines - the purposes and means of the processing of Personal Data, including the security measures concerning the operation - and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

-

JS.ORG (or this Application)

-

The means by which the Personal Data of the User is collected and processed.

-

Service

-

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

-

European Union (or EU)

-

Unless otherwise specified, all references made within this document to the European Union include all current member - states to the European Union and the European Economic Area.

-

Cookie

-

Cookies are Trackers consisting of small sets of data stored in the User's browser.

-

Tracker

-

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and - fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s - device.

-

Legal information

-

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of - Regulation (EU) 2016/679 (General Data Protection Regulation).

-

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

- - - - - - - - \ No newline at end of file +Privacy - JS.ORG

Privacy Policy of JS.ORG

JS.ORG collects some Personal Data from its Users.

Owner / Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Types of Data collected

Among the types of Personal Data that JS.ORG collects, by itself or through third parties, there are: Usage Data; +Tracker.

Complete details on each type of Personal Data collected are provided in the dedicated sections of this privacy +policy or by specific explanation texts displayed prior to the Data collection.
Personal Data may be freely +provided by the User, or, in case of Usage Data, collected automatically when using JS.ORG.
Unless specified +otherwise, all Data requested by JS.ORG is mandatory and failure to provide this Data may make it impossible for +JS.ORG to provide its services. In cases where JS.ORG specifically states that some Data is not mandatory, Users are +free not to communicate this Data without consequences to the availability or the functioning of the +Service.
Users who are uncertain about which Personal Data is mandatory are welcome to contact the +Owner.
Any use of Cookies – or of other tracking tools – by JS.ORG or by the owners of third-party services +used by JS.ORG serves the purpose of providing the Service required by the User, in addition to any other purposes +described in the present document and in the Cookie Policy, if available.

Users are responsible for any third-party Personal Data obtained, published or shared through JS.ORG and confirm that +they have the third party's consent to provide the Data to the Owner.

Mode and place of processing the Data

Methods of processing

The Owner takes appropriate security measures to prevent unauthorized access, disclosure, modification, or +unauthorized destruction of the Data.
The Data processing is carried out using computers and/or IT enabled +tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the +Owner, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation +of JS.ORG (administration, sales, marketing, legal, system administration) or external parties (such as third-party +technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if +necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Owner at any +time.

Legal basis of processing

The Owner may process Personal Data relating to Users if one of the following applies:

  • Users have given their consent for one or more specific purposes. Note: Under some legislations the Owner may be +allowed to process Personal Data until the User objects to such processing (“opt-out”), without having to rely +on consent or any other of the following legal bases. This, however, does not apply, whenever the processing of +Personal Data is subject to European data protection law;
  • provision of Data is necessary for the performance of an agreement with the User and/or for any pre-contractual +obligations thereof;
  • processing is necessary for compliance with a legal obligation to which the Owner is subject;
  • processing is related to a task that is carried out in the public interest or in the exercise of official +authority vested in the Owner;
  • processing is necessary for the purposes of the legitimate interests pursued by the Owner or by a third party.

In any case, the Owner will gladly help to clarify the specific legal basis that applies to the processing, and in +particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement +necessary to enter into a contract.

Place

The Data is processed at the Owner's operating offices and in any other places where the parties involved in the +processing are located.

Depending on the User's location, data transfers may involve transferring the +User's Data to a country other than their own. To find out more about the place of processing of such transferred +Data, Users can check the section containing details about the processing of Personal Data.

Users are also entitled to learn about the legal basis of Data transfers to a country outside the European Union or +to any international organization governed by public international law or set up by two or more countries, such as +the UN, and about the security measures taken by the Owner to safeguard their Data.

If any such transfer +takes place, Users can find out more by checking the relevant sections of this document or inquire with the Owner +using the information provided in the contact section.

Retention time

Personal Data shall be processed and stored for as long as required by the purpose they have been collected for.

Therefore:

  • Personal Data collected for purposes related to the performance of a contract between the Owner and the User +shall be retained until such contract has been fully performed.
  • Personal Data collected for the purposes of the Owner’s legitimate interests shall be retained as long as needed +to fulfill such purposes. Users may find specific information regarding the legitimate interests pursued by the +Owner within the relevant sections of this document or by contacting the Owner.

The Owner may be allowed to retain Personal Data for a longer period whenever the User has given consent to such +processing, as long as such consent is not withdrawn. Furthermore, the Owner may be obliged to retain Personal Data +for a longer period whenever required to do so for the performance of a legal obligation or upon order of an +authority.

Once the retention period expires, Personal Data shall be deleted. Therefore, the right of +access, the right to erasure, the right to rectification and the right to data portability cannot be enforced after +expiration of the retention period.

The purposes of processing

The Data concerning the User is collected to allow the Owner to provide its Service, comply with its legal +obligations, respond to enforcement requests, protect its rights and interests (or those of its Users or third +parties), detect any malicious or fraudulent activity, as well as the following: Hosting and backend infrastructure, +Traffic optimization and distribution, Displaying content from external platforms and Advertising.

For specific information about the Personal Data used for each purpose, the User may refer to the section “Detailed +information on the processing of Personal Data”.

Detailed information on the processing of Personal Data

Personal Data is collected for the following purposes and using the following services:

Advertising

This type of service allows User Data to be utilized for advertising communication purposes. These communications are +displayed in the form of banners and other advertisements on JS.ORG, possibly based on User interests.
This +does not mean that all Personal Data are used for this purpose. Information and conditions of use are shown below.
Some of the services listed below may use Trackers to identify Users or they may use the behavioral +retargeting technique, i.e. displaying ads tailored to the User’s interests and behavior, including those detected +outside JS.ORG. For more information, please check the privacy policies of the relevant services.
Services of +this kind usually offer the possibility to opt out of such tracking. In addition to any opt-out feature offered by +any of the services below, Users may learn more on how to generally opt out of interest-based advertising within the +dedicated section "How to opt-out of interest-based advertising" in this document.

Carbon Ads (BuySellAds.com Inc.)

Carbon Ads is an advertising service provided BuySellAds.com Inc.

Personal Data processed: Tracker; Usage Data.

Place of processing: United States – Privacy Policy.

Displaying content from external platforms

This type of service allows you to view content hosted on external platforms directly from the pages of JS.ORG and +interact with them.
This type of service might still collect web traffic data for the pages where the service +is installed, even when Users do not use it.

GitHub button and social widgets (GitHub Inc.)

The GitHub button and social widgets are services allowing interaction with the GitHub and Gist services provided by +GitHub, Inc.

Personal Data processed: Usage Data.

Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

This type of service has the purpose of hosting Data and files that enable JS.ORG to run and be distributed as well +as to provide a ready-made infrastructure to run specific features or parts of JS.ORG. Some of these services work +through geographically distributed servers, making it difficult to determine the actual location where the Personal +Data are stored.

GitHub Pages (GitHub Inc.)

GitHub Pages is a hosting service provided by GitHub, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Namecheap Web Hosting (Namecheap, Inc.)

Namecheap Web Hosting is a hosting service provided by Namecheap, Inc.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: European Union – Privacy Policy.

Traffic optimization and distribution

This type of service allows JS.ORG to distribute their content using servers located across different countries and +to optimize their performance.
Which Personal Data are processed depends on the characteristics and the way +these services are implemented. Their function is to filter communications between JS.ORG and the User's +browser.
Considering the widespread distribution of this system, it is difficult to determine the locations to +which the contents that may contain Personal Information of the User are transferred.

Cloudflare (Cloudflare Inc.)

Cloudflare is a traffic optimization and distribution service provided by Cloudflare Inc.
The way Cloudflare is +integrated means that it filters all the traffic through JS.ORG, i.e., communication between JS.ORG and the User's +browser, while also allowing analytical data from JS.ORG to be collected.

Personal Data processed: various types of Data as specified in the privacy policy of the service.

Place of processing: United States – Privacy Policy.

Information on opting out of interest-based advertising

In addition to any opt-out feature provided by any of the services listed in this document, Users may follow the +instructions provided by YourOnlineChoices (EU), the Network Advertising Initiative (US) and the +Digital +Advertising +Alliance (US), DAAC (Canada), DDAI (Japan) or other similar +initiatives. +Such initiatives allow Users to select their tracking preferences for most of the advertising tools. The Owner thus +recommends that Users make use of these resources in addition to the information provided in this document.

The Digital Advertising Alliance offers an application called AppChoices that helps Users to control interest-based +advertising on mobile apps.

Users may also opt-out of certain advertising features through applicable device settings, such as the device +advertising settings for mobile phones or ads settings in general.

The rights of Users

Users may exercise certain rights regarding their Data processed by the Owner.

In particular, Users have the right to do the following:

  • Withdraw their consent at any time. Users have the right to withdraw consent where they have +previously given their consent to the processing of their Personal Data.
  • Object to processing of their Data. Users have the right to object to the processing of their +Data if the processing is carried out on a legal basis other than consent. Further details are provided in the +dedicated section below.
  • Access their Data. Users have the right to learn if Data is being processed by the Owner, +obtain disclosure regarding certain aspects of the processing and obtain a copy of the Data undergoing +processing.
  • Verify and seek rectification. Users have the right to verify the accuracy of their Data and +ask for it to be updated or corrected.
  • Restrict the processing of their Data. Users have the right, under certain circumstances, to +restrict the processing of their Data. In this case, the Owner will not process their Data for any purpose other +than storing it.
  • Have their Personal Data deleted or otherwise removed. Users have the right, under certain +circumstances, to obtain the erasure of their Data from the Owner.
  • Receive their Data and have it transferred to another controller. Users have the right to +receive their Data in a structured, commonly used and machine readable format and, if technically feasible, to +have it transmitted to another controller without any hindrance. This provision is applicable provided that the +Data is processed by automated means and that the processing is based on the User's consent, on a contract which +the User is part of or on pre-contractual obligations thereof.
  • Lodge a complaint. Users have the right to bring a claim before their competent data protection +authority.

Details about the right to object to processing

Where Personal Data is processed for a public interest, in the exercise of an official authority vested in the Owner +or for the purposes of the legitimate interests pursued by the Owner, Users may object to such processing by +providing a ground related to their particular situation to justify the objection.

Users must know that, however, should their Personal Data be processed for direct marketing purposes, they can object +to that processing at any time without providing any justification. To learn, whether the Owner is processing +Personal Data for direct marketing purposes, Users may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this +document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and +always within one month.

Additional information about Data collection and processing

Legal action

The User's Personal Data may be used for legal purposes by the Owner in Court or in the stages leading to possible +legal action arising from improper use of JS.ORG or the related Services.
The User declares to be aware that +the Owner may be required to reveal personal data upon request of public authorities.

Additional information about User's Personal Data

In addition to the information contained in this privacy policy, JS.ORG may provide the User with additional and +contextual information concerning particular Services or the collection and processing of Personal Data upon +request.

System logs and maintenance

For operation and maintenance purposes, JS.ORG and any third-party services may collect files that record interaction +with JS.ORG (System logs) use other Personal Data (such as the IP Address) for this purpose.

Information not contained in this policy

More details concerning the collection or processing of Personal Data may be requested from the Owner at any time. +Please see the contact information at the beginning of this document.

How “Do Not Track” requests are handled

JS.ORG does not support “Do Not Track” requests.
To determine whether any of the third-party services it uses +honor the “Do Not Track” requests, please read their privacy policies.

Changes to this privacy policy

The Owner reserves the right to make changes to this privacy policy at any time by notifying its Users on this page +and possibly within JS.ORG and/or - as far as technically and legally feasible - sending a notice to Users via any +contact information available to the Owner. It is strongly recommended to check this page often, referring to the +date of the last modification listed at the bottom.

Should the changes affect processing activities +performed on the basis of the User’s consent, the Owner shall collect new consent from the User, where required.

Personal Data (or Data)

Any information that directly, indirectly, or in connection with other information — including a personal +identification number — allows for the identification or identifiability of a natural person.

Usage Data

Information collected automatically through JS.ORG (or third-party services employed in JS.ORG), which can include: +the IP addresses or domain names of the computers utilized by the Users who use JS.ORG, the URI addresses (Uniform +Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of +the file received in response, the numerical code indicating the status of the server's answer (successful outcome, +error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the +various time details per visit (e.g., the time spent on each page within the Application) and the details about the +path followed within the Application with special reference to the sequence of pages visited, and other parameters +about the device operating system and/or the User's IT environment.

User

The individual using JS.ORG who, unless otherwise specified, coincides with the Data Subject.

Data Subject

The natural person to whom the Personal Data refers.

Data Processor (or Data Supervisor)

The natural or legal person, public authority, agency or other body which processes Personal Data on behalf of the +Controller, as described in this privacy policy.

Data Controller (or Owner)

The natural or legal person, public authority, agency or other body which, alone or jointly with others, determines +the purposes and means of the processing of Personal Data, including the security measures concerning the operation +and use of JS.ORG. The Data Controller, unless otherwise specified, is the Owner of JS.ORG.

JS.ORG (or this Application)

The means by which the Personal Data of the User is collected and processed.

Service

The service provided by JS.ORG as described in the relative terms (if available) and on this site/application.

European Union (or EU)

Unless otherwise specified, all references made within this document to the European Union include all current member +states to the European Union and the European Economic Area.

Cookie

Cookies are Trackers consisting of small sets of data stored in the User's browser.

Tracker

Tracker indicates any technology - e.g Cookies, unique identifiers, web beacons, embedded scripts, e-tags and +fingerprinting - that enables the tracking of Users, for example by accessing or storing information on the User’s +device.

Legal information

This privacy statement has been prepared based on provisions of multiple legislations, including Art. 13/14 of +Regulation (EU) 2016/679 (General Data Protection Regulation).

This privacy policy relates solely to JS.ORG, if not stated otherwise within this document.

\ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 91868d9dcce..9150baa0853 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -1,17 +1 @@ - - - - https://js.org/302.html - - https://js.org/404.html - - https://js.org/imprint.html - - https://js.org/privacy.html - - https://js.org/terms.html - - https://js.org/ - - +https://js.org/302.htmlhttps://js.org/404.htmlhttps://js.org/imprint.htmlhttps://js.org/privacy.htmlhttps://js.org/terms.htmlhttps://js.org/ \ No newline at end of file diff --git a/docs/terms.html b/docs/terms.html index 9e1b6111d43..fbad7ad5dff 100644 --- a/docs/terms.html +++ b/docs/terms.html @@ -1,147 +1 @@ - - - - - - - - - Terms of Service - JS.ORG - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
- -
-
- -

Terms and Conditions of JS.ORG

- -

§ 1 Principles

-
    -
  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. -
  3. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  4. -
  5. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  6. -
  7. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  8. -
  9. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.
  10. -
- -

§ 2 Availability and reservations

-

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

-

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

- -

§ 3 Termination

-
    -
  1. Both sides can terminate at any time without stating any reasons.
  2. -
  3. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  4. -
  5. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository
  6. -
- -

§ 4 Rights and Duties of the user

-

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

-

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

-

In particular providing content like the following is prohibited:

-
    -
  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • -
  • Phishing, scam, malware, viruses
  • -
  • Copyright offense
  • -
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • -
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • -
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • -
  • Pornography or content intended for adults only
  • -
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • -
  • File or Image hosting
  • -
  • Sites with other illegal content
  • -
-

A violation of these rules will result in immediate deletion of the JS.ORG domain.

-

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

- -

§ 5 Limitation of Liability

-
    -
  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • -
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • -
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • -
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • -
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • -
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • -
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.
  • -
- -

§ 6 Name of the subdomain

-

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

- -

§ 7 Absolute ban of spam

-

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

- -

§ 8 Manipulation

-

It is prohibited to auto retrieve masses of JS.ORG subdomains.

- -

§ 9 Responsibility

-

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

- -

§ 10 Place of jurisdiction

-

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

-

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

-

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

-

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

- -

§ 11 Change of Terms

-

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

- -

§ 12 Severability clause

-

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

- - - - - - - - \ No newline at end of file +Terms of Service - JS.ORG

Terms and Conditions of JS.ORG

§ 1 Principles

  1. JS.ORG is a free service provided by the owner of JS.ORG as stated in the imprint. The service will be only called "JS.ORG". All services are incumbent upon these terms and conditions.
  2. JS.ORG accompanies and extends the service "GitHub Pages" provided by GitHub, Inc ("GitHub"). JS.ORG provides free subdomains underneath the domain "js.org" to be used as a custom URL for a GitHub Page.
  3. The Terms of the GitHub service and all rights of GitHub, Inc remain unaffected by the terms of JS.ORG.
  4. Communication between JS.ORG and the user will take place on GitHub in the form of issues, pull requests or comments.
  5. By submitting a pull request in the GitHub repo that accompanies and hosts JS.ORG with the wish to add a record to the list of domains, the user attends the JS.ORG service and accepts the terms and conditions as the sole basis of all services provided by JS.ORG.

§ 2 Availability and reservations

JS.ORG aims to ensure the constant availability of the subdomain service. A right on constant availability does not exist. All services in connection with this free service will be provided on a voluntary basis. The user acquires no ownership or other rights to single services, the registered subdomains and the whole service.

If the user violates the terms, JS.ORG is entitled to exclude the user from the service without notice subjected to damages and other claims. JS.ORG is entitled to terminate or modify the service at any time without notice and without explanation. In that case the user of JS.ORG will be informed timely, at least 7 days in advance by JS.ORG. The relevant information about the impending use and deletion is shown simultaneously to the concerned users.

§ 3 Termination

  1. Both sides can terminate at any time without stating any reasons.
  2. The user cancels the service by removing the CNAME file in their repository and making a pull request in the repository of JS.ORG with the wish to remove their subdomain from the list of active JS.ORG domains.
  3. JS.ORG may also terminate the provision of a certain or all subdomains. Concerned users will be notified at least 7 days in advance by an issue in their GitHub repository

§ 4 Rights and Duties of the user

A transfer of a GitHub Page together with its JS.ORG subdomain is allowed as long as the new users accepts these terms and conditions, in particular § 2 of the terms (no property right). The user receives a non-exclusive right from JS.ORG to use the service. The use permit expires with cancellation of the conctractual agreement.

The user is fully responsible for the content provided by its GitHub Page, and is also responsible to extricate JS.ORG from all third party claims. The user warrants not to transmit any material that violates the rights of others or violates statutory provisions.

In particular providing content like the following is prohibited:

  • Piracy (warez, videos, MP3s, DVDs, software, etc.)
  • Phishing, scam, malware, viruses
  • Copyright offense
  • Dubious business models (eg, pyramid schemes, chain letters, etc.)
  • Content that is unlawful, obscene, threatening, abusive, libelous, or scandalous
  • Content which led to committing criminal acts or acts that undermine the civil order, or otherwise contrary to national or international laws
  • Pornography or content intended for adults only
  • Unsecured Web 2.0 platforms (eg. no captcha protection in forums, blogs, guest books)
  • File or Image hosting
  • Sites with other illegal content

A violation of these rules will result in immediate deletion of the JS.ORG domain.

The user is obliged to publish legals on his website which contains at least the full name, mailing address and an e-mail adress.

§ 5 Limitation of Liability

  • In principle JS.ORG takes no responsability for the support. The use of the provided services of JS.ORG takes place at your own risk. This refers in particular to the functionality, availability and freedom from viruses of the provided services as well as damage caused by the use of programs, program components and scripts/applets. The user is obliged to create local copies of all his data at JS.ORG for security reasons and regularly to secure all stored data. JS.ORG indicates that JS.ORG is a free service and does not create data backups for the users.
  • The user is liable for any use of the service performed by his GitHub user account. Legal representatives are liable for minors. The user therefore has to ensure that his access can not be misused by third parties.
  • JS.ORG provides the service without any express or implied warranties. JS.ORG is not liable for inadvertent disclosure, damage or loss of transmitted, received or stored data from JS.ORG. The user expressly acknowledges that these terms also effect third party supplies.
  • For the purposed service usage as described above JS.ORG solely assume the liability for the injury to life, limb and health, and other damages caused by gross neglect of duty on JS.ORG
  • A liability of JS.ORG for slight negligence exists only for breach of an essential contractual obligation
  • A liability of JS.ORG for further damages, in particular consequential damages, indirect damages or lost profits is excluded.
  • A liability for malfunctions or failure as well as unauthorized access from outside the sphere of influence of JS.ORG is only in the context of intent and gross negligence.

§ 6 Name of the subdomain

Each user can select the names of subdomains in accordance to the URL provided by the GitHub Pages service and with respect to a public available list of restricted names published in the JS.ORG repository. It is sole responsibility of the user to consider whether the name is contrary to statutory provisions, third party rights (including trade marks or registered rights), or morality. If this is the case, the registration of the subdomain is to be omitted. The same applies to subdomains, whose name is misleading, or suspect websites which are excluded of the participation in the service because of their content according to § 4.

§ 7 Absolute ban of spam

References to domains registered at JS.ORG in unsolicited commercial e-mail or similar media (spam) are not allowed. The mass registering of domains for the purpose of irritation to the users of search engines are also considered spam and are also inadmissible.

§ 8 Manipulation

It is prohibited to auto retrieve masses of JS.ORG subdomains.

§ 9 Responsibility

JS.ORG is not responsible for the names of subdomains or the content of external websites that are registered as link destinations of subdomains, or otherwise linked to this service.

§ 10 Place of jurisdiction

Service provision and the usage of the service according to these terms and conditions is exclusively subject to the application of the law of the Federal Republic of Germany. Application of conflict of laws of private international law is expressly excluded.

The place of jurisdiction for JS.ORG is Munich, the residence of the owner of JS.ORG as stated in the legals.

For disputes with users who are defined as contractors after §14 BGB, Munich is agreed as place of jurisdiction. For users who do not have general jurisdiction and no resident in Germany at the time of the commencement of proceedings, Munich will be the place of jurisdiction.

For users, who are consumers within the meaning. § 13 BGB, the general jurisdiction of the domicile will remain in Munich.

§ 11 Change of Terms

JS.ORG reserves the right to make changes to the Terms of Service. The user will be informed by JS.ORG of the changes through a notice in the readme section of the JS.ORG repository.

§ 12 Severability clause

If single clauses of these terms and conditions are fully or partially invalid or void, respectively will be, so otherwise the validity of these terms and conditions remains untouched.

\ No newline at end of file diff --git a/layouts/_default/base.html b/layouts/_default/base.html index d124d2e66ef..70d03c646a6 100644 --- a/layouts/_default/base.html +++ b/layouts/_default/base.html @@ -50,19 +50,20 @@ + {{if and (true) ($main := resources.Get "main.scss") -}} {{- $main := $main| toCSS (dict "outputStyle" "compressed") -}} - {{(printf "<%s>%s" "style" ($main.Content | safeCSS) "style") | safeHTML}} + {{(printf "" ($main.Content | safeCSS)) | safeHTML}} {{- end}} {{if and (.IsHome) ($index := resources.Get "index.scss") -}} {{- $index := $index| toCSS (dict "outputStyle" "compressed") -}} - {{ (printf "<%s>%s" "style" ($index.Content | safeCSS) "style") | safeHTML }} + {{ (printf "" ($index.Content | safeCSS)) | safeHTML }} {{- end}} {{if and (.Params.full) ($xad := resources.Get "xad.scss") -}} {{- $xad := $xad| toCSS (dict "outputStyle" "compressed") -}} - {{ (printf "<%s>%s" "style" ($xad.Content | safeCSS) "style") | safeHTML }} + {{ (printf "" ($xad.Content | safeCSS)) | safeHTML }} {{- end}} {{if and (.Params.full) ($mainTS:= resources.Get "main.ts" ) -}} diff --git a/layouts/partials/badge_banner.html b/layouts/partials/badge_banner.html index e6db8165ba5..c7a16b33230 100644 --- a/layouts/partials/badge_banner.html +++ b/layouts/partials/badge_banner.html @@ -5,18 +5,8 @@ if (typeof _bsa !== 'undefined' && _bsa) { _bsa.init('custom', 'CWYDC23J', 'placement:jsorg-badge-banner', { target: '#badge-js', - template: ` - - - -
-
##company## — ##tagline##
-
##description##
- -
##callToAction##
-
-
` -}); -} -})(); + template: `
##company## — ##tagline##
##description##
##callToAction##
` + }); + } + })(); \ No newline at end of file diff --git a/static/ico/192.png b/static/ico/192.png index 87cbe6445cd7ab696fb4632fb4c70164b6c030d0..9739288fb0096da0745e60565fee2750196f76eb 100644 GIT binary patch delta 1153 zcmV-{1b+L!6pIOv8Gi!+003nIoHYOd05ecbR7L;i3@jxZ%C-<-RTq_p6!O~*I4~Np zo)S|@7<+9M<62~5ErT6??AXSq*-+GUex z`B&WM!2~8v540Icz|sqc8%Ds>D{KZ4@KhrVAz-PBA3O6vMi6jG zgPW^Q*7(h48h>II3R3^1!2=V8G4jApH=9au$393RlN6lH`XjA{{viQBra+R$)*%J9 zYy~=?fMZICs~b(=xs+o+4JP2YSONt%l7I?Sz<#JLSb;|P2dLVSs$fdoDnPY>7)C7{&&j3hglz=xnIA%Bi1pp;oiaQzA_s-#>VnSKSd zs^WNX0j2vAn6@OqWwE1fHt)I?u*CDr!p(m7V~R#)$S|Io3pg#$tX`wrMf#AfpEt>5 z&8Jaw*7$1Tc`2)Qf8@89#i?&CU}e_atvyKa<&??Ve$Y&UX)NHFY8YwlI!E)x-1d{I zP4pvpZhtPI{7ibEyuAiq8 zZjB_w@bZmt$1T)aO#b zOUYgx(1E}%A)mh%R0wD%U)|2Q>tQV<)qMa zBs}t<9YMe(p=CP~$j3lkVB%!%H601);(rBndJ|YLQPYormU~}Jb%FWu^35r1jG5XA zM5)@zQpWnO^?Lo4huI9*9SFp9 zBgytEncDI#=9>uHUO={1&d7wKa{=jsE$;#~uUczwS_-gJ1%V0yGMSoI87&29d3sA% zrGU=2?!F%Z(ypj~As}7gZv$6ow-S(->7PmMEovOUUgd1lM~gbRdr(Fa%r};+WY6Lu z!MDzL>+jtB;qIb8F#RU1ztX|O-GP1{0tA8H?|_4D2tWV=0000000000{uW;V0nR&h TEf>b&00000NkvXXu0mjfrL_iy literal 2623 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 literal 9707 zcmeHtdpwlu*ZyrnN)jDZDx{MRWZP0Xj7llxklM9T*eZ&cjcT06Oj{+X=zL%sDWpP0 zB#p6CU)n0<7-mK}lNpC$m@)Ib>luyu{`32Met*1&&-?CwIz02-_r315u63BtE;CnSE+JNDr5*{w4sM{e+lRr>jKyS#Avh$kbsZrcLS8fQvoih+OH ze$o45#P^KwN>-(q$STE7pu*>)_WX$m36~<|eo7vp^RWog)YK7Ly%7xAvK661rAY|Q z){#RLvB~DT;Nkp&FUs&FOxTy&8gQxTazYEzj`7p`_umT^y9gE zSFoB{9~-HfWvbCE@%wp9Jfbs7T2$LpZ8Mw3iMcPtBWIfC2oT39lmMsPnLjqP^3A)l0cMYho8g}m%*?xBmv%^l)H|@dQ570K%N!{4r{p;gu8m?_ zNL{0`x_^ox`e5HpZPN*U>GB{v-ioB#GYu`OP@WxpW)>2KHrR==FM~(!+@KS-ke2@N z5wUi`1!9r!+q?_w@t*1nT&L4Z8dOjnd6AEhk7uHXCAWs|sYu!UgBe+xl$VYpq@?yK9aQeV5;l|#ln(G zjG4vEWxe~t%-2Q324g7)tAC$Y{9V@cE1_cl6`0Cw#j($IQMh;KvCwFl;So`0gr-yr z&La~mncM!dS|Hb3+01errbb`?&K1FDrXgeYeSv9v>J$40AE$r2S9x(DdU2!fMo+f> z59y5GWE%~KwXOM#`!l~EAay2>FkBtOqu&maC$0FwoJ~r!0=D9C%|KC-+r&}ozc1nw z7Rk#aY_XKRg3qWUsgH#NMIL1ToHc)MpHLx6kjDNmtAso9g}HA-hM!0t;(!`HY&6Pr zb4wDKNCO7<-ZY6OX7sqSC$D{2oS)2XI4CZn&pgX6`=%57rz}P%$U^bDrbiG19F(e} zc_%x>+hwd0OK9qKUojd)jfn}`qa8y3_>J|9?x8x?5z)#*7p=}mmi&TyG7dc~_j}Oe z>J|pVJUhG;k_1}gmMGI$f8Ja=;rdVJE8vxx5>EK63eg4GMRXJkxpq_or3al7&*0Un zv(K^jj@xLA&V=YSk#P&PI7DL#7@}1nGo%U(i3+v0v`u$iaF%T_zGxj>tUh$3yI%Tf zOTHvgW?zTgA@@U>((p19 zMahSeBaJ|VzNzChI2jgV$K04<+yt#zMVP*KUco+<;F}Ko6F;&nY+y2x?V5fH^R4O! zUI>-9A{ogN%fbWgu(exb@pbXZ0$|5b8I25Fn&3`uZ~sJti=W2+tSa|{RV&68H`paSQ7p_{vQ#sIn%@L)tES9gP{tfe>Q|y+w_O*^?lPF@&28`Sy(_)_ z;Vaf?)D5^5*r``v^`*tC-J)MC`8i|JdGuBnNdT0A4yrRBJj=YB8!e5toGs*@1x{&r zW-!ehx?Q2FB#lJ~Hhc##WrV(TnT$1vuDpG_rO)>wdx`W`k%qzYg`)-GBaJOa3Q#tq zNk05FV`rU$v-+P6?Kla%`K4ht!*EJ= z@L9_UAK>kq8^fJo2TPgdZ^~ILAb0HF=RLOgwjo2(b-tll}?1n~i zk*wmF?}+?LR_+BLk)ro%six?Ox7ND>T*ZBc`5-mkyQ+6I-_S^q-?|FdUpJ>#eEzG( zO@jlqtc(7c%!&6|CU(4?Ca`egK^@G?lA|;Rb?!%13xO9SJIll39x=OHS3jfEImNl< z++_CR3$T(*J<}ff#xLNh8t{vd!;BHT3SH02qG&n)9K`6B2Fuwbd+_*l=k(?S>`)Ex z!6y2)^7gy5?HK>3Z`96sJaxl|h9(>Oq>ezf2mTY>qe$gDbyk-;MbArilh2k_BgXTb zjMt(jQs$m>`--`u3&)Z(u^R=X&j67dbd@0n$EPu9j=9&Ec5!!k#?0N%*W`dpYCLB4 z*$FSF-oZ{3Q#0^lUo5cyCEVCyA@cg=fT;{Y%D&OyJ*I9xj<%e2mkuAs-(Ccr@I$SkV8|acWj0s1b1u zXx|dT&%gBZscy9&sO`XoxRMDE!}!G%ihoWG%Qc-Jex{Y|z5nA`w*HvDYTR?xqLp|o z*$xv7w!MtO3AElwH7R$D!B6MTq)4(ejwiE^l-H8li07PD_p75(8|b_ZUas<2Y)Vx( zxidI;?^R4v%`>W8p$i`J3g2z-O{*i5UX!q%;!oA#85{UR(rjjQ1>(4o zn8Y^a8}f)W2^XZfn-4H%IC$u&qb!hlU9E?#D;l;*+0CON$xz>8G0##EeNMm|C~ys) zC(~>>=|W-a!2OH^wLuLDbTq^)Q$W}j+_vmhnx*y=d|V?E;*XwRevkbyhCEvdgo=hoNC-4HsUatnEWG9U$0yWRy>X((IQdm{S8go%Vt|IP z;UainK&TAKsB7i4pzvR(aJ&Xy;JwX0EZB;t@ogvT z-=R}#Idt;6-G;KRhJzFb`{_rIf2N;f6UWFjC8lNga8{HN0SDciPtHcQ!a!VXwx{~M zSFFLwe0?>xv_f=ltf=$VHm`EVn*$5iHQr3T^05qh$6BeWenc4=POP*hgJPh>JtBi> zeUs@+WUoqo)1e#IK(EGqhc`9CfM?D}Z3TVcDD8qy?7Q5&P|;W63D{@vj~DNI35kqV zgTp{3)%;1%z*YC%eZ8D!NE%kl!MjlOy7fQQu%D4qQ!pa1SxRPmneMohqX}h67cuF+ z!9S1j?pEfL|G%kgtQ9e7#{Uo(W=*}^eD^(cQYuOTVcB}8OB(;+#eJmhQ8iSs?fxf5hjK5)a=<^ymTKHq>I=C_7Ls08LFXXYY2 z8)u1$Bf{1|G9_>BQ_8@Uk+}^Ro@{OzQ}rj~8-h}RiAa9E#*WDY)kDAFh_P^3i5 z^*)5nQ#LmB`K1X?W9gs+4Q?oo-F6zGX*4_iP4DQjbYUXN90?mWr~|_6@~S@kKqy{6 zlaE@71$WE|w1YJpK6)Y0rKhOf*cFg~d&P=oSD|GX3HEHkw>}_%KR-1$gXBy*pzB>w zzCh0Mr*7@e6$o$anKi_RpcuTBIk5!y2W6T|pwK^HH|>1|reDj_CD7)L9bt{k*sF|* zjj7(73#Wl%Po*n8haQ0QK>&p(uuo~sF@VK-xn3}I)C9}*wkmX(kl5yQiF@eRXzUnO z2|0tZ@tnWt*@VPupBGpP--K~TvGAB%)!H>@o)6~+oLDx-Nnl;t9JGq{-aH1J@`Pg8 zg6{jr!}+I4m5;plPaT7CMFgb_M946L!ZzBhmRm_}hyUUTFzAhY!6U8QWpqrB1w-;#fVh3Rrm1{ab#VcAe#N-q=UsAwxciS;^ zb$G~4m@%NP78^P%@igji?I#tK=BZ`uKHtN=O0mNRioTGF?zal8_o|%olW5#lYL?&ic!B40-0)~>y5?T0xY~wpzhQnB}XE9MlF`gA9u0GJM* zMJ49RjWAG3Yb-?rqmFm*y(CVO^hTpi&$Nmf2xBLzp*+qqALixfr^^~_Pz(DKu{#s? z%efjdXIH5-p|`#M5|{sc(7YwE?ALdJwlA)s63XU*m0mtJW}!MlUYe>DhKm-W04k>C ze<3$>^Y0H%qh)=GDNYM6UlH*xeCA^>WriO-D>v;4J-}_RSvON-K1yc4GAYe84#>^p zZQr!>+i|h)=k!BYrXxz@9R{ZY9eHGKX0vYf9JS@D&?t=aOK(dZKF1kGamuu`0s|Mm z8u~Uh1~RM%wc*!;EVz(=>KF9D}qwLt|Sl_Uu7Z zip+|)Rr%|n+0*4LVeNDz9u2(&gSGaMQU4#FYkH&S6Pv_s6o*~^{hT zuh=84c_UiA1fuH^+dAdr9gB(XQ{-YrbJ_QQcs{lAtoW*E`m>k?C@-4Y^6hAK!;*l= zP8gUCi1f%vRS$WJ85q5#VAAhw>fZ4^!{fLjUs|4E)jK0v8CPx(7p~WD6Yn6<3?aMKB325P9;aaH+Fu58 z<{{%*n0kX5&tRH7IshaIn?#*7EsOAMyB7M^BjI#fE4nGzK*W{^X1<0a6S_GJXlHP# zcZfZE2Fl(DYJSR7_1Y>QiZZ3U&reU3^&#-eK0kcQF8PJ4LN?Yfy1G{1rr>yHi`V%3 zjT(d=?r3UU{89c>YJfe)jNNj^vAA=Zq$3iJPs48Ur8KSDNe6WYg-u00pZz;G;UE;~s|i6&w2!v=v;!r@Nq+7?j4x4@BSLs)}XLdP!-6LD~E%X9r~9BCEq<7 z@bnU8jXS$^F@d%R|55{(|8KfNkdJV<0k2~*uhJPY3kiv@?R#ws?x$5T5D6x6o))^& zUL`*LJ*5$9GmhPfpEB`g+;;|wN&5qy|4I-xT%C5lIq=)fjaDE_t; zH$}Yf3vI$gM>nMTyx$3~b0K%;^N1VgO_puzvWiI%nA@=BHD-c`Ze^il>a1S}F57C! zqjZp@mm z@v37%suZTdT;(tMFI+p#8VK;ba;&xu;YP5-uZWm~7w+$aHMm`97I5 ztBx^6cN&@ex0~WEL0v~T>G}|W!D-?)y4>ntzV!UQ7~Fe~d9W>g4>(;<02Ob!r~@=< z-hl%TTACxb&(ow}??38;4ujdcYk0y?dS6M?o-;z1bm@ zyGo@W7lE;ZYis6#G_Gb2Vh@r5JTIEmdDg=wpl0vrtX}u&eu&eu_PVpexMW-%Zk1bY zta7rxC>&QT#QiHI)0u+9dNAexsm$xXzxgN`Z>O1C?)QTP!T+P2xwDr2MjAO8UYZ!8@E diff --git a/static/ico/apple-touch-icon.png b/static/ico/apple-touch-icon.png index 0b1bf31e13be2626c728cccda1c50fc7f58de24e..277f14380789236efb8ea8a4bd4316e31d9aa138 100644 GIT binary patch delta 1141 zcmV-*1d99f6aNU18Gi!+000UT_5c6?05ecbR7L;i3@jxZ%C-<-RTq_p6!O~*I4~Np zo)S|@7<+9M<_Z}vNF)-8M1S%>2QG-91ubYn3tG^E z7PO!REoeat`WZnBTF`D?X&-TIib z$X^QUbOW?g=T4O#9c^meZZtI7*84?0Fq+Nh_+ine-LoAPJ+(WYhb<4ARj#i*i z(Uc6V{)~Nmxqs0OJ9~IGCj;woKMTj5r`KUGOBHX35J+c-8Fbg1=f z$3_Dgtf|LF?`$6`6*4$_kG91uLc^m0rgN2;8=&`im47Yk_do;a`N5&F&@(iX)V3ZA zt)Lmg8=^t=N4q5{Sl(Q~k;T$*X!F2{H%H}c=I{|TWZ_fMbwQKj`!LmNrSNQJd(nkg z7wCc3FXb_m)6AUnsM@8n>9al1hG)3dnC($=Y{02Ws5_v!8j5Hh)poWn8>Zzq z9QR|#IDd6PgZ&N1|I~4pXD)3u&)jZqj!G2BimesrtBdML7I3e8r|8pw$SO#YY(TmE77`5gEFCI26G{LJt}sa)$v4= zLW*A1p4ELy{`?qAYfZ1uUsxVU>ENRO(ipAMv8C)&wBo0{9bSmG{JTvH97}X~x8~$I zIe*RHb2(f&d%Tf^r{{&XKxeIq51_;1g4ukS`mNi!slcUG!sunJu})HW1>5j5T4rg`xju2s2=FDV4#fUy7#BG$&8BDN!gf= z=(48UXotx>sXL=p@nUXu?-4%-r~9H6|9`wsTpK;{ixm7lQETn4MF-|&FK6m}!xTUN z%1dbD^WZ`>FUZ?z5KTT$GG2i-FcxO)0{QogO)U^{jq!(FecxJ0_kwU%+ zH+|522|}7D0+pkAsF!@GVTwvAtFJ~QK@ng13q;M0@)h5!(T};dgp_ENU%uL|=x&`u zg}FfUP}@UI#i3q_<`;|43r(#e2&@%F!h@q{ literal 2547 zcmd6pdpwle8plb(?5z~xu;nsI2p>gdFir2cjmx->Hsg{?hK$=8mxgi4NVbUNlE`^6 zrU;cWL`LbxaT}L0m^w}zjK(1MOKQJ!_Mc~eKKtME$NN5?&sxt~>sin5`>eGxT(GvX zFcp}Xn3yca&dLq44ACdO5Bgj7?mHVV5-zt_wu z8ub8mEw;pv$sO*5>Zj6I6ktm785y@x^vSIh*5t4Y)uDYR_Y zx$Q6w#qYT+@nnnhgj+D`%}1!eHqw54?9PF`RK@{mS!uOHgNLQ1v)BjWLJ2?uNT-q{ z_W*FxTf3cPb~0O2(>EoVEv;reh}1CAAlcbn(9kdeY;XTx4+T&0&u~aS7rMQi+E^bS ze_}p~;XNOJq8DOT^Z4sZ8=0Jd;=AN1R(0CY72`0<4O07rYeY&q}XSKA1UqD%uy zx+}Uvk!s+tEe%`` z_N7m4H+3mGs)F!F)z}I3a})6s_*A_1(7(P|R=> zAic|3Mu>>H%@)@*pi|jMdA${kLFXS+C$cv5Do)hQLLvU7)WRiRuZ_lTCbYY*V0z;v z)u4qyAa;CAQCn?YyU`2xQpZW;D32iOQ~EyeYKyZ4FB-=oP*(F{pMqQam0NNc}AK1HrGU|!qQ6!{!q)vXAC7iKXa5rYZNA|D?b(g5vvYtwO3;;%?IVH&h`#mZ(@|S=BF7!jYPn#DH|s@{ica#}dyc2Kqe>lKD%CBdtrKmITRwz6C2s*8QV`!%f?o`mT(31P8`(@@}dm%Y*<*ti^;vgDm z*&_}fL|hVW8O6`ZsY9U%V#abR<$FL)J;-Rqfi&~;D7xIAOrU8G(iZ2MBC-PSu;p-L za1$%sy0oloz9oS6_@n8E9+=m&Gc_A;s&bl@d&SB=4~;E+VV556ZLFG3nJa3X`}X2} z{{~cdRohNf!(;!pab&_Sf|9b_8S*9Sn^Q`IlPiZ10}t%nHD(SsGMOtjj^%T#%U_b`5^K0b8oAD| zi8hk?<(+HsP~6UHb0C$q2XspJ9{+xo7}aocxA>}viq4gv4|+GdI8~@3-N%om_$&?_T@AyZj#=tk z#GNs#6rk+yQI1<_GwN?493xk0iUSJ!PXsl>S2A{~PaNcrv>2}qJdOPN{Y=e2nK8T5L?Pj^z5@H@Yaa#D^*II zkq$TswW(OGJ8xHsR2M+^();#kyaQj4;p8}Ef0m~bo>wBRCKn9j1YWSM=OJQ>L(4c_ z_iYI7`b2zOIQee~Vf!w1t8$%)eti`;fP@478EodeCDy1XV~e%7s<3l)vdAWKFqwTp zi?Mw&wlX1N?DJ=RI>wPVgTt5HVT*sXa!m`ta|+UXf~lVVGoIs2-7^lb)F(#Oj05f7 zgtfJ%yrQd8&HYx6Dxgy>qkEy4(a#YuOUh(H359JB4SWGu=|277w7_E5^9J$jE^XLX zrY<80`L8fef?Gq3vea%>j6885@JHS^6|i6Xtg}(hF}g1Sx=J%&tO9yFy`U`X({m&alHlkL;#7Yt>^S?0fk_@qBM%R7swLy!KeTL diff --git a/static/ico/favicon-32.png b/static/ico/favicon-32.png index 37ae734d5b9bca1a269c7eca8b04032b3549b474..3cd7f14acf91adf1164ac39f29da73414553958c 100644 GIT binary patch delta 675 zcmeC@+Q2$NvYwfNfkA&c(_$cH8Q>G*Dj>-F>$zl6y2+odSQolHB>ouGuPX)9Y-Rph0HsQSF zHI8LGsZb$3P3B;>WjsETGmH#U6HXnN(ug7OH_h$Go2NYq?`M_<%e)Nhy6i1E?cGe* z99i9>jVFxR+)F2>O1{Z7Huo^HxVTx#+b|$-dPLX7;KgyTa$2S-Z4@~yT>nge=W&_0 zOO|D{AFqqva;jjq-sFi%XDs;TSo!ny4>TA)yxJw!D|6U(S!?9AjS9^Z0@cqKq#L2F+`f1M|r_)Imt%*u&rP%En16Sy=d9t1B`!(f+Q9*=3dgQc5z8oGQ z9*y0(9%2azOY0v^NJvPmPEiwNJ62z|MzXI}BI4WB!(E0O^wzykWtEiRS59=C(iqwP zdqQf0ti_{Bo;&CEH(acrEXbG6!{!w&e&Ftz^=VUF9%w{wXMUqmns&3~jmTV?x+euE zoaF zWdG5+=DOLee)Z!|RP1W@{1saC+3x=Qrwd>7F8IXC6U2raiE+D0{MZ!rZKcywrsS<} zybo6`;bP@sVqa6F)pAYibf10AVpph1~4X2{Q@C2qO|r{=b60G zV0Pmy>v`9IV9Ce-YLDl=*~VO1Te<7!KRGA=vfGV5$7~ax%ssjO-;uxay1O-3r^fra zAFnv>GPkb}sPd(inZYZDWW(=5jR9M4^DRj=Zwz#m0IExTu$=2r5liG5+k_BKx6^s2 z6u%fbPfYp3;O1!X$wjb~!!}pufCh)#hV$<}6s}EppS?dWL4+aMx!?6OuByGV^&U=P-~yKLw)(8$*H^FDtvp*>UPec~6|vz>2mY-k8% z;JLehqKMn2hQJ_+<%^knw5Evh%su@g(DNC`ffW)wmyPEgyytHc&fw;np!4k6b$35^ z_psA-k4(i5Xc+daOP1dM^7-3s%|6q=FfLY*;C&rfcH2=&Mm~T4ldn%b#fmq-mOr3j z*|TJ^o7`d!1FnXP8y=lC{Uqbs5Gc^oHuapMYp6-&(=+L=i7B1RQjU-0k{SXHdfL8f zY+gD07uUznX~E(Wp)D6T>{DA3srTLZC}Yp0107Pl)-z?}e8k=`EKV_4v}pGwpLJ{R zyecV)P>m~|y~ zUMaY%eA#TBM_=!3%enSa=Pt8b)2_b1`RubF7)07H-2G;Ms`>x3+tzWj#zvQHAWhZO!*PTbu%@!N9K-rW~AN9+@C?A>hiCoj=urCd_l zC(SdDmOVPTL;Yaff5F~Wd<&;b9Em;L@ycr3nPuzVY-?T}z_(ES;JxWb@0@;X$Z|1% zF-!ITS7pH5)Y7Owd#gSu?zi1FMdaQ9PIws*us0##FEg7ae)PMhep>ta@9BzG@6W$) b{=@p^`ZB#QkAExy7IX}ru6{1-oD!M<_W?l0 From 87360a6053ba73659f0677ea2bd6a62d5e95aa4b Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Mon, 4 Sep 2023 12:46:38 +0200 Subject: [PATCH 142/145] source-sans-3 --- assets/main.scss | 19 +++++++++--------- static/fnt/source-sans-3-v9-latin-600.woff2 | Bin 0 -> 15084 bytes .../fnt/source-sans-3-v9-latin-regular.woff2 | Bin 0 -> 15008 bytes static/fnt/source-sans-pro-v14-latin-600.woff | Bin 20096 -> 0 bytes .../fnt/source-sans-pro-v14-latin-600.woff2 | Bin 15948 -> 0 bytes .../source-sans-pro-v14-latin-regular.woff | Bin 20180 -> 0 bytes .../source-sans-pro-v14-latin-regular.woff2 | Bin 16112 -> 0 bytes 7 files changed, 10 insertions(+), 9 deletions(-) create mode 100644 static/fnt/source-sans-3-v9-latin-600.woff2 create mode 100644 static/fnt/source-sans-3-v9-latin-regular.woff2 delete mode 100644 static/fnt/source-sans-pro-v14-latin-600.woff delete mode 100644 static/fnt/source-sans-pro-v14-latin-600.woff2 delete mode 100644 static/fnt/source-sans-pro-v14-latin-regular.woff delete mode 100644 static/fnt/source-sans-pro-v14-latin-regular.woff2 diff --git a/assets/main.scss b/assets/main.scss index 71b9eb8df5f..d426f8dfdc1 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -1,23 +1,24 @@ @import "vars"; +/* source-sans-3-regular - latin */ @font-face { - font-family: "Source Sans Pro"; + font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Source Sans 3'; font-style: normal; - font-display: swap; font-weight: 400; - src: local("Source Sans Pro Regular"), local("SourceSansPro-Regular"), url("/fnt/source-sans-pro-v14-latin-regular.woff2") format("woff2"), url("/fnt/source-sans-pro-v14-latin-regular.woff") format("woff"); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + src: url('/fnt/source-sans-3-v9-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } +/* source-sans-3-600 - latin */ @font-face { - font-family: "Source Sans Pro"; + font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ + font-family: 'Source Sans 3'; font-style: normal; - font-display: swap; font-weight: 600; - src: local("Source Sans Pro Bold"), local("SourceSansPro-Bold"), url("/fnt/source-sans-pro-v14-latin-600.woff2") format("woff2"), url("/fnt/source-sans-pro-v14-latin-600.woff") format("woff"); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; + src: url('/fnt/source-sans-3-v9-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ } + html { scrollbar-color: fade-out($txt, 0.5) fade-out($txt, 0.3); scrollbar-width: thin; @@ -26,7 +27,7 @@ html { body { padding: 0 5%; - font-family: "Source Sans Pro", Arial, Helvetica, sans-serif; + font-family: "Source Sans 3", Arial, Helvetica, sans-serif; line-height: 1.5; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; diff --git a/static/fnt/source-sans-3-v9-latin-600.woff2 b/static/fnt/source-sans-3-v9-latin-600.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7d6aedaabc10882572927142a0f99b17a66f51b2 GIT binary patch literal 15084 zcmV4P6r?xFM1`+ zv(Am%0bbhwZS-tJ4Z4G$r-qa~BKao$K=A+H6Vw4N4ux<3tc}eom@7M3wzVbnoFJc>+kY0$djVPG^iM&cz#am^Lp8FhD7U5AlZkqZgf zi)%S+H>2jw;R9jY1AwG$K!GZNepOSydnF}R{j@>G>1k;vBs<}{=L23>*D%=}V31t| zfbf2v&E+b;&g*RCPZPminX2tAU=Ya(im)?mGghP=YD-0F=UT0&zrTC&|Ni*&6Hq`< zfB*$R5zHW+_yjlxsYJ;khAJdLq~)jR06K(J<aif6ecoyce?jidg|Bz0h$1@oEk`aI|Rop%$-7XIekK|cBj zf(;VH`}pl+sRfXXRV)%jZ>-<#Wo&4_N-nfPY{K;X2TM4AIJ|LSK`}v~NFJzE25MRb zKqhDwuxJsmY!$F!3$W8}z&?inM;!&6P&hR~w9o?4N*hE6oe*7gMfA`M(N{mj0D}%if zzZ-g@jRgyB`1=qD!~^=u&rG)*dY;L8#KNCBox&OfhkbqXI%2)yPcJCoE}1_~c$h6f ziF@l+$x-*5#k-Vnhi!P<%Or2-S2JelJt_3>&h6wY0ZapvRT}0D?N?86*sZ=Nr>IRZ zku};S)-olqzPiUduT@zOTvl!@)a6rUfPpB|KwhE5Q@iH%dxJoKb1kyO7JKbS@%4W+ zHCOX2(!>(Y+M*eIJ^nKF>ol0CbNXuvaW!0OY$_-P}nA?6K zP5&}N2@jS#rurMnxip9w`KsEn?J{_}TKl2O+)dYQ9+pw-Y!q)G;EbjxA1&ow!=tey?7N`!<( zjD6<;%6^T!>|XvAUL~RSiEc{2x=L^-;44~;GUc2qEw#*A>#Vl{B_SZd^5u&WEgBUg z22rLAPq}jZ+Eiq%Xn}QFXuTHL;0q&wdNBUK;SmtUTZ7)YhuJAvM^1#!{ef~>c+S9` zj#bC$MmxX%$=e$Dv3QchAg;>Yfq32gaMAL-#^akh>%cAHM%2?{ABHk}>Y0Yq9}W#` zNSqRbEBD4ojbi!0Ebt4+E(3xD2{3Ya4HHia{kg^u)$jbA?BSvSP=VVh_~<6cVzyYz zW2xw7sD18Vf|C^n+&8!QxNd2Gp9Hh(tpG}40=gwq1cbCP4I2yRW`g+&()#fmwhg$o z(gq-Fi*-yhW^S%R$3s9ldO$t@JW+*u^p|$OPw${QI8UpNb#W;2O^r`ak6~oQ8fhfHg%+YV+Ke0!!)8AJ zRQWYO2d%sU(yYdwudnwVUXW1-1l9H)s$456ERVvh&dIjqUpbdYOYp-uP3_tCTEmYh&F$>vJb^d@H5lxIE&oAp5g zyKxkkVOch4hJ;vm43+H9w9K6##_}$r26E4q*+WJOH3!OdtRUarEYzvwzQIrpY!3Xo zA6lFeV7|hIFL_2u5rsksiq)@vAj+d{Ui6T2Fo^8lHCew>4+CGKO4z<&q*B~mD@gF2 zbdstFpG3Zgput>64W2UPD7yLj}kr zOw+HpR7-IH0vrY=54m#JL?8$*ida!is#wY%FP$O!*=X3pN}OB%n!yXzq9H*Aakxe& z4MZ_>i%v_cy5(;#jV)_jmfyj^nDdrF9XAQIf76py%Ih;LEiJO^Tldb-6qR#8FyNEp z35Rz+c3lqSo~-*GmK>^;lj`*Bc>UV?48}se6*j=sLo$W9_g^X`)GJuru3Ci_-P*Q( z&vb~ZiFk~;SWlf`iuvla^TZPX@1p=yA49MjaJw3d>K4j7)!IUY` zk|mOL>qJK!L7jIVXiv(QFYHJVcx6KLy6$d^JSzsy1ubg|UOzoo5met2=j(#^_3)Cn zz}lNb>D2uF&z{w&o|^YzH)x!jacseUIiB8q9P!<)x0m%4>wa>EHbbi;#oyOLBi!0I zJas&*J}wWgaa!UqHH`O6OEN2}YVOvy-NasOi}7hCp226g60nzj9wN8g{Zj_U?VkkT zwo3+=e=1(o-daL*QP|ffr@peI-I1}bHrX8|LPz@nv1J8h%l;LeEM-Hg7wWg*VkHfu z@(umpC-jo>ASjZE5k>RjPg>rA(&N8@a=q>^J`cP~ZiX*L`zj1{em74}I${wnN#&7? z3|pf({BM^k2;v-x013fUF#>}Db2ucS2$4upg_5eFiy0VlOk3nywkEM*o5Bu=?VhIC9Z9yyrWKrZX6%mw?)OHMYjmzGq7Nm^;ogm!+y&(N)1|fzKjU_Xl z$V5_;QBAd}X$vYAlUoXJy|e7JfA@gHa0pRXk2uiz2Z7``(=|6qMn)(8z;K(ik=xx1 zxKBY_#pt4XueYZ2i-IRTP4SGR;idGw?D&;H=X(K`w*sAeoZ)vR?cEJ@zc=ad?r-~s zFsOP%;(IeyZ|UC?299@;ruWkFewse8b=?~TK0yY)i0!M`zKQMIO!z)sKc?f?sD4{C zQZIAWw9A}d<9=}Kte^r05s@Hmg-S!PAVv@;vM?1b89lup{jPWvGHm1e3u%|bh8Rh&bx3u2H?u*98vK=(?p#{xax<~`+UnrGg-i3Vu@ zTFz4?h$Hryp^rwA_*d1E zgHB93Ghy=x98Xh*cX4b~=;p&!2dRXewgUhFI0i0QAi#34N&gQ2!eB6>Kw91Vnu;d&`D;(O8VJCF9b1?p=7nr zZ!bI$%X2ZG@fD;hOL0j(8AySY+e_hVAM6Q*j)WVCn!b!wfHrtft|1B_8hrRux;H8f z>E=v|FN_{XMZq0``~`uQlzLvxrAIRO_!s%%O~p@uAnHV#^khfp@UeZf$A!(}OT70| zKktcqZn)%(W9*6t?6So=D=gwL%T(iyG(=+gIzdi&=kygo7>guC(7Tz6Ye;&F6*vdj+I8%Y?$HHAGC2D4bQZ2#h>cNe8m|; z_2@qe6@L^UGmuapPZTTZ!;FmCG8ZjGiWop(L#Nqi!e)m8vk9{a5L@1_QeG$%{G=TT zBvooBZLMGUp^LAv?04q7g5IA!f&LCmqqaJk^RjYfQ@RaAEcnpG zxB|}!7tC%NHbL`gU<%MPLqS;6bpJ_2xLWP0qf< zCTlFSz&tZdHr8;1^wCYfu7g&ZD3Pau3@PG838588NmkwTR4TupPk?`XQ|+7AsyuMZ z73Z9A$R68lXi%%#*Ah;1RI{6CblQk>c`FjyY;o76mvVWn0ncw^Xwl*R)St zF(C09@5Lo+@{A|GFROuoA`!8#fO|-Vj zrY1G%!d3=P^QZDOsgA>*RZpSg{e%eUH3gYJfoq0YYL=<;pM@Pdz-x1vxy+K*gBjiQ z<>LW7cV$hW5_f+tmaf~039wKenOAU!J}+K)(zm*URwp-Y4Nd;Pwf#WB*?CG}JG%`l zuw*UL&fU}urt_bfV1(7>UTF3-Q}AK!9+Fc$AR`@2;Sok%BV~_0cZc8Ya@*ivrfqPUC+inMG7eM=G!joJ=e2^NbHyH#OtKI$raqn4l zmMTvmmde$&b@dI6n>20Kf@P~BU=vTj3M0XSxU&b};QTcNqhr_j$f@+z^tDZ9hvUY* zV&A%9?o;hqT|O1~-pBDi(Ew4Rt6*+dz-j@=ah3|W{^ts~_kWmch}ZMC&e+90Kr6w_ zpt#W-28O1^wiwq^d^2I@m(6arnkX=JxS$ks8ECy~1~t|vS`~D90ENu%-Jea`BMK@W zlE*nhsgbtf%*b!&WC$?owhfvoPqTcL#W=z%yvg_j}vE-L}yu!a7HN zhJU)gtZ=$j`^PRKj2|I?4>#22>V>uKh%@DTIFeXYmsb#p(0Uj{?q|X z@hz&oR^@?Pt~lp}L-yEagH@Jrn!|3Q(aH_bOBe05&`6OSSg+S?6So=RPng~iFGiX;h^(w$~vc8TgIUa0 z*%8+fixH#B@1-hDk(87)v05L>fCv`{vsirAIY&$ttMqeBjCU`=U}|Mak{|>EMnptJ z3{vl*JR`=VipA`#`#5k11cfC4-12t4LEAMxe(9qVV1z2z9J$!^79Z9q9^@@P820>? zMjV?l^db8&48t;%vLnN3paHOH>(x8J#I9wM@ScYOqTI1t}%PB0Mdoj;7DdX3Xu|-HPOlt z!yR_sWAD_|M=Rceo!Y%UID}yt5mWmFe-v>KxmTQu3*SWG_SvJRjzy}y^TvAz97>EMURWRSsG}hv1pl3KIs_Qwur0aaq?b1M>YMMDsK+8x zmQoE^*<{O+>z6zQ3Kc0_<+|&kr(SyNDmZ;?wu;+1Dqsl{j+zm&#5mT2jMbhg&Z&OI2;im=vkh7O6YVp zVQZTjB9%&BOG)vD1Tt+gMs1%knz1%QnGnZ<5Ftdnekmao5m#hXAjI>8ZYsvU8zZgo z5CX{RJwn*8{Ni!2kCCQnSS7T}qI5(KAWf(6fXIS^yq2oqy*PuJXuw1&LAt9e1uw7Tf>vACLQbhY()P7XKMtw zq9l$+dYIP5pd2dy6YjT`$M6LJhVCT+VesT)>6c7^V@l#Kny!18{isDb)d&#kD4+jqL(e7N2NY|ikjtGg1Ydn5@P4ugJN zv_G4#oEdvK*K!sn$n_l_B`rDcVTV*o;L}~WlQL_PJCGZ*#OZ#qoIlm5@E+FPE^R4d z&rwP;+wqNvKx;DOW13bs8vD%tC!tDrJ+y?OXlgyMa_mzL;*9S<;_c!gS1SCP>gq3^ zloh%SMDX$TiDjddLJ9(G*8-BSZRp=Q39_`w_^PWrvc3#Xh!nYSAK7RhxKq7IG>JsH z<(Ka6550}gpPY6BlCT*FB=nz&Zo2EGz^BNSU8>2)7tT<;)B|9rW9pX2iAV4b9n9OE z!WkWxtLeI%9hOkLe{YmmYN@-W8Gb?GEFG@^k^>~=&*vn<$B^PFQGZbPW_fii*2d7} zDr8=jfU<=t5My^xSt(#Cvql)V9xiKpH7pe6|oeHryB8*rPqS1;E=V!&qhZ!?TY z(|0#Jyz1f?yx~}f5Oa99Y0pN{y)pKt^8@FTnsrpZ2@f-UmeqvVz#_Skxjb!Rtdj$F zD>o6mKB@;w@c!fLozA&e8?ncmDL{0Fh09xo=HL0^t5w^A9J0rFRG_*qnX|-*%!(>= z@8eK+htK=M-4a8QZ@)f0BUy5ng`bMa*v4;oR5ET_^ud@EC}2xD2>f5Mr?ZO)2O=|qcG0?GRkTYoU+BTG;8`dKvb+gx`J+(IX*k~ z|DyMWae6W3IUuXYo!^Y!@*S}*#3b(O=TS_%R0CK>if@edD)(Dp${63YJp~a}?Dk>5 zM3sZh+{f49{2-nbSyc9LGEBTCxd3_^4V!6-c&yo3-10 z`*iE^S`U&dbnIC6jKdDDej3%w&e+M-)YM{Z)TD+^`Y8H&J+zcxNqb8Xjc1FB>*|g(~B$+3?K6}=@84!bpdtx_#I1M4C{^mj;b(_v?tKdDH3u!q|UOn-i zLtk`sQ)41$YSKfW@4~J2>DlHwwRz^}D;Xn)7`0c@J3;fmGJ#6a`J`o4EO1=Y9a8m4 zz@KkAk&|6VvLI!zwniIGJ7#gQeDtX@JIl;3Fg*@Qn#fUuQ|R_bgq$Exs7_(GQ>XKt z`%2C}8#mUH>A5^Ix{pN!1D&0xjXZziH*JeH`Uidw8AMwkDXcR;Sq*9SM5k-~6-Tfl zGYHWSEkk7W##;ugsw(hrXq)cZjK$R!&+-BNv=VG9g6_XNrwpcr6LA>}uWB}|KaL9B=a^fXArdxm z(WRBPCk`ULAgEm41?h?YaOX~?S-);lE`rnbUS;GSZ70^;iO-P)+?FlV_h~J5%_Bn=T;%9Zj#}1Xev5xeGN$x%XU`3Q=!`3V_jXXq>%Owxr{&W zFYI*>4wPp@q|9y8k!6=zwlV^BgqcpIsSRE5#VnF1ca@a$MqGpHa)N3Ne^^-@RQ@cZ z5ufJ|=UVGfk>j;4w2lz?hub5-P_sW0} zPH_CnXKiGmu6h})X^U1jpja&3GlwR$YqiyJckNz-CZ1G85d$+6(ypeE_bHSNnRIa) z(4?PSOMH1VoL?nTv}>2-xW75%WN~fN<`Z}3(OVnnNA%Y=Zm7A@YmdS2F9kH=&q!OO zQe9=(&H9odj-2v=1o8mpJgtE50P3AYNZFIW9vvmbF zGhw|W)m2P1gp_27fLQpRoCgIybZRNB2+Gl*>C&ZtLzuAX?S!U{@V1>oGIaOG|#wm-QWKA=6_ zZ`*u#=(imkx;jE6($74$r?j?Ka_r;JKAxharUn~bdh4m{CjtMqho>>m=zx#NHje3Q zX3k%_duNfc>>qUXz_aKydtG^$_-xAJ3Q}q7HHO$Nj!Pocey`Ax@Fh)mM=Zp zz*k?%R5$1?a}t2N&0PY!PQjqt(puJ!onT$ zC6=PJ>=6-)E$>S_%L{=5*w`@^*QhT3?u>5vV@|8*nyOvU3<;ZspF@I#sQQGsdQQ6g zQume0XP@i30_cr(D{rhDY_5BZ@45-Si|>5gQkVB~oxBc2hOgQ?h!Bs*9PaRb4+=q zMwEuVf=ooM=2|FYTKoKF5r_=G)UwXyUEkU1*|f&fWKPJe^-@uLI3#MV7g=Q>GQ2uf zvHy1J_K7qFBExG^sEK>2dnKR+QN6|=+}0Tq&W~322rSMf$rXch)@MR(m0Fbccm&yM zwFOW7ciOzX+{pRBruOqp~^df#Kv~=1t1;f?DSuP0*<^>FpY;T$tkO`8# zkYP%IYDnCceioi;FD83`faLkTN@CAEP*G(bY9a_BVv8%?J2Dyf*2TeCJjYtF<(|^_j9`F2R8?_u4pBAXXande?+UGUoVUNo&}NN&+S>7 zDGEDHHCdiL4eAp%r%J7M@@mT?X(n#Nd!L?U{(C`h z70cC?DY04C!L{qXe>(6?;YvE@_>`U1^u{A(i&&wm>X3sE`A1UsQb+i}h0xTJ%noW# zaG-yIgB*N?#Xdm|Iu`T{1SvgcM=c4Qe(#03Rqib%cBFj|^!=f@rNKSx(mJqV{eR!6rLJ(1r*q1!RJ9RG9w)GuZkLSlAE9Qi>eGLXB zcWfdz@M_=5WIuGs#XvL=uyem3D#4H$M3+3Mi2xkJ(XBW2R)#FS?FOx_M#t~47YhWH z)sGba81a6p%dBO&EmS6X@p=}FisL|nC?f}5d@b(h-%yo1u*Ba($#1WZ2cZjf;PJ_I zI5&@EhalW`BEBd9En(VtYDJ)mEia4Rd^uJReeoMsDS;yld2#uak?SSpDt=W>t=cR$ z1qKB0JE*o!l4ug0ULqpRi_>PXUMnjnoZ{Nb9#=((kQ5soz$g3O$ZfdeTk5MEXi=CG(!GZYTgtkGE5c7j#q!Kx6nIyT%JA32EP__rh-2? z<6fv>q;co`y7@oxu(X2Bua||`I`9c17}t?aE*cN@-EMfomHVq#0Ny-wYry~CrZUe~ zXm6QkQz_q`eYb#f@vWJf|9T|POaYH z7P*pTX2ey|%|-ctx~SAAk#F=fTQN=M7XEqGCKOv@I!@YABEa(1nrGL{Sb(Y?6BzI@@2BX{B8wuZbX`Q}?Rz-A+G=xAqgI-N=i`4{w``VuC&;ETK z0*Ss=Z|DtI8hiC^t{4;;|C{Hg@agC5ooiq=g6*uB%5*FdU?~bLdg1J|3)WFdFH}55pnk@X z8DQr(y^qZDRErWe#<_eKhcV824OO2@IUDlbWUhvG`f*17DnlSXgMBPMWm76ULh^R9ayp;@o zkm3rKCx;f)Ex5(w(hA<#TpCsIZ0YsET9bS5{JQzheY@{N_bX5LF|=}486Qb>^b>NI zP8yU}gpqlVQiZXbd03HW5UM##M|Xb5on+?8!T&DzAKEqAzqh$L*G6|)hN&9Tzp6}a zEw=qH67es;_VIrSaG8IBtzmfAfcqy0`f8jwzX32^RpCWL&Tg^HBWIj_>a&*;ah^y6Cwr~M&9WK{D6?${S$9*q1*W3*Jy=v7w@PIss`lw9~pL4Or z^v>Uy8nZ!8eC}ilsfji{m^PxxV3f67WtH7&Y-*JPBtle4H+ks;p?dZ*XQY}X(MC8& z3=Swm;Mhg1o@9{N)J4aQEoU)jyhX-;GnO0L7v$1a5w5VxYE~v{rQkUzTCtY5z%pB8 z7B-DJ)eiT3)*|F)s2%`0t%4$?v>RLPbxzqC)BI_{=<&G8lMOFws>s8kgZ!R z!^-JDKXu{dgv_k37Ky5KYExf&&}3b*8NDL~o|!zI`l@qOA0;(C?NmB!^B9YYx8&A? zRS42M6zba~@{?4`Q^585aE{zE1&Z@rJ7yOWPE#p2Nt}ynPq-7z{GceBGowFuMp2aU zjcTCz)f`XuFSth26pRik#YUmtCr^Elt+20n`AZy{Cc_eWRew#c6>H=nx&T%&Z(o1? zNu}f)((@GR7>PVar92P5JgNvX7Nl%+>h&>aTb&7z#rRIMwwyH{rq52LP&@Zj`-<{6 za;MMCnO^Y*SiXv}T5dHqU4C`NPJW*E+>Uesu7^l+fQF%kylM(@Ap+TsXRcCMjg8=S z{m_=EG`i6{(z_F+^rvR*oH25G#TEygtI>OE?VG-}K6D}b=rYQTd?qu028G&$(Z-l2 zfEere%mJ>vVrX@IzHC{Jp)VIn-5~#@yIcOTIthATDZ7&LkL6FUu@x}3+Us%NGibcM z{8@eTN3C%Pc>s~Rao=eI>acy_mEsi3u9v#PG$zHip7r%cu99r4J{ zHanxuVE0m(y!WbdEH(y34F{ckLR8^|Iecu#xty~w=lbUPR6>9f)hdY%W><=BH_enb zBvs2JPF}|6Zlh_rfzl$P>%#=b!a%mwVm59#T0(i?>!7l}1tq8>zIe1~Rw!OuzCQ%+ zbjALVKNzpRN{Gf26-PoKr)$?Fm1c}GU;-g@h*|a4R6Of&@gBzz5Q`TCywBq(3{pk?6v7@Sn``t~ja0H(Wu~oz!5aukfYVol z`2>fXk0*A?WjugG|K(S%`UZFTA&+*@M4?Q(^yhIceZYbTA74e&A$~ww{ew=+-~Lyp zA@CML?&B=2;T$Fqt4Y)WV%fdhqmrXvd!EXJPoJi8kJZSkH&em82v4-L-p*?XO608a z0@Tm{l~GQi95VAcG6qQ^J`O6iDwxU&yw+q>Gx?`Lxe47aOxoXu@uH8#nbPiDD|icG z3R?KIGcQ4lrV_5#{sjF$gCPo;xeuij)K3-VAC+O&<{!s}QDrk5(}%by zDi}d9%L%NH|0^fkb|0posjggNnMZ*lXv}%)$C=(pHeur>0}`+!GQo9zR zI?6no6|(3-bL5tuJkM$yrt5B8#&=?7^1Q}B&C&8d<*32r=F@;{rD{?<w}k9hE@WZ>vv6+l2PHVaMASA zc(qWc3GsKIt$3X%a!aTsR-}{7f9iRtFtxATVTDRO;N1<+*q_lpV_!DHnPu8`1!MUd zx{9+LH*M?R$yp}wjD2PU@FG0DKJ&(Ohjq)0fLk3F4xDCvNEH6TWjtO==br)!fq!mM zOx^vX(K%UUA6RH~O^(}vLg(qx7`uZZd-s6GC32BhDxBoSXt9k!bBLUQh?A%$i`>L0 zsj_k0It~sXTJ}1d_ktU#BjeHWBUL{P0EHAi5(U|rW1F{b-j*tC-?Dvd%eF0BMV>5Q zoDcg6gg!i>8Ta3UZ=X#7U-ZB8d{mZbI&K>hLHK@ufYRTwrm7s^#-@?+==dvDuc$mn z@;60}M1Znl$57+QP?K_-Xb2Jx(EvdFcj8YAT;*l;|9;Lm_%zZ-^k6FY{d=iu8y~Dl z9chamDFH7&#kgupFXH13}{GXm;+L7eLYBgG;l^7p@05m3JcBM>_)wHMf#; zv!kORd`w%Otuq1&1?|1QtoLm&p;`VyhjiB_5>N?n?AY@4{qFiEFO)y98!@rFdy7gb zWH^`b>_Z*aap#R9BvoWyFZ}u(;C>so^p9o5#TkKja<0{2k>Hm6vAw7`%SJgCqYbQy z_|QJE{zD&GmA4R^iNq9;F%(U*&nvC)fWTSXp@%w7&e+FLx{&sy!zkk_rJ z%P(Ot7t6~pV$qktKD9;4=Zyii#(ZG74c1f~MxiGvDkjjV!+@i6O<7J8Hwa?68&93G zigTzS@ze3TIAbHB*98eD-mGpUi5i5z#)Jiv&sNGTV3-y2&1@I^prW0s zi)-<0Upt+4ER0$ri=;y<&s(&E$xhPj}A0|29UZ> z^~hSR;g#W{qF?1_NQo-^vC%VyMU&~oC|Vp_91j~HdFmb2el1#S|BhzVNH%Wse|{cZ zoog&Cxmx+6bJ9N?;n|$#(z5yMU9VKI&osGo`4BnZG&pZCo2eZFP&psz zpVOU9R}BJ@-t|Ghm&wNbu6Mm3d+98G585o4928~}20ICZ%6Scgw6Y}_%*o2NgM-LDcc|HsH4_P!e4f2a4m7jB$5(49?32GjLIC&K$qHb#5jSshQUtsd&g4h}x|)WpbO zIyj$>99_bos@le4)Jj!XGYzeHycrgC>!B)0ymwTA$=oKIf6_1BVR%`~&)_5l#0;!v zo>o&G8+lrdS;acpZXt$&_9X+=R7YJ#7`lw3raFu;>6-m-BaglHP{ZiEBV@W`!m7K8 zFA9^&lOI5I>g}s(chDI*AdY5@gI5tYef|Y*quOdRTwDHXE={?mE@L^DV})6fLH3yA z|M!5^?bTeYU9PnWvCgb(R306mymAiWYM$o>UNmP-PoCp>Uf@Mu;$>dpRbJzD-r!B# zI`Z)fUc9z=!N;*?^iv*ne2hUs=xp394?S15xz$!(jMe76!RO=j&MyS&<6$dsJ?7Mnp@-+Z;R3rU{P7rTxTZYx%V&r`vRaZ=Figq|N8nw9WGtj?0Ayk zDmAfx6XpM4AOP#Y3wh%DQEO+p)5MSqPk|-Rl58}v=t@mHXT=a-=IH=SMoGExC-3@Y z_YtI^o%ZVs+YfNrGLX99o3o>q>p<&SAEZta&y`#Oq^AK5lP?YNcV8vitFsqz#5um# zU^zGG)b1tAfn0wCSIRCw8H(M?(?B>-*z8YM*S>cd;5BR*1u?hgdIwkwMK*nx-C8&m zJC+sVyDC+1$@!NWB%bR)7I>B#1Pqo|Hwt1q``Ve3Jzd_!v=Dz~InAy%B(t}776*6^ zG4K?n=Wrul7Fk0*FS!)g>BcrgUQ9G+TQbFDOLnk&F~R!nLz$ZDfqC{=Uolc@%(TCF za2Tii>PAejC`MJ&D1f?hsDI=IMSl%S*2AtwhN4|NAb{E}k<% zcN7rN;W{7McMz^T6L}X0XxKwb)78-vUA~i({VaSNA z!AEKcYJRL3*6@I}WoON(tf{Nx)>_t|@y#it^L}MvS>j{Te4jF&=1xUpf10sUeMT?i z>KqkR5{Toj6{_nOOL6vv+(mW9h$(PZaBEsL>VQJ>lmfF+#qB-l*r~wQq(lp%gANC$ z5bogD7&b)NYu=%v7gl|`jYF4I*jn4tGGw!?r~?87qG>2fPqrH6N93PfQsih`+f*Sl zvL=B6Y)~7Nsw`K-0D^1lGP3v>KZhvvypVs|6z58gU-y7-aZ@}dW`_7i8kTYuLZJ!h zIftbiB~?@R)m$sItEh3VPs0rPuE^M*f6j?%T{9*D7yT+Cs38dST?dxL1O_ldNL=SX zGd(&-g)AAazG?I871qfv8C<$L!4YT#&7miZ2d8IK%7Q)7P$OUi}!jH5@pv?gRMl83J8@so%6*xM8`}N&^E6NGWEs1bjaL(+DQB?1UDDE`7ndbmPi9zf<@Mq&CyRC9GE0D8T=_3Mf>agu6+u zsZn>~Qlu4#b#<&X-+fGx5SL48usVsKIESZVPRO7yK4{6d#-iqTx`CMWhSZIg+TH$V O?;bby8eLU10002(-V(_G literal 0 HcmV?d00001 diff --git a/static/fnt/source-sans-3-v9-latin-regular.woff2 b/static/fnt/source-sans-3-v9-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..59d087a6db8a88b74a61d58b06f08ce91c8baae5 GIT binary patch literal 15008 zcmV;RI$y06IYc0RR9100000000000000000000 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 diff --git a/static/fnt/source-sans-pro-v14-latin-600.woff2 b/static/fnt/source-sans-pro-v14-latin-600.woff2 deleted file mode 100644 index cb0ea772fab28d4a497075ccac66682e1bb45686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15948 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 uy8{j<(iKQEML@wu1HYt|fgGq~j_p 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

`BE+Ga0*fH(Ykz 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 diff --git a/static/fnt/source-sans-pro-v14-latin-regular.woff2 b/static/fnt/source-sans-pro-v14-latin-regular.woff2 deleted file mode 100644 index 36bdc0e3254d43bde5c6b5223b873c74273069ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16112 zcmVl5dZ)H0G_}A06vZY0RR9100000000000000000000 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 z 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 Date: Mon, 4 Sep 2023 12:50:46 +0200 Subject: [PATCH 143/145] font unicode ranges --- assets/main.scss | 6 ++++-- docs/302.html | 2 +- docs/404.html | 2 +- docs/fnt/source-sans-3-v9-latin-600.woff2 | Bin 0 -> 15084 bytes docs/fnt/source-sans-3-v9-latin-regular.woff2 | Bin 0 -> 15008 bytes docs/imprint.html | 2 +- docs/index.html | 2 +- docs/privacy.html | 2 +- docs/terms.html | 2 +- 9 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 docs/fnt/source-sans-3-v9-latin-600.woff2 create mode 100644 docs/fnt/source-sans-3-v9-latin-regular.woff2 diff --git a/assets/main.scss b/assets/main.scss index d426f8dfdc1..cfee5b9dd59 100644 --- a/assets/main.scss +++ b/assets/main.scss @@ -6,7 +6,8 @@ font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; - src: url('/fnt/source-sans-3-v9-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ + src: url('/fnt1/source-sans-3-v9-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* source-sans-3-600 - latin */ @@ -15,7 +16,8 @@ font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; - src: url('/fnt/source-sans-3-v9-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ + src: url('/fnt1/source-sans-3-v9-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } diff --git a/docs/302.html b/docs/302.html index 0931f0b7cc6..f6efa495084 100644 --- a/docs/302.html +++ b/docs/302.html @@ -1,4 +1,4 @@ -Error 302 - JS.ORG

𝗫 +Error 302 - JS.ORG
302 REDIRECT

We're sorry, but the subdomain  does not exist.
You will be redirected (again) in 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/404.html b/docs/404.html index d0333f00f34..31847f22aad 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ -Error 404 - JS.ORG
𝗫 +Error 404 - JS.ORG

ERROR 404
We're sorry, but the page you requested could not be found
You will be redirected in 5 seconds.

Looks like your ad blocker worked.
This would have been a paid advertisement that meets the Acceptable Ads Standard.
\ No newline at end of file diff --git a/docs/fnt/source-sans-3-v9-latin-600.woff2 b/docs/fnt/source-sans-3-v9-latin-600.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7d6aedaabc10882572927142a0f99b17a66f51b2 GIT binary patch literal 15084 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 O?;bby8eLU10002(-V(_G literal 0 HcmV?d00001 diff --git a/docs/fnt/source-sans-3-v9-latin-regular.woff2 b/docs/fnt/source-sans-3-v9-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..59d087a6db8a88b74a61d58b06f08ce91c8baae5 GIT binary patch literal 15008 zcmV;RI$y06IYc0RR9100000000000000000000 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 qjVm!3mT`qizMVEU%oj_Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file +Imprint - JS.ORG

Imprint

JS.ORG's focus is to provide free subdomains for the JavaScript community.

Owner/Contact

Stefan Keim
Dorfstraße 1A
86947 Schwabhausen/Weil
Germany

Owner contact email adress: admin@js.org
Owner contact phone number: +49-1764-2080100

Data Protection Supervisory Authority

Promenade 27 (Castle)
91522 Ansbach
Germany
Phone: +49 (0) 981 53 1300
Fax: +49 (0) 981 53 98 1300
Web: www.lda.bayern.de
Email: poststelle@lda.bayern.de

Responsible for Editorial Content

Stefan Keim

Terms of Use for Published Contact Data

The use of contact data published within the framework of the imprint obligation by third parties for the transmission of not expressly requested advertising and information material is hereby expressly rejected. The operator of the website expressly takes legal action in the event of the unsolicited sending of advertising information (e.g., spam mail).

Disclaimer

As a service provider, we are responsible for our own content on these Internet pages under § 7 (1) TMG and according to the general laws. According to §§ 8 to 10 TMG, however, we as service providers are not obliged to monitor transmitted or stored third-party information or investigate circumstances which indicate an illicit activity. Obligations to remove or block the use of information in accordance with the general laws remain unaffected. Any liability in this respect is, however, only incurred from the moment that knowledge of the specific breach of law is obtained. If we become aware of any legal infringements, we will remove these contents immediately.

Liability for Links

Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these third-party contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal contents were not recognizable at the time of linking. However, a permanent control of the content of the linked pages is not reasonable without specific indications of an infringement. We will remove such links immediately, if we become aware of any legal infringements.

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 6d5d7a162d3..37b41212a74 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -JS.ORG - the JavaScript organization
𝗫 +JS.ORG - the JavaScript organization

Are you a JavaScript developer looking for free webspace to host your project?
Check out GitHub Pages. To make things perfect we provide you with a free and sleek URL like one of these:

https://foo.js.org

Your page just has to provide some reasonable content with a clear connection to JavaScript! Follow these four steps to get your own free JS.ORG subdomain for your GitHub Page:

1

If you haven't already, now it's time to log in to your GitHub account and set up your GitHub Page by following the instructions here.
Make sure to add some reasonable content to your new page.

2

Now you should determine your js.org subdomain: either choose your username or the name of your repo according to the existing GitHub Pages URL (for http://foo.github.io/bar, either "foo.js.org" or "bar.js.org" would be possible). More details in the wiki.

3

Add a file named "CNAME" to your repo (in the "gh-pages" branch for project pages) with a single line matching the domain you have chosen (e.g. "foo.js.org" without quotes). If you face any problems, check out the section about Custom URLs at GitHub Pages Help.

4

To finish the procedure, make a pull request in our GitHub repository that adds your subdomain to the list of existing JS.ORG domains. Your new URL should go live within 24 hours (keep an eye on your pull request in case of a naming conflict or a question from our side).