Compare commits
45 Commits
feature/re
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
19bface408 | ||
|
|
85d98cb877 | ||
|
|
4410e8db02 | ||
|
|
26289dcd95 | ||
|
|
478274536d | ||
|
|
a3029c3c39 | ||
|
|
59e5f7924d | ||
|
|
afa239eb40 | ||
|
|
43239e9f8c | ||
|
|
0dc9edc1ef | ||
|
|
b490ad0e7a | ||
|
|
01d986d3b8 | ||
|
|
560fc2fe8e | ||
|
|
e17e842032 | ||
|
|
112d3ff0e1 | ||
|
|
d0b35fa7d7 | ||
|
|
1e2d09415d | ||
|
|
3813af3ba6 | ||
|
|
4f3cc37760 | ||
|
|
5b9ea44d2d | ||
|
|
b301a694a4 | ||
|
|
2b792abc2a | ||
|
|
03498686ec | ||
|
|
77cec39c4b | ||
|
|
75c49a0787 | ||
|
|
520e713c37 | ||
|
|
66c491ef0c | ||
|
|
f9f1ae011e | ||
|
|
6e362d106c | ||
|
|
f78140f8d5 | ||
|
|
0ce189170b | ||
|
|
6fb923e8ea | ||
|
|
53c5a7c12f | ||
|
|
a338f7457e | ||
|
|
7f514b525a | ||
|
|
e429e17f65 | ||
|
|
281c68b8d3 | ||
|
|
9dc30dd8f7 | ||
|
|
435aa0622e | ||
|
|
c1fc2d4748 | ||
|
|
18e10b9a9b | ||
|
|
2d10c4eeca | ||
|
|
d3703d709a | ||
|
|
33240796d2 | ||
|
|
a4d761968b |
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [lostdesign]
|
||||
@@ -7,3 +7,4 @@ These are lovely people who have helped this project:
|
||||
- [jacobparis](https://github.com/jacobparis) : Team Devcord
|
||||
* twitter: @jacobmparis
|
||||
- [JonasPardon](https://github.com/JonasPardon)
|
||||
- [AadityaSahay](https://github.com/AadityaSahay) : :crab:
|
||||
|
||||
5
app.html
5
app.html
@@ -2,10 +2,7 @@
|
||||
<html {{ HTML_ATTRS }}>
|
||||
<head {{ HEAD_ATTRS }}>
|
||||
<!-- Fathom - beautiful, simple website analytics -->
|
||||
<script src="https://cdn.usefathom.com/3.js" site="OCSVINVR"></script>
|
||||
<script>
|
||||
window.fathom || document.write('<script src="https://quokka.webgems.io/core.js"><\/script>');
|
||||
</script>
|
||||
<script src="https://cdn.usefathom.com/script.js" data-spa="auto" data-site="XVSLUORL" defer></script>
|
||||
<!-- / Fathom -->
|
||||
|
||||
{{ HEAD }}
|
||||
|
||||
@@ -56,10 +56,13 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
input {
|
||||
font-family: "Poppins";
|
||||
padding: .5rem 1.5rem .5rem 1.5rem;
|
||||
border-radius: .3rem;
|
||||
background: #eee;
|
||||
font-size:12px;
|
||||
border: none;
|
||||
background: #2E2E40;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
|
||||
&:focus {
|
||||
outline:none;
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# MIDDLEWARE
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your application middleware.
|
||||
Middleware let you define custom functions that can be run before rendering either a page or a group of pages.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).
|
||||
@@ -14,7 +14,7 @@ export default {
|
||||
{ charset: 'utf-8' },
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||
{ hid: 'description', name: 'description', content: pkg.description },
|
||||
{ hid: 'keywords', name: 'keywords', content: 'css, html, php, server, resources, design, gems, nuxt, javascript, tutorials, development, software'},
|
||||
{ hid: 'keywords', name: 'keywords', content: 'css, html, php, server, resources, design, gems, nuxt, javascript, tutorials, development, software, js, vue, seo, rust, sql, databases'},
|
||||
|
||||
{ name: 'robots', content: 'index, follow' },
|
||||
{ name: 'distribution', content: 'global'},
|
||||
|
||||
1221
package-lock.json
generated
1221
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
@@ -15,21 +15,21 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"cross-env": "^5.2.0",
|
||||
"nuxt": "^2.4.0",
|
||||
"nuxt": "^2.14.6",
|
||||
"nuxt-clipboard2": "^0.2.1",
|
||||
"vue-i18n": "^8.11.2",
|
||||
"ramda": "^0.26.1"
|
||||
"ramda": "^0.26.1",
|
||||
"vue-i18n": "^8.21.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.6.4",
|
||||
"@babel/preset-env": "^7.6.3",
|
||||
"@vue/test-utils": "^1.0.0-beta.29",
|
||||
"@babel/core": "^7.11.6",
|
||||
"@babel/preset-env": "^7.11.5",
|
||||
"@vue/test-utils": "^1.1.0",
|
||||
"autoprefixer": "^8.6.4",
|
||||
"babel-core": "^7.0.0-bridge.0",
|
||||
"babel-eslint": "^10.0.3",
|
||||
"babel-jest": "^24.9.0",
|
||||
"eslint": "^6.5.1",
|
||||
"eslint-config-prettier": "^6.3.0",
|
||||
"eslint-config-prettier": "^6.12.0",
|
||||
"eslint-loader": "^3.0.2",
|
||||
"eslint-plugin-prettier": "^3.1.1",
|
||||
"eslint-plugin-vue": "^5.2.3",
|
||||
@@ -42,6 +42,6 @@
|
||||
"pug-plain-loader": "^1.0.0",
|
||||
"sass-loader": "^7.1.0",
|
||||
"tailwindcss": "^0.7.0",
|
||||
"vue-jest": "^3.0.5"
|
||||
"vue-jest": "^3.0.7"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
main
|
||||
h1.text-black.font-bold.text-xl.mb-2 What is
|
||||
span 💎 webgems?
|
||||
p Webgems is a goto place for devs and designers to find new resources and more. As a beginner, it's sometimes not easy to find what you need since you don't know where to look for what.
|
||||
p webgems is a goto place for devs and designers to find new resources and more. As a beginner, it's sometimes not easy to find what you need since you don't know where to look for what.
|
||||
p Therefore we created this project to have the most common and best resources for beginners and veterans in one place — kind of like a bookmarks list for devs and designers, containing only the best gems out there.
|
||||
p If you want to add your gem, go ahead and open a pull request on GitHub (click on that octocat at the top right corner).
|
||||
p By the way, this project lives by getting shared; if you find this worthy, please share it with others.
|
||||
@@ -14,7 +14,7 @@
|
||||
span extends
|
||||
a(href="https://github.com/S3B4S") @S3B4S
|
||||
span and
|
||||
a(href="https://devcord.com") Devcord
|
||||
a(href="https://devcord.com") devcord
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
{
|
||||
"title": "The web accessibility basics",
|
||||
"desc": "The absolute web accessibility basics every web developer should know about.",
|
||||
"url": "https://www.marcozehe.de/2015/12/14/the-web-accessibility-basics/",
|
||||
"url": "https://www.marcozehe.de/articles/2015-12-14-the-web-accessibility-basics/",
|
||||
"tags": ["blog", "video", "semantics", "basics"]
|
||||
}
|
||||
]
|
||||
|
||||
113
resources/content-creators.json
Normal file
113
resources/content-creators.json
Normal file
@@ -0,0 +1,113 @@
|
||||
{
|
||||
"title": "Content Creators",
|
||||
"slug": "/content-creators",
|
||||
"resources": [
|
||||
{
|
||||
"title": "Traversy Media",
|
||||
"desc": "Traversy Media is owned by Brad Traversy. The channel has a lot of great tutorials to learn full web development and coding. It features online web development and programming tutorials for the latest web technologies including Node.js, Angular 2, React.js, PHP, Rails, HTML, CSS, and more.",
|
||||
"url": "https://www.youtube.com/user/TechGuyWeb",
|
||||
"tags": [
|
||||
"beginner",
|
||||
"fullstack",
|
||||
"frontend",
|
||||
"javascript",
|
||||
"mongodb",
|
||||
"node",
|
||||
"php",
|
||||
"wordpress",
|
||||
"tutorial",
|
||||
"programming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "The Net Ninja",
|
||||
"desc": "The Net Ninja is a channel to strengthen your web skills. It has many tutorials for designers and developers.",
|
||||
"url": "https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg",
|
||||
"tags": ["javascript", "beginner", "css", "tutorial", "programming"]
|
||||
},
|
||||
{
|
||||
"title": "The Futur",
|
||||
"desc": "The mission of The Futur is to be the future of online education for creative entrepreneurs. It features design content on identity design and branding, user experience, logos and lettering, typography, the business of design, and plenty of case studies.",
|
||||
"url": "https://www.youtube.com/channel/UC-b3c7kxa5vU-bnmaROgvog",
|
||||
"tags": [
|
||||
"marketing",
|
||||
"design",
|
||||
"logo",
|
||||
"tutorial",
|
||||
"business",
|
||||
"ui",
|
||||
"ux",
|
||||
"webdesign"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Tutvid",
|
||||
"desc": "Nathaniel Dodson’s Tutvid is a site to learn advanced graphic design skills, with tutorials in Adobe Photoshop and Adobe Illustrator. Tutvid also includes tutorials to master animation and video with Adobe Premiere Pro, Adobe After Effects, and Adobe Lightroom. Tutvid’s “Daily Photoshop Tutorials” playlist covers tools, features, and tricks.",
|
||||
"url": "https://www.youtube.com/user/tutvid",
|
||||
"tags": [
|
||||
"photoshop",
|
||||
"tutorial",
|
||||
"videoediting",
|
||||
"webdesign",
|
||||
"programming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "CharliMarieTV",
|
||||
"desc": "Charli Marie TV is a channel from Charli Marie, a web and graphic designer in London. Videos are posted weekly about tools, projects, and concepts. There are also weekly videos about her life as a designer.",
|
||||
"url": "https://www.youtube.com/user/charlimarieTV",
|
||||
"tags": ["design", "webdesign", "tutorial"]
|
||||
},
|
||||
{
|
||||
"title": "Funfunfunction",
|
||||
"desc": "Fun Fun Function is like a show about programming. Not a database of tutorials and courses, a show. A regular show with an different topic every week, with an entertaining host that explains things well, with the purpose of keeping you curious and excited about the programming craft. Basically, the purpose of Fun Fun Function is to keep programming fun.",
|
||||
"url": "https://www.youtube.com/channel/UCO1cgjhGzsSYb1rsB4bFe4Q",
|
||||
"tags": ["machinelearning", "testing", "live"]
|
||||
},
|
||||
{
|
||||
"title": "Getify",
|
||||
"desc": "Getify writes about JavaScript, finding new and useful ways to teach it to more learners, and exploring and researching JavaScript through OSS coding.",
|
||||
"url": "https://twitter.com/getify",
|
||||
"tags": ["tips", "programming", "javascript"]
|
||||
},
|
||||
{
|
||||
"title": "Steve Schoger",
|
||||
"desc": "Steve Schoger is a visual designer from Canada. Many people know him as the guy who shares design tips on Twitter or refactors UI’s on YouTube.",
|
||||
"url": "https://www.youtube.com/channel/UCxqiDtkXtOCNJdckODHk9YA",
|
||||
"tags": ["tips", "webdesign", "ui"]
|
||||
},
|
||||
{
|
||||
"title": "DevTips",
|
||||
"desc": "DevTips is a weekly show for YOU who want to be inspired 👍 and learn 🖖 about programming. Hosted by David and MPJ - two notorious bug generators 💖 and teachers 🤗. Exploring code together and learning programming along the way - yay!",
|
||||
"url": "https://www.youtube.com/user/DevTipsForDesigners",
|
||||
"tags": ["tips", "webdesign", "ui", "tutorial", "programming"]
|
||||
},
|
||||
{
|
||||
"title": "LevelUpTuts",
|
||||
"desc": "840+ free video tutorials created, recorded, edited, published and maintained by Scott Tolinski.",
|
||||
"url": "https://www.youtube.com/user/LevelUpTuts",
|
||||
"tags": ["tips", "webdesign", "ui", "tutorial", "programming"]
|
||||
},
|
||||
{
|
||||
"title": "Wes Bos",
|
||||
"desc": "HTML, CSS, JavaScript and WordPress web development tutorials!",
|
||||
"url": "https://www.youtube.com/user/wesbos",
|
||||
"tags": [
|
||||
"tips",
|
||||
"webdesign",
|
||||
"ui",
|
||||
"tutorial",
|
||||
"programming",
|
||||
"javascript",
|
||||
"wordpress"
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Mayuko",
|
||||
"desc": "Mayuko is a Senior iOS Software Engineer from San Diego. She makes Youtube videos about what life is like as a Software Engineer living and working in Silicon Valley. She aims to make the tech industry feel more accessible to those entering the industry.",
|
||||
"url": "https://www.youtube.com/user/hellomayuko",
|
||||
"categories": "Life experiences sharing",
|
||||
"tags": ["vlog", "techadvice", "programming"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -139,6 +139,12 @@
|
||||
"desc": "This CSS clip-path maker helps you understand the clip-path property and all the cool things you can do with it.",
|
||||
"url": "https://bennettfeely.com/clippy/",
|
||||
"tags": ["interactive", "visual", "shapes"]
|
||||
},
|
||||
{
|
||||
"title": "SVG to CSS Base64 background-image",
|
||||
"desc": "This tool will convert your SVG code to CSS background-image compatible Base64 image.",
|
||||
"url": "https://yoksel.github.io/url-encoder/",
|
||||
"tags": ["convert", "generator", "icons"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -14,6 +14,12 @@
|
||||
"url": "https://undraw.co",
|
||||
"tags": ["illustration", "svg", "ui"]
|
||||
},
|
||||
{
|
||||
"title": "Dribbble",
|
||||
"desc": "Gain inspiration and feedback. Basically social media for designers",
|
||||
"url": "https://dribbble.com/",
|
||||
"tags": ["career", "ux", "ui"]
|
||||
},
|
||||
{
|
||||
"title": "Practical UI tips",
|
||||
"desc": "7 Tips to boost your UI design.",
|
||||
|
||||
@@ -61,6 +61,33 @@
|
||||
"desc": "Friendly web development tutorials for complete beginners in HTML and CSS",
|
||||
"url": "https://www.internetingishard.com/",
|
||||
"tags": ["html", "semantic", "css", "typography"]
|
||||
},
|
||||
{
|
||||
"title": "Periodic Table of Web APIs",
|
||||
"desc": "A visual map of almost all browser APIs with links to tutorials and documentation, color-coded by browser support",
|
||||
"url": "https://wwwperiodictable.surge.sh/",
|
||||
"tags": [
|
||||
"resources",
|
||||
"aggregator",
|
||||
"fundamentals",
|
||||
"web",
|
||||
"visual",
|
||||
"browser",
|
||||
"frontend",
|
||||
"overview",
|
||||
"guides",
|
||||
"tutorial",
|
||||
"compatibility",
|
||||
"lists",
|
||||
"obselete",
|
||||
"reference",
|
||||
"specification",
|
||||
"standards",
|
||||
"comprehensive",
|
||||
"advanced",
|
||||
"guides",
|
||||
"links"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
{
|
||||
"title": "freeCodeCamp curriculum",
|
||||
"desc": "We have thousands of coding lessons to help you improve your skills. You can earn each certification by completing its 5 final projects. And yes - all of this is 100% free, thanks to the thousands of campers who donate to our nonprofit. If you are new to coding, we recommend you start at the beginning.",
|
||||
"url": "https://learn.freecodecamp.org",
|
||||
"url": "https://www.freecodecamp.org/learn/",
|
||||
"tags": ["design", "javascript", "courses", "security", "interview"]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -73,6 +73,12 @@
|
||||
"desc": "It's a great collection for learning materials for all sorts of programming topics.",
|
||||
"url": "https://webgems.io",
|
||||
"tags": ["quick", "resources", "basics", "search", "aggregator"]
|
||||
},
|
||||
{
|
||||
"title": "Codesignal",
|
||||
"desc": "Online programming tournaments to practice your skills. Play with random people, your friends, or in the singleplayer arcade mode.",
|
||||
"url": "https://codesignal.com/developers/",
|
||||
"tags": ["game", "practice", "multiplayer"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@ import server from './server'
|
||||
import utility from './utility'
|
||||
import icons from './icons'
|
||||
import accessibility from './accessibility'
|
||||
import rust from './rust'
|
||||
import contentCreators from './content-creators'
|
||||
|
||||
const sortByTitle = ({ title: titleA }, { title: titleB }) => {
|
||||
if(titleA < titleB) return -1
|
||||
@@ -38,4 +40,6 @@ export default [
|
||||
utility,
|
||||
icons,
|
||||
accessibility,
|
||||
rust,
|
||||
contentCreators,
|
||||
].sort(sortByTitle)
|
||||
|
||||
@@ -67,6 +67,12 @@
|
||||
"desc": "134 Slides to help fix your code. Performance and testing are just one aspect of code, to really be successful your code needs to be readable, maintainable and generally easier to comprehend and work with.",
|
||||
"url": "https://www.slideshare.net/rdohms/your-code-sucks-lets-fix-it-15471808",
|
||||
"tags": ["slides", "readability", "rules"]
|
||||
},
|
||||
{
|
||||
"title": "Clean Code PHP",
|
||||
"desc": "Software engineering principles, from Robert C. Martin's book Clean Code, adapted for PHP.",
|
||||
"url": "https://github.com/jupeter/clean-code-php",
|
||||
"tags": ["book", "guide", "rules", "standards"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
114
resources/rust.json
Normal file
114
resources/rust.json
Normal file
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"title": "Rust",
|
||||
"slug": "/rust",
|
||||
"resources": [
|
||||
{
|
||||
"title": "The Rust Book",
|
||||
"desc": "The Rust Programming Language book will give you an overview of the language from first principles.",
|
||||
"url": "https://doc.rust-lang.org/book/",
|
||||
"tags": ["official", "reference", "guide"]
|
||||
},
|
||||
{
|
||||
"title": "Rustlings",
|
||||
"desc": "Small exercises to get you used to reading and writing Rust code.",
|
||||
"url": "https://github.com/rust-lang/rustlings/",
|
||||
"tags": ["official", "excercises", "guide"]
|
||||
},
|
||||
{
|
||||
"title": "Rust Playground",
|
||||
"desc": "An online playground to try out rust.",
|
||||
"url": "https://play.rust-lang.org/",
|
||||
"tags": ["official", "playground"]
|
||||
},
|
||||
{
|
||||
"title": "Are we web yet?",
|
||||
"desc": "List of resources for web development in Rust",
|
||||
"url": "https://www.arewewebyet.org/",
|
||||
"tags": ["official", "web"]
|
||||
},
|
||||
{
|
||||
"title": "Rust and WebAssembly",
|
||||
"desc": "A small book that describes how to use Rust and WebAssembly together.",
|
||||
"url": "https://rustwasm.github.io/docs/book/",
|
||||
"tags": ["official", "web", "webassembly"]
|
||||
},
|
||||
{
|
||||
"title": "Rocket",
|
||||
"desc": "Rocket is a web framework for Rust that makes it simple to write fast, secure web applications without sacrificing flexibility, usability, or type safety.",
|
||||
"url": "https://rocket.rs/v0.4/guide/",
|
||||
"tags": ["framework", "web", "application"]
|
||||
},
|
||||
{
|
||||
"title": "Actix",
|
||||
"desc": "Rust's powerful actor system and most fun web framework",
|
||||
"url": "https://actix.rs/",
|
||||
"tags": ["framework", "web", "application"]
|
||||
},
|
||||
{
|
||||
"title": "Rust 101",
|
||||
"desc": "A small, interactive and hands-on tutorial into the rust language.",
|
||||
"url": "https://www.ralfj.de/projects/rust-101/main.html",
|
||||
"tags": ["guide", "tutorial", "basics"]
|
||||
},
|
||||
{
|
||||
"title": "Warp",
|
||||
"desc": "A super-easy, composable, web server framework for warp speeds.",
|
||||
"url": "https://github.com/seanmonstar/warp",
|
||||
"tags": ["web", "framework", "application"]
|
||||
},
|
||||
{
|
||||
"title": "Rust by Example",
|
||||
"desc": "Rust by Example (RBE) is a collection of runnable examples that illustrate various Rust concepts and standard libraries.",
|
||||
"url": "https://doc.rust-lang.org/stable/rust-by-example/index.html",
|
||||
"tags": ["official", "guide", "tutorial"]
|
||||
},
|
||||
{
|
||||
"title": "Yew",
|
||||
"desc": "A modern Rust framework for creating multi-threaded front-end web apps with WebAssembly.",
|
||||
"url": "https://yew.rs/docs/en/intro/",
|
||||
"tags": ["web", "webassembly", "frontend"]
|
||||
},
|
||||
{
|
||||
"title": "Seed",
|
||||
"desc": "Rust framework for creating fast and reliable web apps",
|
||||
"url": "https://seed-rs.org/",
|
||||
"tags": ["web", "webassembly", "frontend"]
|
||||
},
|
||||
{
|
||||
"title": "Rust blog",
|
||||
"desc": "This is the main Rust blog. The core team uses this blog to announce big developments in the world of Rust.",
|
||||
"url": "https://blog.rust-lang.org/",
|
||||
"tags": ["blog", "official", "history", "features"]
|
||||
},
|
||||
{
|
||||
"title": "The Embedded Rust Book",
|
||||
"desc": "An introductory book about using the Rust Programming Language on \"Bare Metal\" embedded systems, such as Microcontrollers.",
|
||||
"url": "https://rust-embedded.github.io/book/",
|
||||
"tags": ["microcontrollers", "embedded", "guide"]
|
||||
},
|
||||
{
|
||||
"title": "Rusoto",
|
||||
"desc": "An AWS SDK for rust.",
|
||||
"url": "https://www.rusoto.org/",
|
||||
"tags": ["aws", "servers", "infrastructure"]
|
||||
},
|
||||
{
|
||||
"title": "Tokio",
|
||||
"desc": "An asynchronous runtime for the Rust programming language. It provides the building blocks needed for writing network applications.",
|
||||
"url": "https://tokio.rs/",
|
||||
"tags": ["networking", "async", "server"]
|
||||
},
|
||||
{
|
||||
"title": "Juniper",
|
||||
"desc": "Juniper is a GraphQL server library for Rust. Build type-safe and fast API servers with minimal boilerplate and configuration.",
|
||||
"url": "https://graphql-rust.github.io/juniper/current/",
|
||||
"tags": ["web", "application", "graphql", "api"]
|
||||
},
|
||||
{
|
||||
"title": "Diesel",
|
||||
"desc": "Diesel is a Safe, Extensible ORM and Query Builder for Rust",
|
||||
"url": "https://diesel.rs/",
|
||||
"tags": ["web", "database", "orm"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -183,10 +183,16 @@
|
||||
"tags": ["development", "ide","editor", "share", "testing"]
|
||||
},
|
||||
{
|
||||
"title": "Postwoman.io",
|
||||
"desc": "The Postwoman API request builder helps you create your requests faster, saving you precious time on your development.",
|
||||
"url": "https://Postwoman.io/",
|
||||
"title": "Hoppscotch",
|
||||
"desc": "The Hoppscotch API request builder helps you create your requests faster, saving you precious time on your development.",
|
||||
"url": "https://hoppscotch.io/",
|
||||
"tags": ["testing","api"]
|
||||
},
|
||||
{
|
||||
"title": "NoPaste",
|
||||
"desc": "A privacy-focused service where you can paste and share any piece of code. Similar to Pastebin, except the service stores nothing",
|
||||
"url": "https://nopaste.ml/",
|
||||
"tags": ["paste", "url", "interactive", "share", "privacy"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ export const getters = {
|
||||
findCategory: state => categoryTitle => {
|
||||
// equalsCategoryTitle :: Category -> Bool
|
||||
const equalsCategoryTitle = R.compose(
|
||||
R.equals(cleanString(categoryTitle)), cleanString, R.prop('title'),
|
||||
R.equals(cleanString(categoryTitle)), R.replace(/ /g, '-') ,cleanString, R.prop('title'),
|
||||
)
|
||||
// findCategory :: [Category] -> Category
|
||||
const findCategory = R.find(equalsCategoryTitle)
|
||||
|
||||
125
yarn.lock
125
yarn.lock
@@ -2196,9 +2196,9 @@ bluebird@^3.1.1, bluebird@^3.5.5:
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
|
||||
version "4.11.8"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
|
||||
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
|
||||
version "4.11.9"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
|
||||
integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
|
||||
|
||||
body-parser@1.19.0:
|
||||
version "1.19.0"
|
||||
@@ -3585,11 +3585,6 @@ detect-indent@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d"
|
||||
integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50=
|
||||
|
||||
detect-libc@^1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
||||
detect-newline@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
|
||||
@@ -3761,9 +3756,9 @@ electron-to-chromium@^1.3.413, electron-to-chromium@^1.3.47:
|
||||
integrity sha512-ogxgmvHGfDuLA+GtgfK0jkFWlBb4MCZK2U1MM+l98sf4U3Ixtrfw1iC9w4mQqNvo+lHgM4pR62TqoT4QrvKJCw==
|
||||
|
||||
elliptic@^6.0.0:
|
||||
version "6.5.2"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
|
||||
integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
|
||||
version "6.5.3"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
|
||||
integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
|
||||
dependencies:
|
||||
bn.js "^4.4.0"
|
||||
brorand "^1.0.1"
|
||||
@@ -4513,13 +4508,6 @@ fs-extra@^8.1.0:
|
||||
jsonfile "^4.0.0"
|
||||
universalify "^0.1.0"
|
||||
|
||||
fs-minipass@^1.2.5:
|
||||
version "1.2.7"
|
||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
|
||||
integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
|
||||
dependencies:
|
||||
minipass "^2.6.0"
|
||||
|
||||
fs-minipass@^2.0.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
|
||||
@@ -5050,7 +5038,7 @@ human-signals@^1.1.1:
|
||||
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
|
||||
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
|
||||
|
||||
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
|
||||
iconv-lite@0.4.24, iconv-lite@^0.4.24:
|
||||
version "0.4.24"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
||||
@@ -5079,13 +5067,6 @@ ignore-by-default@^1.0.1:
|
||||
resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
|
||||
integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk=
|
||||
|
||||
ignore-walk@^3.0.1:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
|
||||
integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
|
||||
dependencies:
|
||||
minimatch "^3.0.4"
|
||||
|
||||
ignore@^4.0.6:
|
||||
version "4.0.6"
|
||||
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
|
||||
@@ -6393,9 +6374,9 @@ lodash.uniq@^4.5.0:
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.12:
|
||||
version "4.17.15"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
|
||||
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
|
||||
version "4.17.19"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
|
||||
integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
|
||||
|
||||
longest@^1.0.1:
|
||||
version "1.0.1"
|
||||
@@ -6663,14 +6644,6 @@ minipass-pipeline@^1.2.2:
|
||||
dependencies:
|
||||
minipass "^3.0.0"
|
||||
|
||||
minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
|
||||
integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
|
||||
dependencies:
|
||||
safe-buffer "^5.1.2"
|
||||
yallist "^3.0.0"
|
||||
|
||||
minipass@^3.0.0, minipass@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
|
||||
@@ -6678,13 +6651,6 @@ minipass@^3.0.0, minipass@^3.1.1:
|
||||
dependencies:
|
||||
yallist "^4.0.0"
|
||||
|
||||
minizlib@^1.2.1:
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
|
||||
integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
|
||||
dependencies:
|
||||
minipass "^2.9.0"
|
||||
|
||||
mississippi@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
|
||||
@@ -6785,15 +6751,6 @@ natural-compare@^1.4.0:
|
||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
||||
|
||||
needle@^2.2.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.1.tgz#14af48732463d7475696f937626b1b993247a56a"
|
||||
integrity sha512-x/gi6ijr4B7fwl6WYL9FwlCvRQKGlUNvnceho8wxkwXqN8jvVmmmATTmZPRRG7b/yC1eode26C2HO9jl78Du9g==
|
||||
dependencies:
|
||||
debug "^3.2.6"
|
||||
iconv-lite "^0.4.4"
|
||||
sax "^1.2.4"
|
||||
|
||||
negotiator@0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||
@@ -6909,22 +6866,6 @@ node-object-hash@^1.2.0:
|
||||
resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-1.4.2.tgz#385833d85b229902b75826224f6077be969a9e94"
|
||||
integrity sha512-UdS4swXs85fCGWWf6t6DMGgpN/vnlKeSGEQ7hJcrs7PBFoxoKLmibc3QRb7fwiYsjdL7PX8iI/TMSlZ90dgHhQ==
|
||||
|
||||
node-pre-gyp@*:
|
||||
version "0.14.0"
|
||||
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
|
||||
integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
|
||||
dependencies:
|
||||
detect-libc "^1.0.2"
|
||||
mkdirp "^0.5.1"
|
||||
needle "^2.2.1"
|
||||
nopt "^4.0.1"
|
||||
npm-packlist "^1.1.6"
|
||||
npmlog "^4.0.2"
|
||||
rc "^1.2.7"
|
||||
rimraf "^2.6.1"
|
||||
semver "^5.3.0"
|
||||
tar "^4.4.2"
|
||||
|
||||
node-releases@^1.1.53:
|
||||
version "1.1.53"
|
||||
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4"
|
||||
@@ -6987,7 +6928,7 @@ nodemon@^1.18.9:
|
||||
dependencies:
|
||||
abbrev "1"
|
||||
|
||||
nopt@^4.0.1, nopt@^4.0.3:
|
||||
nopt@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48"
|
||||
integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==
|
||||
@@ -7044,27 +6985,6 @@ normalize-url@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
|
||||
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
|
||||
|
||||
npm-bundled@^1.0.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
|
||||
integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
|
||||
dependencies:
|
||||
npm-normalize-package-bin "^1.0.1"
|
||||
|
||||
npm-normalize-package-bin@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
|
||||
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
|
||||
|
||||
npm-packlist@^1.1.6:
|
||||
version "1.4.8"
|
||||
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
|
||||
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
|
||||
dependencies:
|
||||
ignore-walk "^3.0.1"
|
||||
npm-bundled "^1.0.1"
|
||||
npm-normalize-package-bin "^1.0.1"
|
||||
|
||||
npm-run-path@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
|
||||
@@ -7079,7 +6999,7 @@ npm-run-path@^4.0.0:
|
||||
dependencies:
|
||||
path-key "^3.0.0"
|
||||
|
||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
|
||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||
@@ -8717,7 +8637,7 @@ raw-body@2.4.0:
|
||||
iconv-lite "0.4.24"
|
||||
unpipe "1.0.0"
|
||||
|
||||
rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
|
||||
rc@^1.0.1, rc@^1.1.6:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
|
||||
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
|
||||
@@ -9084,7 +9004,7 @@ right-align@^0.1.1:
|
||||
dependencies:
|
||||
align-text "^0.1.1"
|
||||
|
||||
rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
|
||||
rimraf@2, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||
@@ -9230,7 +9150,7 @@ semver-diff@^2.0.0:
|
||||
dependencies:
|
||||
semver "^5.0.3"
|
||||
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.1:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||
@@ -9965,19 +9885,6 @@ tar@^2.0.0:
|
||||
fstream "^1.0.12"
|
||||
inherits "2"
|
||||
|
||||
tar@^4.4.2:
|
||||
version "4.4.13"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
|
||||
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
|
||||
dependencies:
|
||||
chownr "^1.1.1"
|
||||
fs-minipass "^1.2.5"
|
||||
minipass "^2.8.6"
|
||||
minizlib "^1.2.1"
|
||||
mkdirp "^0.5.0"
|
||||
safe-buffer "^5.1.2"
|
||||
yallist "^3.0.3"
|
||||
|
||||
term-size@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69"
|
||||
@@ -11078,7 +10985,7 @@ yallist@^2.1.2:
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
|
||||
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
|
||||
|
||||
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
|
||||
yallist@^3.0.2:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
|
||||
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
|
||||
|
||||
Reference in New Issue
Block a user