From 462f827088bd1e170c0f8288e3600a48082cd3a1 Mon Sep 17 00:00:00 2001 From: Divyanshu Sharma <86330900+divyanshu-tech@users.noreply.github.com> Date: Sat, 14 Oct 2023 23:54:58 +0530 Subject: [PATCH] Random Jokes Crome Extension --- Random-Jokes-Chrome-Extension/README.md | 25 ++++++++++++++++++++ Random-Jokes-Chrome-Extension/logo1.png | Bin 0 -> 11379 bytes Random-Jokes-Chrome-Extension/manifest.json | 13 ++++++++++ Random-Jokes-Chrome-Extension/popup.css | 14 +++++++++++ Random-Jokes-Chrome-Extension/popup.html | 14 +++++++++++ Random-Jokes-Chrome-Extension/script.js | 11 +++++++++ 6 files changed, 77 insertions(+) create mode 100644 Random-Jokes-Chrome-Extension/README.md create mode 100644 Random-Jokes-Chrome-Extension/logo1.png create mode 100644 Random-Jokes-Chrome-Extension/manifest.json create mode 100644 Random-Jokes-Chrome-Extension/popup.css create mode 100644 Random-Jokes-Chrome-Extension/popup.html create mode 100644 Random-Jokes-Chrome-Extension/script.js diff --git a/Random-Jokes-Chrome-Extension/README.md b/Random-Jokes-Chrome-Extension/README.md new file mode 100644 index 0000000..29ffc25 --- /dev/null +++ b/Random-Jokes-Chrome-Extension/README.md @@ -0,0 +1,25 @@ +# Random-Jokes-Chrome-Extension + +This is a API based projects that named _Random jokes Generator_. It uses an [JOKE API](https://icanhazdadjoke.com/slack) that gives you a new joke everytime. + +So I integrate it with a extension by which you can click every time and get new joke. + +API Documentation: https://icanhazdadjoke.com/api + +API link: https://icanhazdadjoke.com/slack + +> **In response you will get:** +``` +{ + "attachments": [ + { + "fallback": "My first time using an elevator was an uplifting experience. The second time let me down.", + "footer": " - ", + "text": "My first time using an elevator was an uplifting experience. The second time let me down." + } + ], + "response_type": "in_channel", + "username": "icanhazdadjoke" +} +``` +We are interested in the **_text_** part in the response, so extract it using JS and replace with your HTML and show it to the extension. diff --git a/Random-Jokes-Chrome-Extension/logo1.png b/Random-Jokes-Chrome-Extension/logo1.png new file mode 100644 index 0000000000000000000000000000000000000000..86762df1c755b25abd3a2fe48a3bfc719462fc0b GIT binary patch literal 11379 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 BmJa{` literal 0 HcmV?d00001 diff --git a/Random-Jokes-Chrome-Extension/manifest.json b/Random-Jokes-Chrome-Extension/manifest.json new file mode 100644 index 0000000..d22c5bf --- /dev/null +++ b/Random-Jokes-Chrome-Extension/manifest.json @@ -0,0 +1,13 @@ +{ + "name": "Random Jokes", + "version": "0.0.1", + "manifest_version": 2, + "browser_action": { + "default_popup": "popup.html", + "default_icon": "logo1.png" + }, + "icons": { + "128": "logo1.png" + }, + "permissions": ["activeTab"] +} \ No newline at end of file diff --git a/Random-Jokes-Chrome-Extension/popup.css b/Random-Jokes-Chrome-Extension/popup.css new file mode 100644 index 0000000..ea895c5 --- /dev/null +++ b/Random-Jokes-Chrome-Extension/popup.css @@ -0,0 +1,14 @@ +body{ + height: 200px; + width: 400px; + background-color: whitesmoke; +} + +p{ + height: 200px; + width: 400px; + display: flex; + justify-content: center; + align-items: center; + font-size: 18px; +} \ No newline at end of file diff --git a/Random-Jokes-Chrome-Extension/popup.html b/Random-Jokes-Chrome-Extension/popup.html new file mode 100644 index 0000000..9baae9a --- /dev/null +++ b/Random-Jokes-Chrome-Extension/popup.html @@ -0,0 +1,14 @@ + + + + + + + + Dad Jokes + + +

Loading...

+ + + \ No newline at end of file diff --git a/Random-Jokes-Chrome-Extension/script.js b/Random-Jokes-Chrome-Extension/script.js new file mode 100644 index 0000000..7e1664c --- /dev/null +++ b/Random-Jokes-Chrome-Extension/script.js @@ -0,0 +1,11 @@ +// https://icanhazdadjoke.com/slack + +fetch('https://icanhazdadjoke.com/slack') + .then(data => data.json()) + .then(jokeData => { + const jokeText = jokeData.attachments[0].text; + let para = document.getElementById('joke'); + para.innerHTML = jokeText; + }) + +