├── .do
└── deploy.template.yaml
├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .github
└── workflows
│ ├── ci.yml
│ └── pages.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── assets
├── routes.json
├── transitions.css
└── variables.scss
├── components
├── beautify
│ ├── Angular.vue
│ ├── Css.vue
│ ├── Flow.vue
│ ├── Graphql.vue
│ ├── Html.vue
│ ├── Javascript.vue
│ ├── Json.vue
│ ├── Less.vue
│ ├── Markdown.vue
│ ├── Php.vue
│ ├── Scss.vue
│ ├── Typescript.vue
│ ├── Vue.vue
│ ├── Yaml.vue
│ └── info.json
├── compilers
│ ├── CC.vue
│ ├── CrystalC.vue
│ ├── LessC.vue
│ ├── RubyC.vue
│ ├── SassC.vue
│ └── info.json
├── encryption
│ ├── Aes2text.vue
│ ├── Base642text.vue
│ ├── Md5.vue
│ ├── Rabbit2text.vue
│ ├── Sha1.vue
│ ├── Sha256.vue
│ ├── Text2aes.vue
│ ├── Text2base64.vue
│ ├── Text2rabbit.vue
│ └── info.json
├── gaming
│ ├── Mcskin.vue
│ ├── Mcuuid.vue
│ └── info.json
├── minify
│ ├── CssM.vue
│ ├── JavascriptM.vue
│ └── info.json
├── other
│ ├── Obfuscator.vue
│ ├── Rando.vue
│ └── info.json
├── text
│ ├── Capitalize.vue
│ ├── Clappy.vue
│ ├── CountCharacters.vue
│ ├── CountWords.vue
│ ├── Downcase.vue
│ ├── Mock.vue
│ ├── Reverse.vue
│ ├── Upcase.vue
│ └── info.json
└── time
│ ├── Currentunixms.vue
│ ├── Discordsnowflake.vue
│ └── info.json
├── jsconfig.json
├── layouts
├── default.vue
└── error.vue
├── nuxt.config.js
├── package.json
├── pages
├── beautify.vue
├── compilers.vue
├── encryption.vue
├── gaming.vue
├── index.vue
├── minify.vue
├── other.vue
├── text.vue
└── time.vue
├── renovate.json
├── static
├── argyle-wire.svg
├── argyle.svg
├── favicons
│ ├── android-chrome-192x192.png
│ ├── android-chrome-512x512.png
│ ├── apple-touch-icon.png
│ ├── browserconfig.xml
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon.ico
│ ├── mstile-144x144.png
│ ├── mstile-150x150.png
│ ├── mstile-310x150.png
│ ├── mstile-310x310.png
│ ├── mstile-70x70.png
│ ├── safari-pinned-tab.svg
│ └── site.webmanifest
└── icon.png
└── yarn.lock
/.do/deploy.template.yaml:
--------------------------------------------------------------------------------
1 | spec:
2 | name: argyle
3 | services:
4 | - build_command: yarn generate
5 | environment_slug: node-js
6 | github:
7 | branch: main
8 | repo: GeopJr/argyle
9 | name: argyle
10 | run_command: yarn start
11 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .nuxt
3 | dist
4 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: {
4 | browser: true,
5 | node: true
6 | },
7 | parserOptions: {
8 | parser: 'babel-eslint'
9 | },
10 | extends: [
11 | '@nuxtjs',
12 | 'plugin:nuxt/recommended'
13 | ],
14 | plugins: [
15 | ],
16 | // add your custom rules here
17 | rules: {}
18 | }
19 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: ci
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | - master
8 | pull_request:
9 | branches:
10 | - main
11 | - master
12 |
13 | jobs:
14 | ci:
15 | runs-on: ${{ matrix.os }}
16 |
17 | strategy:
18 | matrix:
19 | os: [ubuntu-latest]
20 | node: [14]
21 |
22 | steps:
23 | - name: Checkout 🛎
24 | uses: actions/checkout@v3.0.2
25 |
26 | - name: Setup node env 🏗
27 | uses: actions/setup-node@v3.1.1
28 | with:
29 | node-version: ${{ matrix.node }}
30 |
31 | - name: Get yarn cache directory path 🛠
32 | id: yarn-cache-dir-path
33 | run: echo "::set-output name=dir::$(yarn cache dir)"
34 |
35 | - name: Cache node_modules 📦
36 | uses: actions/cache@v3.0.2
37 | id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
38 | with:
39 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
40 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
41 | restore-keys: |
42 | ${{ runner.os }}-yarn-
43 |
44 | - name: Install dependencies 👨🏻💻
45 | run: yarn
46 |
47 | - name: Run linter 👀
48 | run: yarn lint
49 |
50 |
--------------------------------------------------------------------------------
/.github/workflows/pages.yml:
--------------------------------------------------------------------------------
1 | name: github pages
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | deploy:
10 | runs-on: ${{ matrix.os }}
11 |
12 | strategy:
13 | matrix:
14 | os: [ubuntu-latest]
15 | node: [14]
16 |
17 | steps:
18 | - uses: actions/checkout@v3.0.2
19 |
20 | - name: Setup Node
21 | uses: actions/setup-node@v3.1.1
22 | with:
23 | node-version: ${{ matrix.node }}
24 |
25 | - name: Prepare yarn
26 | id: yarn-cache-dir-path
27 | run: echo "::set-output name=dir::$(yarn cache dir)"
28 |
29 | - name: Cache dependencies
30 | uses: actions/cache@v3.0.2
31 | id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`)
32 | with:
33 | path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
34 | key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
35 | restore-keys: |
36 | ${{ runner.os }}-yarn-
37 |
38 | - run: yarn
39 | - run: yarn generate
40 |
41 | - name: deploy
42 | uses: peaceiris/actions-gh-pages@v3.8.0
43 | with:
44 | github_token: ${{ secrets.GITHUB_TOKEN }}
45 | publish_dir: ./dist
46 | cname: argyle.geopjr.dev
47 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Node template
3 | # Logs
4 | /logs
5 | *.log
6 | npm-debug.log*
7 | yarn-debug.log*
8 | yarn-error.log*
9 |
10 | # Runtime data
11 | pids
12 | *.pid
13 | *.seed
14 | *.pid.lock
15 |
16 | # Directory for instrumented libs generated by jscoverage/JSCover
17 | lib-cov
18 |
19 | # Coverage directory used by tools like istanbul
20 | coverage
21 |
22 | # nyc test coverage
23 | .nyc_output
24 |
25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
26 | .grunt
27 |
28 | # Bower dependency directory (https://bower.io/)
29 | bower_components
30 |
31 | # node-waf configuration
32 | .lock-wscript
33 |
34 | # Compiled binary addons (https://nodejs.org/api/addons.html)
35 | build/Release
36 |
37 | # Dependency directories
38 | node_modules/
39 | jspm_packages/
40 |
41 | # TypeScript v1 declaration files
42 | typings/
43 |
44 | # Optional npm cache directory
45 | .npm
46 |
47 | # Optional eslint cache
48 | .eslintcache
49 |
50 | # Optional REPL history
51 | .node_repl_history
52 |
53 | # Output of 'npm pack'
54 | *.tgz
55 |
56 | # Yarn Integrity file
57 | .yarn-integrity
58 |
59 | # dotenv environment variables file
60 | .env
61 |
62 | # parcel-bundler cache (https://parceljs.org/)
63 | .cache
64 |
65 | # next.js build output
66 | .next
67 |
68 | # nuxt.js build output
69 | .nuxt
70 |
71 | # Nuxt generate
72 | dist
73 |
74 | # vuepress build output
75 | .vuepress/dist
76 |
77 | # Serverless directories
78 | .serverless
79 |
80 | # IDE / Editor
81 | .idea
82 |
83 | # Service worker
84 | sw.*
85 |
86 | # macOS
87 | .DS_Store
88 |
89 | # Vim swap files
90 | *.swp
91 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | We as members, contributors, and leaders pledge to make participation in our
6 | community a harassment-free experience for everyone, regardless of age, body
7 | size, visible or invisible disability, ethnicity, sex characteristics, gender
8 | identity and expression, level of experience, education, socio-economic status,
9 | nationality, personal appearance, race, religion, or sexual identity
10 | and orientation.
11 |
12 | We pledge to act and interact in ways that contribute to an open, welcoming,
13 | diverse, inclusive, and healthy community.
14 |
15 | ## Our Standards
16 |
17 | Examples of behavior that contributes to a positive environment for our
18 | community include:
19 |
20 | * Demonstrating empathy and kindness toward other people
21 | * Being respectful of differing opinions, viewpoints, and experiences
22 | * Giving and gracefully accepting constructive feedback
23 | * Accepting responsibility and apologizing to those affected by our mistakes,
24 | and learning from the experience
25 | * Focusing on what is best not just for us as individuals, but for the
26 | overall community
27 |
28 | Examples of unacceptable behavior include:
29 |
30 | * The use of sexualized language or imagery, and sexual attention or
31 | advances of any kind
32 | * Trolling, insulting or derogatory comments, and personal or political attacks
33 | * Public or private harassment
34 | * Publishing others' private information, such as a physical or email
35 | address, without their explicit permission
36 | * Other conduct which could reasonably be considered inappropriate in a
37 | professional setting
38 |
39 | ## Enforcement Responsibilities
40 |
41 | Community leaders are responsible for clarifying and enforcing our standards of
42 | acceptable behavior and will take appropriate and fair corrective action in
43 | response to any behavior that they deem inappropriate, threatening, offensive,
44 | or harmful.
45 |
46 | Community leaders have the right and responsibility to remove, edit, or reject
47 | comments, commits, code, wiki edits, issues, and other contributions that are
48 | not aligned to this Code of Conduct, and will communicate reasons for moderation
49 | decisions when appropriate.
50 |
51 | ## Scope
52 |
53 | This Code of Conduct applies within all community spaces, and also applies when
54 | an individual is officially representing the community in public spaces.
55 | Examples of representing our community include using an official e-mail address,
56 | posting via an official social media account, or acting as an appointed
57 | representative at an online or offline event.
58 |
59 | ## Enforcement
60 |
61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
62 | reported to the community leaders responsible for enforcement at
63 | evan@geopjr.dev.
64 |
65 | All complaints will be reviewed and investigated promptly and fairly.
66 |
67 | All community leaders are obligated to respect the privacy and security of the
68 | reporter of any incident.
69 |
70 | ## Enforcement Guidelines
71 |
72 | Community leaders will follow these Community Impact Guidelines in determining
73 | the consequences for any action they deem in violation of this Code of Conduct:
74 |
75 | ### 1. Correction
76 |
77 | **Community Impact**: Use of inappropriate language or other behavior deemed
78 | unprofessional or unwelcome in the community.
79 |
80 | **Consequence**: A private, written warning from community leaders, providing
81 | clarity around the nature of the violation and an explanation of why the
82 | behavior was inappropriate. A public apology may be requested.
83 |
84 | ### 2. Warning
85 |
86 | **Community Impact**: A violation through a single incident or series
87 | of actions.
88 |
89 | **Consequence**: A warning with consequences for continued behavior. No
90 | interaction with the people involved, including unsolicited interaction with
91 | those enforcing the Code of Conduct, for a specified period of time. This
92 | includes avoiding interactions in community spaces as well as external channels
93 | like social media. Violating these terms may lead to a temporary or
94 | permanent ban.
95 |
96 | ### 3. Temporary Ban
97 |
98 | **Community Impact**: A serious violation of community standards, including
99 | sustained inappropriate behavior.
100 |
101 | **Consequence**: A temporary ban from any sort of interaction or public
102 | communication with the community for a specified period of time. No public or
103 | private interaction with the people involved, including unsolicited interaction
104 | with those enforcing the Code of Conduct, is allowed during this period.
105 | Violating these terms may lead to a permanent ban.
106 |
107 | ### 4. Permanent Ban
108 |
109 | **Community Impact**: Demonstrating a pattern of violation of community
110 | standards, including sustained inappropriate behavior, harassment of an
111 | individual, or aggression toward or disparagement of classes of individuals.
112 |
113 | **Consequence**: A permanent ban from any sort of public interaction within
114 | the community.
115 |
116 | ## Attribution
117 |
118 | This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119 | version 2.0, available at
120 | [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
121 |
122 | Community Impact Guidelines were inspired by
123 | [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124 |
125 | For answers to common questions about this code of conduct, see the FAQ at
126 | [https://www.contributor-covenant.org/faq][FAQ]. Translations are available
127 | at [https://www.contributor-covenant.org/translations][translations].
128 |
129 | [homepage]: https://www.contributor-covenant.org
130 | [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
131 | [Mozilla CoC]: https://github.com/mozilla/diversity
132 | [FAQ]: https://www.contributor-covenant.org/faq
133 | [translations]: https://www.contributor-covenant.org/translations
134 |
135 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 GeopJr
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
Argyle
5 |
An offline collection of online tools
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | #
15 |
16 | ## 🐱 What is this???
17 |
18 | Argyle is a collection of tools you might come across online. The difference is that unlike most of them, everything gets executed **client-side**. This way nothing leaves your computer and you get to keep your **privacy**! Oh, this also means that you can use *most* of the tools **offline**! (It also comes with a cool **PWA**).
19 |
20 | #
21 |
22 | ## 😼 How do I build it??
23 |
24 | ```bash
25 | # install dependencies
26 | $ yarn install
27 |
28 | # serve with hot reload at localhost:3000
29 | $ yarn dev
30 |
31 | # build for production and launch server
32 | $ yarn build
33 | $ yarn start
34 |
35 | # generate static project
36 | $ yarn generate
37 | ```
38 | For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
39 |
40 | #
41 |
42 | ## 🙀 Screenshot?!
43 |
44 |
10 | By clicking on the hamburger menu icon
11 | mdi-menu
12 | at the top left, you will be greeted by some tool categories.
13 |
14 |
15 | Each category has many unique tools that might improve your workflow.
16 |
17 |
18 | Privacy is important. Almost every tool gets executed client-side. If a tool has this icon
19 | mdi-signal-variant
20 | next to it, then it relies on external APIs and can't be executed offline.
21 |
22 |
23 | Have ideas for tools? Feel free to open an issue on the GitHub repo!
24 |