Repository: swapagarwal/geeksay
Branch: master
Commit: 0ff761661d8d
Files: 15
Total size: 41.3 KB
Directory structure:
gitextract_8nvy437p/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── config.yml
│ │ └── feature-track.md
│ ├── pull_request_template.md
│ └── workflows/
│ └── ci.yml
├── .gitignore
├── .percy.yml
├── .travis.yml
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── cli.js
├── geeksay.js
├── index.html
├── package.json
└── test/
└── geeksay.test.js
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: true
================================================
FILE: .github/ISSUE_TEMPLATE/feature-track.md
================================================
---
name: Feature (Hacktoberfest Track)
about: Propose work within a Hacktoberfest 2025 track
labels: hacktoberfest
---
### Track
(e.g., Browser Extension)
### Problem / Motivation
### Proposed Scope (for the first PR)
- [ ] ...
### Acceptance Criteria
- [ ] Tests (if relevant)
- [ ] Docs / README update
- [ ] Screenshots (UI work)
================================================
FILE: .github/pull_request_template.md
================================================
## Summary
What does this change do?
## Track
(e.g., track: playground)
## Screenshots / Demo (if UI)
## Checklist
- [ ] Linked issue
- [ ] Tests added/updated (if relevant)
- [ ] `npm run lint` passes
- [ ] Docs updated
================================================
FILE: .github/workflows/ci.yml
================================================
name: CI
on:
pull_request:
push:
branches: [master]
jobs:
build-and-test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- run: npm ci
- run: npm run lint --if-present
- run: npm test --if-present
================================================
FILE: .gitignore
================================================
node_modules/
## IDEs
# Intelli J
.idea/
*.iml
# VS Code
.code/
================================================
FILE: .percy.yml
================================================
static-snapshots:
snapshot-files: 'index.html'
================================================
FILE: .travis.yml
================================================
language: node_js
node_js:
- 'lts/*'
script:
- npm test
- npx percy snapshot
================================================
FILE: CONTRIBUTING.md
================================================
## Contributing
The core of this project is the [geeksay.js](https://github.com/swapagarwal/geeksay/blob/master/geeksay.js) file. Contributions are welcome! 😇
> If you'd like to quickly send some geeky words (e.g. home -> 127.0.0.1) without using GitHub, you can submit them via this [form](https://goo.gl/forms/LcJkSgghhm68Ajvc2) or in this [sheet](https://docs.google.com/spreadsheets/d/166ExyRTa6PmtRfONKsaICiaUDTLgATCVQ0K5fMtJuW8/edit?usp=sharing).
- For a small change, just send a PR.
- For bigger changes, open an issue for discussion before sending a PR.
- PR should include an example, if it makes sense.
- You can also contribute by:
- Reporting issues
- Suggesting new features or enhancements
- Improving documentation
- Make sure not to format html files using prettier. It will break the format.
- Also, make sure to format javascript files using prettier.
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2022 Swapnil Agarwal
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================
# geeksay
[](https://travis-ci.org/swapagarwal/geeksay)
[](https://www.npmjs.com/package/geeksay)
[](https://www.npmjs.com/package/geeksay)
[](https://www.npmjs.com/package/geeksay)
[](https://percy.io/swap/geeksay)
[](https://github.com/swapagarwal/geeksay/issues?q=is%3Aopen+is%3Aissue)
[](https://github.com/swapagarwal/geeksay/pulls?q=is%3Apr+is%3Aclosed)
[](https://github.com/swapagarwal/geeksay/fork)
> geeks will ctrl+s the world
> There's no place like 127.0.0.1
> sometimes, i just need a ` `
**geeksay** is a website and CLI to find geeky, cheesy phrases to send to your **Loved Ones** (or teammates 😉).
You know how sometimes you find these really geeky quotes and wish the world had more of them? geeksay fixes that.
Try it out at [http://geeksay.xyz](http://geeksay.xyz)
🤓 Featured on [npm weekly](https://medium.com/npm-inc/npm-weekly-221-npm-6-12-1-is-here-oss-sustainability-open-rfc-calls-more-eb6506c83311) 🤓
---
## 🎃 Hacktoberfest 2025
We’re participating again — and this year we’re inviting **extraordinary contributions**, not just typo fixes!
👉 Check out the umbrella issue: **[#Hacktoberfest 2025 — Pick a Track](../../issues/XXX)**
### Contribution Tracks
* **Browser Extension** (Chrome/Firefox/Edge)
* **Playground UI + Share Cards**
* **Quote/Translation Submission System**
* **Quiz / Games**
* **Accessibility + i18n**
* **TypeScript Core + Tests**
* **Geek Ipsum Generator**
### PR Guidelines
* One **substantive** PR per contributor per day.
* Group related changes together.
* Include tests where relevant.
* For UI work: screenshots/screen recordings required.
* Run `npm run lint` before pushing.
---
## Install
```bash
npm install -g geeksay
```
## Usage
### Module
```js
const geeksay = require('geeksay');
console.log(geeksay(`go hard or go home`));
// go hard || go 127.0.0.1
console.log(geeksay(`please make me a sandwich`));
// sudo make me a sandwich
```
### CLI
```bash
# install locally or globally
npm install geeksay
geeksay copy that
# ctrl+c that
geeksay to be or not to be, that is the question
# to be || ! to be, that is the question
```
> Note: **Do not** put quotes around the phrase, even if it contains spaces!
### npx
```bash
npx geeksay i was 5 and he was 6
# i was 101 && he was 110
npx geeksay sometimes i just need a break
# sometimes i just need a
```
---
## Test
```bash
npm test
```
---
## Contributing
We ❤️ contributions! See the **[Hacktoberfest 2025 Umbrella Issue](../../issues/XXX)** to claim a track.
For general guidelines, read **[CONTRIBUTING.md](./CONTRIBUTING.md)**.
================================================
FILE: cli.js
================================================
#!/usr/bin/env node
const geeksay = require("./geeksay");
const [,, ...words] = process.argv;
const translation = geeksay(words)
console.log(translation);
================================================
FILE: geeksay.js
================================================
const translations = {
hide: "incognito",
hidden: "incognito",
screenshot: "start+prt sc",
input: "",
into: "*",
emotion: "emoticon",
repeat: "loop",
style: "css",
save: "ctrl+s",
break: " ",
control: "ctrl",
rule: "ctrl",
escape: "esc",
black: "#000",
white: "#fff",
bang: "!",
not: "!",
new: "ctrl+n",
open: "ctrl+o",
anchor: "",
bold: "",
cut: "ctrl+x",
copy: "ctrl+c",
paste: "ctrl+v",
quit: "ctrl+q",
close: "ctrl+w",
help: "f1",
rename: "f2",
undo: "ctrl+z",
redo: "ctrl+y",
search: "ctrl+f",
find: "ctrl+f",
replace: "ctrl+r",
print: "ctrl+p",
greet: "ping",
get: "git",
got: "git",
home: "127.0.0.1",
bed: "127.0.0.1",
house: "127.0.0.1",
local: "127.0.0.1",
localhost: "127.0.0.1",
fuck: "fork",
hello: "ping",
hi: "ping",
hey: "ping",
command: "cmd",
forget: "ctrl+z",
world: "0.0.0.0/0",
want: "require",
need: "require",
name: "alias",
address: "url",
pie: "π",
function: "fn",
kill: "alt+f4",
stop: "abort",
refresh: "f5",
slow: "O(n^n)",
fast: "O(1)",
leet: "1337",
hacker: "haxor",
geek: "g33k",
plus: "+",
minus: "-",
and: "&&",
or: "||",
binary: "01",
call: "ping",
me: "self",
owner: "admin",
god: "root",
please: "sudo",
at: "@",
fix: "debug",
shit: "dump",
bullshit: "dump",
poop: "dump",
delete: "del",
force: "ma",
coffee: "covfefe",
number: "#",
image: "img",
photo: "img",
pic: "img",
picture: "img",
snap: "img",
snapshot: "img",
bye: "exit",
noob: "n00b",
life: "42",
universe: "42",
everything: "42",
lifetime: "runtime",
sleep: "shutdown",
red: "#ff0000",
green: "#00ff00",
blue: "#0000ff",
marry: "merge",
propose: "commit",
notfound: "404!",
link: "url",
send: "push",
alternate: "alt",
alternative: "alt",
inspect: "ctrl+shift+i",
equal: "=",
remove: "rm",
move: "mv",
random: "rand",
mathematics: "math",
love: "<3",
smile: ":)",
sad: ":(",
list: "ls",
ok: "200",
okay: "200",
question: "?",
history: "log",
on: "1",
off: "0",
pixel: "px",
say: "log",
body: "",
head: "",
title: "",
restart: "ctrl+alt+del",
death: "BSOD",
wait: "load",
waiting: "loading",
unauthorized: "401",
nothing: "void",
all: "*",
lineartime: "o(N)",
change: "alt",
pink: "#ffc0cb",
developer: "dev",
switch: "alt+tab",
information: "info",
space: "' '",
full: "overload",
modulo: "%",
mind: "database",
heart: "SMPS",
semicolon: ";",
future: "ctrl+y",
past: "ctrl+z",
missing: "404!",
unavailable: "503!",
overloaded: "502!",
forbidden: "403!",
timeout: "408!",
repository: "repo",
disapperar: "heisenbug",
clueless: "Jimmy",
imaginary: "Unicorny",
catastrophic: "hidenbug",
useless: "reality 101 faliure",
different: "nested",
calling: "recursion",
heartbeat: "ping",
boobs: "80085",
error: "404",
top: "",
"not found": "404",
run: "ctrl+F5",
comment: "//comment",
table: "