├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ ├── config.yml │ └── feature_request.yml ├── PULL_REQUEST_TEMPLATE.md ├── auto_assign.yml └── workflows │ ├── assign_pr.yml │ ├── greetings.yml │ └── issues.yml ├── .gitignore ├── LICENSE ├── README.md ├── gridsome.config.js ├── gridsome.server.js ├── package-lock.json ├── package.json ├── postcss.config.cjs ├── src ├── assets │ ├── base.css │ ├── cat.svg │ ├── github.svg │ ├── githubsvg.svg │ ├── logo.png │ ├── main.css │ ├── style.css │ ├── tailwind.css │ └── twitter.svg ├── components │ ├── Contributors.vue │ ├── Footer.vue │ ├── Header.vue │ ├── NewSourceForm.vue │ ├── NoResultsFound.vue │ ├── Opportunity.vue │ ├── Pagination.vue │ ├── README.md │ └── ScrollToTop.vue ├── data │ ├── opportunities.json │ └── outdated.json ├── favicon.png ├── layouts │ ├── Default.vue │ └── README.md ├── main.js ├── pages │ ├── About.vue │ ├── Contributors.vue │ ├── Index.vue │ ├── NewSource.vue │ └── README.md └── templates │ └── README.md ├── static └── README.md ├── tailwind.config.cjs └── yarn.lock /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Default owners for repo 2 | * @ashutoshkrris -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: 🐞 Bug Report 2 | description: File a bug report 3 | title: '[Bug]: ' 4 | labels: '[bug, triage]' 5 | assignees: 'self assign by using `/assign` if you want to work on this issue else leave blank' 6 | body: 7 | - type: markdown 8 | attributes: 9 | value: Thanks for taking the time to fill out this bug report! 10 | - type: checkboxes 11 | attributes: 12 | label: Is there an existing issue for this? 13 | description: Please search to see if an issue already exists for the bug you encountered. 14 | options: 15 | - label: I have searched the existing issues. 16 | required: true 17 | - type: textarea 18 | attributes: 19 | label: Current Behavior 20 | description: A concise description of what you are experiencing. 21 | validations: 22 | required: true 23 | - type: textarea 24 | attributes: 25 | label: Expected Behavior 26 | description: A concise description of the expected behavior. 27 | validations: 28 | required: true 29 | - type: textarea 30 | attributes: 31 | label: To Reproduce 32 | description: Steps to reproduce the behavior, please provide a clear code snippets that always reproduces the issue or a GitHub repository. Screenshots can be provided in the issue body below. 33 | validations: 34 | required: true 35 | - type: textarea 36 | attributes: 37 | label: Anything else? 38 | description: Anything other than the above mentioned to support your bug report. 39 | Links? References? Screenshots? Anything that will give us more context about the issue you are encountering! 40 | - type: checkboxes 41 | id: event 42 | attributes: 43 | label: Hacktoberfest 44 | description: Is this issue a part of Hacktoberfest? 45 | options: 46 | - label: Yeah 47 | - type: checkboxes 48 | id: terms 49 | attributes: 50 | label: Code of Conduct 51 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ashutoshkrris/TechyWrite/blob/main/CODE_OF_CONDUCT.md) 52 | options: 53 | - label: I agree to follow this project's Code of Conduct 54 | required: true -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Want to discuss something? 4 | url: https://github.com/ashutoshkrris/TechyWrite/discussions 5 | about: For any Discussion, Query. 6 | - name: Guidelines 7 | url: https://github.com/ashutoshkrris/TechyWrite/blob/main/CONTRIBUTING.md 8 | about: Our contribution guidelines (Please go through them). -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: 🚀 Feature request 2 | description: Suggest an idea for this project 3 | title: '[feature request]:' 4 | labels: '[feature]' 5 | assignees: 'self assign using `/assign` if you want to work on this issue.' 6 | body: 7 | - type: markdown 8 | attributes: 9 | value: | 10 | Thanks for taking the time to fill out this feature request report! 11 | - type: checkboxes 12 | attributes: 13 | label: Is there an existing issue for this? 14 | description: Please search to see if an issue already exists for the feature you want to propose 15 | options: 16 | - label: I have searched the existing issues. 17 | required: true 18 | - type: textarea 19 | attributes: 20 | label: Describe the feature. 21 | description: A clear and concise description of what the feature is. 22 | validations: 23 | required: true 24 | - type: textarea 25 | attributes: 26 | label: Problem/Motivation. 27 | description: Please provide an outline of the motivation for your suggested feature. 28 | validations: 29 | required: true 30 | - type: textarea 31 | attributes: 32 | label: Possible Solution/Pitch. 33 | description: Please provide a proposal to support why this feature is important and how is it useful? 34 | validations: 35 | required: true 36 | - type: textarea 37 | attributes: 38 | label: Anything else? 39 | description: Anything other than the above mentioned to support your feature request report. 40 | Links? References? Screenshots? Anything that will give us more context about the feature you want to propose! 41 | - type: checkboxes 42 | id: event 43 | attributes: 44 | label: Hacktoberfest 45 | description: Is this issue a part of Hacktoberfest? 46 | options: 47 | - label: Yeah 48 | - type: checkboxes 49 | id: terms 50 | attributes: 51 | label: Code of Conduct 52 | description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/ashutoshkrris/TechyWrite/blob/main/CODE_OF_CONDUCT.md) 53 | options: 54 | - label: I agree to follow this project's Code of Conduct 55 | required: true -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # Description 2 | 3 | Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change. 4 | 5 | Fixes #issue_no 6 | 7 | Replace `issue_no` with the issue number which is fixed in this PR 8 | 9 | ## Type of change 10 | 11 | _Please delete options that are not relevant._ 12 | 13 | - [ ] Bug fix (non-breaking change which fixes an issue) 14 | - [ ] New feature (non-breaking change which adds functionality) 15 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) 16 | - [ ] This change requires a documentation update 17 | - [ ] Documentation Update 18 | 19 | # Checklist: 20 | 21 | - [ ] I have performed a self-review of my own code 22 | - [ ] I have commented my code, particularly in hard-to-understand areas 23 | - [ ] I have made corresponding changes to the documentation (if any) 24 | - [ ] My changes generate no new warnings 25 | - [ ] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works 26 | 27 | # Event 28 | 29 | - [ ] Hacktoberfest 2022 30 | -------------------------------------------------------------------------------- /.github/auto_assign.yml: -------------------------------------------------------------------------------- 1 | addReviewers: true 2 | 3 | addAssignees: false 4 | 5 | # A list of reviewers to be added to pull requests (GitHub user name) 6 | reviewers: 7 | - ashutoshkrris 8 | 9 | skipKeywords: 10 | - wip 11 | - draft -------------------------------------------------------------------------------- /.github/workflows/assign_pr.yml: -------------------------------------------------------------------------------- 1 | name: 'Auto Assign PR' 2 | 3 | on: 4 | pull_request: 5 | types: [opened, ready_for_review] 6 | 7 | 8 | jobs: 9 | add-reviews: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: kentaro-m/auto-assign-action@v1.2.3 13 | with: 14 | repo-token: ${{ github.token }} -------------------------------------------------------------------------------- /.github/workflows/greetings.yml: -------------------------------------------------------------------------------- 1 | name: Greetings 2 | 3 | on: 4 | issues: 5 | types: [opened] 6 | pull_request_target: 7 | types: [closed] 8 | pull_request: 9 | types: [opened] 10 | 11 | jobs: 12 | greeting: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Greet New Contributors for Creating New PR/Issues. 16 | uses: actions/first-interaction@v1 17 | if: github.event.action =='opened' && (github.event_name == 'pull_request' || github.event_name == 'issues') 18 | with: 19 | repo-token: ${{ secrets.GITHUB_TOKEN }} 20 | issue-message: "@${{ github.actor }} Welcome to TechyWrite🥳 Thanks for opening this Issue 🙌, This Will definitely Improve our Project💖.While we are having a look at this. If you want to work on this then,feel free to self-assign and start working on it.📄 **Use `/assign` to self-assign this issue**." 21 | pr-message: "@${{ github.actor }} Thank you for Opening pull request🥳. We will get back to you as soon as possible. Your patience is greatly appreciated! Thanks! 🥳. PS: Please double check that you linked the corresponding issue." 22 | 23 | - name: Congratulate on every PR merge 24 | if: github.event_name == 'pull_request_target' && github.event.action == 'closed' && github.event.pull_request.merged == true 25 | uses: peter-evans/create-or-update-comment@v2 26 | with: 27 | issue-number: ${{tojson(github.event.number)}} 28 | body: | 29 | @${{ github.event.pull_request.user.login }} Hurray, your PR got merged 🥳. Thanks a bunch. Feel free to take another Issue.💖 If you loved the project, make sure to 🌟 the repository. -------------------------------------------------------------------------------- /.github/workflows/issues.yml: -------------------------------------------------------------------------------- 1 | name: Labeling Issues 2 | on: 3 | issues: 4 | types: ['opened','edited'] 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: Renato66/auto-label@v2 10 | with: 11 | # Change this to "repo-token: ${{ secrets.GITHUB_USER_TOKEN }}" if you want message to say that User Assigned issue rather than bot 12 | # Generate a Secret GITHUB_USER_TOKEN beforehand 13 | repo-token: ${{ secrets.GITHUB_TOKEN }} 14 | # The keywords in comments are ignored 15 | ignore-comments: true 16 | # Keywords - [In JSON Format] 17 | # Syntax - "Label":["Synonym_1","Synonym_2"] 18 | # Mind the spaces in Syntax 19 | labels-synonyms: '{"bug":["error","need fix","not working","bug","Bug","BUG"],"enhancement":["upgrade","feature","enhancement"],"question":["help"],"BASH":["Bash","bash","BASH"],"JavaScript":["JavaScript","JAVASCRIPT","Javascript","javascript","JS","js"],"Python":["Python","PYTHON","python"],"Urgent":["urgent","URGENT","Urgent"],"Golang":["Golang","GOLANG"],"documentation":["documentation","Documentation"],"No-Code":["No Code"],"SLoP":["SLoP"],"hacktoberfest":["hacktoberfest","Hacktoberfest","Hacktoberfest2022"],"good first issue":["beginner","beginner-friendly","good first issue"]}' 20 | # Labels that cant be declared by this function 21 | labels-not-allowed: '["invalid","Urgent","Priority","Announcement","High Priority","Not Needed","plagiarism","spam","Assigned","Easy","Hard","Medium"]' 22 | # Default label, Dont change without opening an issue 23 | default-labels: '["Up-For-Grab"]' -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .cache 3 | .DS_Store 4 | src/.temp 5 | node_modules 6 | dist 7 | .env 8 | .env.* 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Ashutosh Krishna 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. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | ![Logo](https://user-images.githubusercontent.com/101503258/196723802-179cfe0a-36e8-4c16-aa91-877f413e5c02.png) 4 | 5 |

6 | 7 | [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 8 | 9 | Welcome to our website, where you will find a curated collection of active publishers, publications, and agencies that pay fair rates for high-quality technical content. You might have heard the quote by The Joker - Heath Ledger: If you're good at something, never do it for free. 10 | 11 | As a technical writer, I understand the value and hard work that goes into creating exceptional technical content. That's why I've created this website to help fellow technical writers find paid opportunities in the market. 12 | 13 | My goal is to make it easy for writers to find publishers, publications, and agencies that recognize the value of their work and are willing to pay fair rates for it. I've done the research and compiled a comprehensive list of reputable companies that are actively looking for technical writers. 14 | 15 | I hope that this website helps you find the perfect gig or connect with awesome writers. 16 | 17 | ## 👨‍💻 Tech Stack 18 | 19 | ![Vue JS](https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge&logo=vue.js&logoColor=4FC08D) 20 | ![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?style=for-the-badge&logo=tailwind-css&logoColor=white) 21 | ![Gridsome](https://img.shields.io/badge/Gridsome-00A672?style=for-the-badge&logo=gridsome&logoColor=white) 22 | 23 | ## 🛠️ Installation Steps 24 | 25 | Star and Fork the Repo 🌟 and this will keep us motivated. 26 | 27 | Install Gridsome CLI tool 28 | 29 | ```bash 30 | npm install --global @gridsome/cli 31 | ``` 32 | 33 | Clone the repository 34 | 35 | ```bash 36 | git clone https://github.com/ashutoshkrris/TechyWrite.git 37 | ``` 38 | 39 | Change the working directory 40 | 41 | ```bash 42 | cd TechyWrite 43 | ``` 44 | 45 | Install dependencies 46 | 47 | ```bash 48 | npm install 49 | ``` 50 | 51 | Run the app 52 | 53 | ```bash 54 | gridsome develop 55 | ``` 56 | 57 | ## Adding a new opportunity to the list 58 | 59 | Found a paid technical writing opportunity we don't have yet? You can easily add it from our website: https://techywrite.ashutoshkrris.in/new-source 60 | 61 | Alternatively, you can add it using the following steps: 62 | 63 | 1. Go to the opportunities list JSON file: 64 | https://github.com/ashutoshkrris/TechyWrite/blob/master/src/data.json 65 | 66 | 2. Add an object to it as follows: 67 | 68 | ```json 69 | { 70 | "name": "Digital Ocean", 71 | "type": "Publication", 72 | "link": "https://www.digitalocean.com/community/pages/write-for-digitalocean", 73 | "categories": ["Infrastructure", "Open Source"], 74 | "minRate": 300, 75 | "maxRate": 400, 76 | "description": "Matches payments with donations to tech-focused charities. Further opportunities for paid updates to existing tutorials." 77 | } 78 | ``` 79 | 80 | - In case of `Publication` type, include `minRate` and `maxRate`. If there is fixed rate, then don't include `minRate`. Just include `maxRate`. 81 | - In case of `Publisher` type, include `royaltyRate` only. 82 | - In case of `Agency` type, include `hourlyMinRate` and `hourlyMaxRate`. If there is fixed rate, then don't include `hourlyMinRate`. Just include `hourlyMaxRate`. 83 | 84 | 3. Once done you can now raise a Pull Request to the main branch
85 | 86 | ## License 87 | 88 | This project follows the [MIT License](/LICENSE). 89 | 90 | #### Made with ♥ by Ashutosh Krishna 91 | 92 | [![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://twitter.com/ashutoshkrris/) 93 | 94 | 95 | github 96 | 97 | 98 | linkedin 99 | 100 | 101 | Thank you for visiting and I wish you all the best in your technical writing endeavors! 102 | -------------------------------------------------------------------------------- /gridsome.config.js: -------------------------------------------------------------------------------- 1 | // This is where project configuration and plugin options are located. 2 | // Learn more: https://gridsome.org/docs/config 3 | 4 | // Changes here require a server restart. 5 | // To restart press CTRL + C in terminal and run `gridsome develop` 6 | 7 | module.exports = { 8 | siteName: "TechyWrite", 9 | siteUrl: "https://techywrite.ashutoshkrris.in", 10 | icon: "./src/favicon.png", 11 | plugins: [ 12 | { 13 | use: "gridsome-plugin-tailwindcss2", 14 | options: { 15 | tailwindConfigFile: "./tailwind.config.cjs", 16 | mainCssFile: "./src/assets/tailwind.css", 17 | }, 18 | }, 19 | { 20 | use: "@gridsome/plugin-sitemap", 21 | options: { 22 | exclude: [], 23 | }, 24 | }, 25 | { 26 | use: "@gridsome/plugin-google-analytics", 27 | options: { 28 | id: "G-GXL60Z6WPF", 29 | }, 30 | }, 31 | ], 32 | }; 33 | -------------------------------------------------------------------------------- /gridsome.server.js: -------------------------------------------------------------------------------- 1 | // Server API makes it possible to hook into various parts of Gridsome 2 | // on server-side and add custom data to the GraphQL data layer. 3 | // Learn more: https://gridsome.org/docs/server-api/ 4 | 5 | // Changes here require a server restart. 6 | // To restart press CTRL + C in terminal and run `gridsome develop` 7 | 8 | module.exports = function(api) { 9 | api.loadSource(async (actions) => { 10 | // Use the Data Store API here: https://gridsome.org/docs/data-store-api/ 11 | }); 12 | 13 | api.createPages(({ createPage }) => { 14 | // Use the Pages API here: https://gridsome.org/docs/pages-api/ 15 | }); 16 | 17 | api.configureServer((app) => { 18 | }); 19 | }; 20 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "techywrite-website", 3 | "private": true, 4 | "scripts": { 5 | "build": "export NODE_OPTIONS=--openssl-legacy-provider; gridsome build", 6 | "develop": "export NODE_OPTIONS=--openssl-legacy-provider; gridsome develop", 7 | "explore": "export NODE_OPTIONS=--openssl-legacy-provider; gridsome explore" 8 | }, 9 | "dependencies": { 10 | "@gridsome/plugin-sitemap": "^0.4.0", 11 | "axios": "^1.2.2", 12 | "body-parser": "^1.20.1", 13 | "gridsome": "^0.7.0", 14 | "@gridsome/plugin-google-analytics": "^0.1.2" 15 | }, 16 | "devDependencies": { 17 | "autoprefixer": "^10.4.13", 18 | "gridsome-plugin-tailwindcss2": "^3.0.1", 19 | "postcss": "^8.4.21", 20 | "tailwindcss": "^3.2.4" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/assets/base.css: -------------------------------------------------------------------------------- 1 | /* color palette from */ 2 | :root { 3 | --vt-c-white: #ffffff; 4 | --vt-c-white-soft: #f8f8f8; 5 | --vt-c-white-mute: #f2f2f2; 6 | 7 | --vt-c-black: #181818; 8 | --vt-c-black-soft: #222222; 9 | --vt-c-black-mute: #282828; 10 | 11 | --vt-c-indigo: #2c3e50; 12 | 13 | --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); 14 | --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); 15 | --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); 16 | --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); 17 | 18 | --vt-c-text-light-1: var(--vt-c-indigo); 19 | --vt-c-text-light-2: rgba(60, 60, 60, 0.66); 20 | --vt-c-text-dark-1: var(--vt-c-white); 21 | --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); 22 | } 23 | 24 | /* semantic color variables for this project */ 25 | :root { 26 | --color-background: var(--vt-c-white); 27 | --color-background-soft: var(--vt-c-white-soft); 28 | --color-background-mute: var(--vt-c-white-mute); 29 | 30 | --color-border: var(--vt-c-divider-light-2); 31 | --color-border-hover: var(--vt-c-divider-light-1); 32 | 33 | --color-heading: var(--vt-c-text-light-1); 34 | --color-text: var(--vt-c-text-light-1); 35 | 36 | --section-gap: 160px; 37 | } 38 | 39 | @media (prefers-color-scheme: dark) { 40 | :root { 41 | --color-background: var(--vt-c-black); 42 | --color-background-soft: var(--vt-c-black-soft); 43 | --color-background-mute: var(--vt-c-black-mute); 44 | 45 | --color-border: var(--vt-c-divider-dark-2); 46 | --color-border-hover: var(--vt-c-divider-dark-1); 47 | 48 | --color-heading: var(--vt-c-text-dark-1); 49 | --color-text: var(--vt-c-text-dark-2); 50 | } 51 | } 52 | 53 | *, 54 | *::before, 55 | *::after { 56 | box-sizing: border-box; 57 | margin: 0; 58 | position: relative; 59 | font-weight: normal; 60 | } 61 | 62 | body { 63 | min-height: 100vh; 64 | color: var(--color-text); 65 | background: var(--color-background); 66 | transition: color 0.5s, background-color 0.5s; 67 | line-height: 1.6; 68 | font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 69 | Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; 70 | font-size: 15px; 71 | text-rendering: optimizeLegibility; 72 | -webkit-font-smoothing: antialiased; 73 | -moz-osx-font-smoothing: grayscale; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/github.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/githubsvg.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashutoshkrris/TechyWrite/5cfab28b973a1a0dcaf94fae5c962c47c03c45ff/src/assets/logo.png -------------------------------------------------------------------------------- /src/assets/main.css: -------------------------------------------------------------------------------- 1 | @import "./base.css"; 2 | 3 | #app { 4 | max-width: 1280px; 5 | margin: 0 auto; 6 | padding: 2rem; 7 | 8 | font-weight: normal; 9 | } 10 | 11 | a, 12 | .green { 13 | text-decoration: none; 14 | color: hsla(160, 100%, 37%, 1); 15 | transition: 0.4s; 16 | } 17 | 18 | @media (hover: hover) { 19 | a:hover { 20 | background-color: hsla(160, 100%, 37%, 0.2); 21 | } 22 | } 23 | 24 | @media (min-width: 1024px) { 25 | body { 26 | display: flex; 27 | place-items: center; 28 | } 29 | 30 | #app { 31 | display: grid; 32 | grid-template-columns: 1fr 1fr; 33 | padding: 0 2rem; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/assets/style.css: -------------------------------------------------------------------------------- 1 | .github-corner:hover .octo-arm { 2 | animation: octocat-wave 560ms linear; 3 | } 4 | 5 | #search-bar { 6 | transition: box-shadow 0.2s ease-in-out; 7 | } 8 | 9 | .scroll-top { 10 | transition: box-shadow 0.2s ease-in-out; 11 | } 12 | 13 | .toggle { 14 | transition: box-shadow 0.2s ease-in-out; 15 | } 16 | 17 | .opportunity { 18 | transition: background-color 0.2s ease-in-out; 19 | } 20 | 21 | .opportunity-name { 22 | font-size: 1.2rem; 23 | } 24 | 25 | .opportunity-type { 26 | padding: 0.5rem; 27 | position: absolute; 28 | color: black; 29 | background-color: white; 30 | top: 35px; 31 | right: 18px; 32 | } 33 | 34 | .opportunity-type:hover { 35 | color: black; 36 | background-color: rgb(200, 196, 196); 37 | } 38 | 39 | .opportunity-category { 40 | right: 10px; 41 | bottom: 10px; 42 | word-break: break-word; 43 | margin-top: 10px; 44 | justify-content: flex-end; 45 | margin-right: -8px; 46 | } 47 | 48 | .icon { 49 | color: #8589f4; 50 | margin-right: 10px; 51 | } 52 | 53 | .pagination-container { 54 | display: flex; 55 | align-items: center; 56 | flex-direction: column; 57 | } 58 | 59 | .pagination { 60 | background: rgb(31 41 55 / var(--tw-bg-opacity)); 61 | margin: 0px; 62 | display: flex; 63 | gap: 5px; 64 | align-items: center; 65 | border: none; 66 | box-sizing: border-box; 67 | overflow: hidden; 68 | word-wrap: break-word; 69 | align-content: center; 70 | border-radius: 0.5rem; 71 | } 72 | 73 | .page-item { 74 | display: flex; 75 | cursor: pointer; 76 | margin-bottom: 0px; 77 | -webkit-touch-callout: none; /* iOS Safari */ 78 | -webkit-user-select: none; /* Safari */ 79 | -khtml-user-select: none; /* Konqueror HTML */ 80 | -moz-user-select: none; /* Old versions of Firefox */ 81 | -ms-user-select: none; /* Internet Explorer/Edge */ 82 | user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */ 83 | } 84 | 85 | .page-link { 86 | color: white; 87 | border-radius: 5px; 88 | padding: 10px 15px; 89 | font-size: 14px; 90 | } 91 | .page-link:hover { 92 | color: #333333; 93 | background-color: #e9e9e9; 94 | border: none; 95 | } 96 | 97 | .active-page { 98 | background-color: rgb(21 128 61 / var(--tw-bg-opacity)) !important; 99 | color: white !important; 100 | } 101 | .active-page:hover { 102 | border: none; 103 | } 104 | 105 | .disabled { 106 | cursor: not-allowed; 107 | } 108 | .disabled .page-link { 109 | background-color: rgb(31 41 55 / var(--tw-bg-opacity)); 110 | } 111 | 112 | @keyframes octocat-wave { 113 | 0%, 114 | 100% { 115 | transform: rotate(0); 116 | } 117 | 118 | 20%, 119 | 60% { 120 | transform: rotate(-25deg); 121 | } 122 | 123 | 40%, 124 | 80% { 125 | transform: rotate(10deg); 126 | } 127 | } 128 | 129 | .app-logo { 130 | width: 40%; 131 | } 132 | 133 | @media (max-width: 500px) { 134 | .github-corner:hover .octo-arm { 135 | animation: none; 136 | } 137 | 138 | .github-corner .octo-arm { 139 | animation: octocat-wave 560ms ease-in-out; 140 | } 141 | 142 | .app-logo { 143 | width: 60%; 144 | } 145 | 146 | /* .opportunity-category { 147 | position: static; 148 | right: 10px; 149 | bottom: 10px; 150 | word-break: break-word; 151 | margin-top: 10px; 152 | } */ 153 | } 154 | -------------------------------------------------------------------------------- /src/assets/tailwind.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss/base"; 2 | 3 | @import "tailwindcss/components"; 4 | 5 | @import "tailwindcss/utilities"; 6 | 7 | @import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap"); 8 | 9 | * { 10 | font-family: "Poppins", sans-serif; 11 | } 12 | 13 | /*----Scroll bar----*/ 14 | ::-webkit-scrollbar { 15 | width: 0.45rem; 16 | } 17 | 18 | ::-webkit-scrollbar-thumb { 19 | background-color: #9092ff; 20 | width: 0.4rem; 21 | border-radius: 1rem; 22 | } 23 | 24 | ::-webkit-scrollbar-track { 25 | background-color: white; 26 | border-radius: 0.01rem; 27 | padding: 0 3px; 28 | } 29 | -------------------------------------------------------------------------------- /src/assets/twitter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/Contributors.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 55 | -------------------------------------------------------------------------------- /src/components/Footer.vue: -------------------------------------------------------------------------------- 1 | 43 | 44 | 58 | -------------------------------------------------------------------------------- /src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 69 | 70 | 87 | -------------------------------------------------------------------------------- /src/components/NewSourceForm.vue: -------------------------------------------------------------------------------- 1 | 182 | 183 | 284 | -------------------------------------------------------------------------------- /src/components/NoResultsFound.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 18 | 19 | 29 | -------------------------------------------------------------------------------- /src/components/Opportunity.vue: -------------------------------------------------------------------------------- 1 | 114 | 115 | 134 | -------------------------------------------------------------------------------- /src/components/Pagination.vue: -------------------------------------------------------------------------------- 1 | 39 | 40 | 128 | -------------------------------------------------------------------------------- /src/components/README.md: -------------------------------------------------------------------------------- 1 | Add components that will be imported to Pages and Layouts to this folder. 2 | Learn more about components here: https://gridsome.org/docs/components/ 3 | 4 | You can delete this file. 5 | -------------------------------------------------------------------------------- /src/components/ScrollToTop.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 58 | -------------------------------------------------------------------------------- /src/data/opportunities.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "CSS Tricks", 4 | "type": "Publication", 5 | "link": "https://css-tricks.com/guest-writing-for-css-tricks/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 6 | "categories": ["Front-End Development"], 7 | "minRate": 300, 8 | "maxRate": 400, 9 | "description": "" 10 | }, 11 | { 12 | "name": "No Starch Press", 13 | "type": "Publisher", 14 | "link": "https://nostarch.com/writeforus?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 15 | "contact": "editors@nostarch.com", 16 | "royaltyRate": "15% or 10% with $8,000 advance", 17 | "description": "No Starch Press is a longstanding independent publisher known for print quality and strong content.", 18 | "categories": [] 19 | }, 20 | { 21 | "name": "O'Reilly Media", 22 | "type": "Publisher", 23 | "link": "https://www.oreilly.com/work-with-us.html?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 24 | "contact": "workwithus@oreilly.com", 25 | "description": "O'Reilly Media is the largest publisher of programming content and offers a wide variety of opportunities.", 26 | "categories": [] 27 | }, 28 | { 29 | "name": "Apress", 30 | "type": "Publisher", 31 | "link": "https://www.apress.com/gp/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 32 | "contact": "editorial@apress.com", 33 | "description": "Apress specializes in Microsoft, Apple, and enterprise technologies.", 34 | "categories": [] 35 | }, 36 | { 37 | "name": "Manning", 38 | "type": "Publisher", 39 | "link": "https://www.manning.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 40 | "contact": "proposals@manning.com", 41 | "royaltyRate": "10% with an advance, 25% on ebook sales", 42 | "description": "Manning is a longstanding independent publisher known for its MEAP process for publishing books as they're written.", 43 | "categories": [] 44 | }, 45 | { 46 | "name": "\\newline", 47 | "type": "Publisher", 48 | "link": "https://www.newline.co/write-with-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 49 | "royaltyRate": "50%", 50 | "description": "\\newline is a newer independent publisher focusing on full-stack tutorials and digital distribution.", 51 | "categories": [] 52 | }, 53 | { 54 | "name": "The Pragmatic Bookshelf", 55 | "type": "Publisher", 56 | "link": "https://pragprog.com/become-an-author/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 57 | "contact": "proposals@pragprog.com", 58 | "royaltyRate": "50%", 59 | "description": "Named for their most iconic title, this independent publisher produces books on both technical and soft skills.", 60 | "categories": [] 61 | }, 62 | { 63 | "name": "ContentLab", 64 | "type": "Agency", 65 | "link": "https://contentlab.io/writeforus/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 66 | "contact": "elisa@contentlab.io", 67 | "categories": [ 68 | "Front-End Development", 69 | "Back-End Development", 70 | "Infrastructure" 71 | ], 72 | "minRate": 200, 73 | "maxRate": 700, 74 | "description": "Quoted rate range is for articles, depending on length. Also offers paid opportunities for outlining and content planning, plus higher fees for larger projects." 75 | }, 76 | { 77 | "name": "Auth0", 78 | "type": "Publication", 79 | "link": "https://auth0.com/apollo-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 80 | "categories": ["Authentication"], 81 | "maxRate": 450, 82 | "description": "Articles must implement some part of the Auth0 spec in any programming language. The program offers swag gifts to multi-time authors." 83 | }, 84 | { 85 | "name": "CircleCI", 86 | "type": "Publication", 87 | "link": "https://circleci.com/blog/guest-writer-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 88 | "categories": ["Infrastructure"], 89 | "maxRate": 325, 90 | "description": "Also provides physical CircleCI swag with your first post." 91 | }, 92 | { 93 | "name": "Dev Spotlight", 94 | "type": "Agency", 95 | "link": "https://www.devspotlight.com/jobs/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 96 | "categories": ["Infrastructure", "DevOps", "Full-Stack Development"], 97 | "maxRate": 600, 98 | "contact": "info@devspotlight.com", 99 | "description": "Pay may far exceed $600 based on scope & experience. Requires proven technical expertise plus writing skills." 100 | }, 101 | { 102 | "name": "Digital Ocean", 103 | "type": "Publication", 104 | "link": "https://www.digitalocean.com/community/pages/write-for-digitalocean?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 105 | "categories": ["Infrastructure", "Open Source"], 106 | "minRate": 300, 107 | "maxRate": 400, 108 | "description": "Matches payments with donations to tech-focused charities. Further opportunities for paid updates to existing tutorials." 109 | }, 110 | { 111 | "name": "Fauna", 112 | "type": "Publication", 113 | "link": "https://fauna.com/blog/write-with-fauna?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 114 | "categories": ["Full-Stack Development"], 115 | "maxRate": 350, 116 | "description": "Must use FaunaDB. Also provides Fauna swag to authors." 117 | }, 118 | { 119 | "name": "Fly", 120 | "type": "Publication", 121 | "link": "https://github.com/superfly/fly#write-for-fly?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 122 | "categories": ["Infrastructure"], 123 | "maxRate": 150, 124 | "description": "" 125 | }, 126 | { 127 | "name": "Honeybadger", 128 | "type": "Publication", 129 | "link": "https://www.honeybadger.io/blog/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 130 | "maxRate": 500, 131 | "categories": ["Back-End Development"], 132 | "description": "Developer-friendly writing and editing process using Markdown and GitHub. Only accepts Ruby, PHP, JS content." 133 | }, 134 | { 135 | "name": "Infantica", 136 | "type": "Publication", 137 | "link": "https://infatica.io/contribute/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 138 | "categories": ["Web Scraping"], 139 | "maxRate": 100, 140 | "description": "Also donates to tech-focused charities for articles." 141 | }, 142 | { 143 | "name": "Linode", 144 | "type": "Publication", 145 | "link": "https://www.linode.com/lp/write-for-linode/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 146 | "categories": ["Infrastructure", "Open Source"], 147 | "maxRate": 300, 148 | "description": "Known to pay much higher rates to trusted repeat authors. Further opportunities for paid updates to existing tutorials." 149 | }, 150 | { 151 | "name": "LogRocket", 152 | "type": "Publication", 153 | "link": "https://blog.logrocket.com/become-a-logrocket-guest-author-7d970eb673f9/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 154 | "categories": ["Front-End Development"], 155 | "maxRate": 350, 156 | "contact": "brian@logrocket.com", 157 | "description": "" 158 | }, 159 | { 160 | "name": "LWN", 161 | "type": "Publication", 162 | "link": "https://lwn.net/op/AuthorGuide.lwn?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 163 | "maxRate": 300, 164 | "categories": ["Linux News"], 165 | "contact": "authors@lwn.net", 166 | "description": "Authors retain copyright, CC BY-SA 4.0 after 2 weeks exclusivity. Experienced authors and ambitious projects earn more." 167 | }, 168 | { 169 | "name": "Make Use Of", 170 | "type": "Publication", 171 | "link": "https://www.makeuseof.com/contributor/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 172 | "categories": ["Consumer Tech"], 173 | "maxRate": 120, 174 | "description": "" 175 | }, 176 | { 177 | "name": "Paperspace", 178 | "type": "Publication", 179 | "link": "https://blog.paperspace.com/write-for-paperspace/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 180 | "categories": ["Data Science"], 181 | "minRate": 200, 182 | "maxRate": 300, 183 | "description": "" 184 | }, 185 | { 186 | "name": "PHP Architect", 187 | "type": "Publication", 188 | "link": "https://www.phparch.com/editorial/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 189 | "categories": ["Back-End Development"], 190 | "maxRate": 175, 191 | "description": "" 192 | }, 193 | { 194 | "name": "Postmark", 195 | "type": "Publication", 196 | "link": "https://postmarkapp.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 197 | "categories": ["Back-End Development"], 198 | "minRate": 200, 199 | "maxRate": 300, 200 | "description": "" 201 | }, 202 | { 203 | "name": "Real Python", 204 | "type": "Publication", 205 | "link": "https://realpython.com/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 206 | "categories": ["Back-End Development", "Programming", "Soft Skills"], 207 | "description": "Site calls working with them a \"significant time commitment\" for a \"paid part-time position.\"" 208 | }, 209 | { 210 | "name": "SitePoint", 211 | "type": "Publication", 212 | "link": "https://www.sitepoint.com/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 213 | "categories": ["Front-End Development", "No-Code Tools", "Design"], 214 | "minRate": 150, 215 | "maxRate": 300, 216 | "description": "SitePoint is a well-established publication with different editors for different categories, with varying requirements. Large projects pay more." 217 | }, 218 | { 219 | "name": "Smashing Magazine", 220 | "type": "Publication", 221 | "link": "https://www.smashingmagazine.com/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 222 | "categories": ["Front-End Development", "Design"], 223 | "maxRate": 200, 224 | "description": "Smashing pays $250 for articles after your first. They also have conference speaking and long-form content opportunities." 225 | }, 226 | { 227 | "name": "Software Engineering Daily", 228 | "type": "Publication", 229 | "link": "https://softwareengineeringdaily.com/write/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 230 | "contact": "write@softwareengineeringdaily.com", 231 | "description": "", 232 | "categories": [] 233 | }, 234 | { 235 | "name": "TakeShape", 236 | "type": "Publication", 237 | "link": "https://www.takeshape.io/jobs/contributing-writer/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 238 | "categories": ["Front-End Development", "Interviews"], 239 | "maxRate": 300, 240 | "description": "" 241 | }, 242 | { 243 | "name": "TechWell", 244 | "type": "Publication", 245 | "link": "https://www.techwell.com/techwell-submission-guidelines?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 246 | "categories": ["DevOps", "Soft Skills"], 247 | "maxRate": 200, 248 | "description": "" 249 | }, 250 | { 251 | "name": "TestDriven.io", 252 | "type": "Publication", 253 | "link": "https://testdriven.io/join-testdriven/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 254 | "categories": ["Full-Stack Development"], 255 | "minRate": 300, 256 | "maxRate": 500, 257 | "description": "Pays $75 to $150 for updates and improvements to existing content." 258 | }, 259 | { 260 | "name": "WonderProxy", 261 | "type": "Publication", 262 | "link": "https://wonderproxy.com/blog/looking-for-authors/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 263 | "categories": ["Testing"], 264 | "minRate": 350, 265 | "maxRate": 500, 266 | "description": "", 267 | "contact": "writers@wonderproxy.com" 268 | }, 269 | { 270 | "name": "Tutorialspoint", 271 | "type": "Publication", 272 | "link": "https://www.tutorialspoint.com/about/tutorials_writing.htm?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 273 | "contact": "contact@tutorialspoint.com", 274 | "description": "Payment is dependent on tutorial length, complexity, and subject.", 275 | "categories": [] 276 | }, 277 | { 278 | "name": "Envato Tuts+", 279 | "type": "Publication", 280 | "link": "https://tutsplus.com/teach?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 281 | "categories": ["Programming", "Design"], 282 | "description": "Also buys video courses of 30 minutes or longer." 283 | }, 284 | { 285 | "name": "Twilio", 286 | "type": "Publication", 287 | "link": "https://www.twilio.com/voices?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 288 | "categories": ["Full-Stack Development", "APIs", "Infrastructure"], 289 | "maxRate": 500, 290 | "description": "Most tutorials involve one or more of Twilio's APIs." 291 | }, 292 | { 293 | "name": "Vonage", 294 | "type": "Publication", 295 | "link": "https://developer.nexmo.com/spotlight#submit-your-idea?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 296 | "categories": ["Full-Stack Development"], 297 | "maxRate": 500, 298 | "description": "Posts should feature one or more Vonage products." 299 | }, 300 | { 301 | "name": "WPHUB", 302 | "type": "Publication", 303 | "link": "https://wphub.com/about-us/#Become_a_Guest_Author?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 304 | "categories": ["Wordpress"], 305 | "minRate": 100, 306 | "maxRate": 200, 307 | "description": "" 308 | }, 309 | { 310 | "name": "Zift", 311 | "type": "Publication", 312 | "link": "https://wezift.com/write-for-zift/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 313 | "categories": ["Parenting and Technology"], 314 | "maxRate": 100, 315 | "contact": "editorial@wezift.com", 316 | "description": "" 317 | }, 318 | { 319 | "name": "Soshace", 320 | "type": "Publication", 321 | "link": "https://soshace.com/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 322 | "maxRate": 100, 323 | "description": "", 324 | "categories": [] 325 | }, 326 | { 327 | "name": "Hasura", 328 | "type": "Publication", 329 | "link": "https://hasura.io/blog/the-hasura-technical-writer-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 330 | "categories": ["Back-End Development"], 331 | "maxRate": 300, 332 | "description": "Tutorials must include the Hasura GraphQL engine." 333 | }, 334 | { 335 | "name": "Arctype", 336 | "type": "Publication", 337 | "link": "https://blog.arctype.com/contribute/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 338 | "categories": ["Back-End Development", "Data Science"], 339 | "maxRate": 150, 340 | "contact": "derek@arctype.com", 341 | "description": "May provide additional bonuses for well-performing posts." 342 | }, 343 | { 344 | "name": "Draft.dev", 345 | "type": "Agency", 346 | "link": "https://draft.dev/write?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 347 | "contact": "hiring@draft.dev", 348 | "categories": ["Full-Stack Development", "Data Science", "DevOps"], 349 | "minRate": 315, 350 | "maxRate": 578, 351 | "description": "Available categories are sent out every week and writers can claim any they're a good fit for." 352 | }, 353 | { 354 | "name": "Hit Subscribe", 355 | "type": "Agency", 356 | "link": "https://www.hitsubscribe.com/apply-to-be-an-author/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 357 | "minRate": 100, 358 | "maxRate": 400, 359 | "description": "", 360 | "categories": [] 361 | }, 362 | { 363 | "name": "Neptune", 364 | "type": "Publication", 365 | "link": "https://neptune.ai/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 366 | "contact": "guestwriters@neptune.ai", 367 | "categories": ["Data Science"], 368 | "minRate": 300, 369 | "maxRate": 600, 370 | "description": "Also pays $50-150 for non-technical blog posts." 371 | }, 372 | { 373 | "name": "SUSE Writers Network (SUSE Rancher)", 374 | "type": "Publication", 375 | "link": "https://www.suse.com/writing-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 376 | "categories": ["DevOps", "Infrastructure"], 377 | "maxRate": 300, 378 | "description": "" 379 | }, 380 | { 381 | "name": "Section.io", 382 | "type": "Publication", 383 | "link": "https://github.com/section-engineering-education/engineering-education?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 384 | "minRate": 50, 385 | "maxRate": 150, 386 | "description": "Section takes submissions specifically from university-level computer science students.", 387 | "categories": [] 388 | }, 389 | { 390 | "name": "Tech Beacon", 391 | "type": "Publication", 392 | "link": "https://techbeacon.com/aboutus?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 393 | "categories": ["DevOps", "Infrastructure"], 394 | "maxRate": 400, 395 | "description": "The \"write for us\" page is currently behind an authentication barrier." 396 | }, 397 | { 398 | "name": "TypingDNA", 399 | "type": "Publication", 400 | "link": "https://www.typingdna.com/guest-author-program#get-started?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 401 | "maxRate": 500, 402 | "description": "", 403 | "categories": [] 404 | }, 405 | { 406 | "name": "Vultr", 407 | "type": "Publication", 408 | "link": "https://www.vultr.com/docs/vultr-docs-program-guidelines?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 409 | "categories": ["Infrastructure"], 410 | "minRate": 150, 411 | "maxRate": 600, 412 | "description": "" 413 | }, 414 | { 415 | "name": "Agora", 416 | "type": "Publication", 417 | "link": "https://www.agora.io/en/agora-content-contributor-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 418 | "categories": ["APIs"], 419 | "maxRate": 250, 420 | "description": "Bonus swag and payment based on signups from your article." 421 | }, 422 | { 423 | "name": "DeepSource", 424 | "type": "Publication", 425 | "link": "https://deepsource.io/tech-writer/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 426 | "categories": ["DevOps"], 427 | "contact": "tech-writer@deepsource.io", 428 | "maxRate": 150, 429 | "description": "" 430 | }, 431 | { 432 | "name": "Sanity.io", 433 | "type": "Publication", 434 | "link": "https://www.sanity.io/guest-authorship?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 435 | "categories": ["Front-End Development"], 436 | "maxRate": 250, 437 | "description": "Article categories should relate to the Sanity.io platform." 438 | }, 439 | { 440 | "name": "ImageKit", 441 | "type": "Publication", 442 | "link": "https://imagekit.io/blog/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 443 | "categories": ["Infrastructure"], 444 | "maxRate": 300, 445 | "description": "Accepts articles on ImageKit technologies and web image optimization." 446 | }, 447 | { 448 | "name": "Wizard on Demand", 449 | "type": "Agency", 450 | "link": "https://wizardondemand.com?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 451 | "categories": ["Infrastructure", "Full-Stack Development", "Data Science"], 452 | "contact": "workwithus@wizardondemand.com", 453 | "hourlyMaxRate": 15, 454 | "description": "Connect and collaborate with other writers, get detailed feedback from our editors, and learn from our subject matter experts." 455 | }, 456 | { 457 | "name": "NoteBook Share", 458 | "type": "Publication", 459 | "link": "https://www.nbshare.io/new-post/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 460 | "contact": "johnludhi@outlook.com", 461 | "categories": ["Data Science"], 462 | "minRate": 100, 463 | "maxRate": 150, 464 | "description": "Publishes Jupyter-style data science notebooks." 465 | }, 466 | { 467 | "name": "Adeva", 468 | "type": "Publication", 469 | "link": "https://adevait.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 470 | "categories": ["Infrastructure", "DevOps", "Soft Skills"], 471 | "maxRate": 200, 472 | "description": "Looking for technical guides, thought leadership content, and resources for Engineering Managers." 473 | }, 474 | { 475 | "name": "Editmode", 476 | "type": "Publication", 477 | "link": "https://editmode.com?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 478 | "contact": "tony@editmode.com", 479 | "categories": ["APIs"], 480 | "maxRate": 150, 481 | "description": "Articles must implement some part of the Editmode API or client libraries in any programming language." 482 | }, 483 | { 484 | "name": "raywenderlich.com", 485 | "type": "Publication", 486 | "link": "https://www.raywenderlich.com/11455688-write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 487 | "contact": "annette@raywenderlich.com", 488 | "categories": ["Mobile Development", "Back-End Development"], 489 | "maxRate": 400, 490 | "description": "Focuses on Swift and Unity. Rigorous multi-stage editing process, strong community. Formats also include books, video courses, and more." 491 | }, 492 | { 493 | "name": "CodeSubmit", 494 | "type": "Publication", 495 | "link": "https://codesubmit.io/blog/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 496 | "contact": "dom@codesubmit.io", 497 | "categories": ["Technical Interviews"], 498 | "maxRate": 250, 499 | "description": "" 500 | }, 501 | { 502 | "name": "Bejamas", 503 | "type": "Agency", 504 | "link": "https://bejamas.io/paid-writing-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 505 | "categories": ["Front-End Development", "JAMstack"], 506 | "description": "Payment varies by project scope" 507 | }, 508 | { 509 | "name": "Hygraph (formerly GraphCMS)", 510 | "type": "Publication", 511 | "link": "https://hygraph.com/write-for-hygraph?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 512 | "categories": ["Front-End Development", "Back-End Development"], 513 | "description": "Payment varies by article. Pitches should include Hygraph." 514 | }, 515 | { 516 | "name": "Topcoder Thrive", 517 | "type": "Publication", 518 | "link": "https://www.topcoder.com/thrive/articles/Submitting%20a%20Thrive%20Article?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 519 | "categories": [ 520 | "Front-End Development", 521 | "Back-End Development", 522 | "Data Science" 523 | ], 524 | "maxRate": 75, 525 | "description": "" 526 | }, 527 | { 528 | "name": "Magic Link", 529 | "type": "Publication", 530 | "link": "https://magic-fortmatic.typeform.com/to/Wgzsocor?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 531 | "categories": ["Back-End Development"], 532 | "maxRate": 300, 533 | "description": "Must use magic.link auth API in articles." 534 | }, 535 | { 536 | "name": "Appsmith", 537 | "type": "Publication", 538 | "link": "https://blog.appsmith.com/launching-the-appsmith-writers-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 539 | "categories": ["Back-End Development"], 540 | "minRate": 200, 541 | "maxRate": 400, 542 | "description": "Must include Appsmith technologies in the tutorial." 543 | }, 544 | { 545 | "name": "QuickNode", 546 | "type": "Publication", 547 | "link": "https://quicknode.notion.site/quicknode/QuickNode-Authorship-Program-d808a87ee50b48c9a16ed19b13e09115?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 548 | "categories": ["Crypto"], 549 | "maxRate": 350, 550 | "description": "Tutorials should cover building with one or more web3 technologies." 551 | }, 552 | { 553 | "name": "Warrant", 554 | "type": "Publication", 555 | "link": "https://blog.warrant.dev?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 556 | "contact": "hello@warrant.dev", 557 | "categories": ["Back-End Development", "Authentication"], 558 | "maxRate": 100, 559 | "description": "" 560 | }, 561 | { 562 | "name": "SQL Shack", 563 | "type": "Publication", 564 | "link": "https://www.sqlshack.com/about-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 565 | "categories": ["SQL"], 566 | "maxRate": 200, 567 | "description": "Microsoft SQL Server only, 1250+ words plus code samples, 3 images per article." 568 | }, 569 | { 570 | "name": "Alan AI", 571 | "type": "Publication", 572 | "link": "https://docs.google.com/forms/d/e/1FAIpQLSfLGZO7fDt4OGIWVjNYIStkXrog3teq19qmeFErujQOtoWfFA/viewform?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 573 | "categories": ["Data Science"], 574 | "minRate": 50, 575 | "maxRate": 250, 576 | "description": "Aricles must relate to Alan AI platform." 577 | }, 578 | { 579 | "name": "Ambassador", 580 | "type": "Publication", 581 | "link": "https://www.getambassador.io/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 582 | "categories": ["Kubernetes", "Cloud Native"], 583 | "description": "Looking for technical tutorials, guides, opinions, and case studies on Kubernetes and open-source cloud-native technologies.", 584 | "maxRate": "300" 585 | }, 586 | { 587 | "name": "Airbyte", 588 | "type": "Publication", 589 | "link": "https://airbyte.com/write-for-the-community?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 590 | "categories": ["Infrastructure", "Open Source"], 591 | "maxRate": 900, 592 | "description": "Articles must feature Airbyte integrations." 593 | }, 594 | { 595 | "name": "webapp.io", 596 | "type": "Publication", 597 | "contact": "hello@webapp.io", 598 | "link": "https://webapp.io/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 599 | "categories": ["Infrastructure", "Full-Stack Development"], 600 | "maxRate": 150, 601 | "description": "" 602 | }, 603 | { 604 | "name": "Magalix", 605 | "type": "Publication", 606 | "link": "https://www.magalix.com/the-sac-writers-club?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 607 | "categories": ["Open Source", "DevOps", "Infrastructure"], 608 | "maxRate": 200, 609 | "description": "" 610 | }, 611 | { 612 | "name": "OneSignal", 613 | "type": "Publication", 614 | "link": "https://onesignal.com/guest-author-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 615 | "categories": ["Mobile Development"], 616 | "maxRate": 350, 617 | "description": "" 618 | }, 619 | { 620 | "name": "Colabra", 621 | "type": "Publication", 622 | "link": "https://www.colabra.app/blog/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 623 | "contact": "hello@colabra.app", 624 | "categories": ["Lab Management", "Data Science"], 625 | "minRate": 300, 626 | "maxRate": 600, 627 | "description": "Lab science, not computer science." 628 | }, 629 | { 630 | "name": "CloudCannon", 631 | "type": "Publication", 632 | "link": "https://cloudcannon.com/blog/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 633 | "contact": "olivia@cloudcannon.com", 634 | "categories": ["Front-End Development", "JAMstack"], 635 | "maxRate": 300, 636 | "description": "Hiring for one-off pieces or continuous writing opportunities." 637 | }, 638 | { 639 | "name": "The Bot Forge", 640 | "type": "Publication", 641 | "link": "https://www.thebotforge.io/guest-authors/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 642 | "categories": ["Data Science", "Artificial Intelligence"], 643 | "maxRate": 200, 644 | "description": "Focus on conversational AI" 645 | }, 646 | { 647 | "name": "Civo", 648 | "type": "Publication", 649 | "link": "https://www.civo.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 650 | "categories": ["Infrastructure", "Kubernetes"], 651 | "minRate": 300, 652 | "maxRate": 500, 653 | "description": "" 654 | }, 655 | { 656 | "name": "Enlear", 657 | "type": "Agency", 658 | "link": "https://www.enlear.com/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 659 | "categories": ["Full-Stack Development", "Programming", "Open Source"], 660 | "minRate": 50, 661 | "maxRate": 150, 662 | "description": "Enlear also offers opportunities for content strategy and editorial roles." 663 | }, 664 | { 665 | "name": "MSSQL Tips", 666 | "type": "Publication", 667 | "link": "https://www.mssqltips.com/contribute/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 668 | "categories": ["SQL"], 669 | "maxRate": 160, 670 | "description": "Microsoft SQL Server only." 671 | }, 672 | { 673 | "name": "CodingSight", 674 | "type": "Publication", 675 | "link": "https://codingsight.com?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 676 | "contact": "marketing@devart.com", 677 | "categories": ["SQL", "Back-End Development", "Infrastructure"], 678 | "minRate": 100, 679 | "maxRate": 250, 680 | "description": "Send proposals directly to the listed contact." 681 | }, 682 | { 683 | "name": "Hashnode", 684 | "type": "Publication", 685 | "link": "https://web3.hashnode.com/contribute-to-the-web3-blog?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 686 | "categories": ["Crypto"], 687 | "minRate": 150, 688 | "maxRate": 400, 689 | "description": "Warning: asks for an unpaid prompted 300-word writing sample during the application." 690 | }, 691 | { 692 | "name": "Simple Talk", 693 | "type": "Publication", 694 | "link": "https://www.red-gate.com/simple-talk/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 695 | "categories": ["SQL", "Back-End Development", "DevOps"], 696 | "maxRate": 350, 697 | "description": "" 698 | }, 699 | { 700 | "name": "SigNoz", 701 | "type": "Publication", 702 | "link": "https://signoz.io/technical-writer-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 703 | "categories": ["DevOps", "Infrastructure"], 704 | "maxRate": 150, 705 | "description": "" 706 | }, 707 | { 708 | "name": "ButterCMS", 709 | "type": "Publication", 710 | "link": "https://buttercms.com/blog/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 711 | "contact": "jessica@buttercms.com", 712 | "categories": ["DevOps", "Full-Stack Development"], 713 | "minRate": 250, 714 | "maxRate": 350, 715 | "description": "" 716 | }, 717 | { 718 | "name": "Medusa", 719 | "type": "Publication", 720 | "link": "https://medusajs.notion.site/Write-for-us-74a2bf43b4ce43eeba200382f599321a?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 721 | "contact": "shahed@medusajs.com", 722 | "categories": ["Back-End Development", "Ecommerce", "Open Source"], 723 | "maxRate": 150, 724 | "description": "Will help guide your writing and have our own internal technical writer assist you" 725 | }, 726 | { 727 | "name": "VisWiz.io", 728 | "type": "Publication", 729 | "link": "https://blog.viswiz.io?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 730 | "contact": "blog@viswiz.io", 731 | "categories": ["Front-End Development", "Back-End Development", "Testing"], 732 | "minRate": 200, 733 | "maxRate": 300, 734 | "description": "" 735 | }, 736 | { 737 | "name": "Earthly", 738 | "type": "Publication", 739 | "link": "https://earthly.dev/blog/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 740 | "contact": "support@earthly.dev", 741 | "categories": ["Open Source", "Back-End Development", "Infrastructure"], 742 | "maxRate": 350, 743 | "description": "Articles will be promoted on their Twitter account and posted to Hacker News." 744 | }, 745 | { 746 | "name": "Initial Commit", 747 | "type": "Publication", 748 | "link": "https://initialcommit.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 749 | "categories": ["Full-Stack Development", "Programming"], 750 | "maxRate": 62.5, 751 | "description": "" 752 | }, 753 | { 754 | "name": "Solace", 755 | "type": "Publication", 756 | "link": "https://solace.com/scholars/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 757 | "categories": ["APIs"], 758 | "maxRate": 300, 759 | "description": "Articles must feature Solace technologies." 760 | }, 761 | { 762 | "name": "Content Turbine", 763 | "type": "Agency", 764 | "link": "https://www.contentturbine.com/freelance?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 765 | "categories": ["Data Science", "Programming", "Artificial Intelligence"], 766 | "minRate": 250, 767 | "maxRate": 300, 768 | "description": "" 769 | }, 770 | { 771 | "name": "Cohesive", 772 | "type": "Publication", 773 | "link": "https://cohesiveso.notion.site/Cohesive-Writers-Program-114332379ec8444f8ca0ee774b805253?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 774 | "categories": ["Infrastructure", "Kubernetes"], 775 | "minRate": 200, 776 | "maxRate": 500, 777 | "description": "" 778 | }, 779 | { 780 | "name": "Webiny", 781 | "type": "Publication", 782 | "link": "https://www.webiny.com/docs/write-with-webiny/write-with-webiny?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 783 | "categories": ["Front-End Development"], 784 | "maxRate": 200, 785 | "description": "Webiny is an open source serverless CMS." 786 | }, 787 | { 788 | "name": "RunX", 789 | "type": "Publication", 790 | "link": "https://blog.runx.dev/announcing-runxs-technical-writer-program-ea3790f0a80?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 791 | "categories": ["Infrastructure", "DevOps"], 792 | "minRate": 150, 793 | "maxRate": 200, 794 | "description": "Seeking tutorials on Opta, pays an extra 100 dollars for Opta tutorials that hit 1000 views in 4 weeks." 795 | }, 796 | { 797 | "name": "Codiga", 798 | "type": "Publication", 799 | "link": "https://www.codiga.io/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 800 | "categories": ["Programming"], 801 | "minRate": 100, 802 | "maxRate": 150, 803 | "description": "Asks authors to publish content on the author's own site, which Codiga will then promote." 804 | }, 805 | { 806 | "name": "Kili technology", 807 | "type": "Publication", 808 | "link": "https://github.com/kili-technology/kili-blogger-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 809 | "contact": "theo.dullin@kili-technology.com", 810 | "categories": ["Data Science", "Machine Learning"], 811 | "minRate": 100, 812 | "maxRate": 200, 813 | "description": "" 814 | }, 815 | { 816 | "name": "AppSignal", 817 | "type": "Publication", 818 | "link": "https://blog.appsignal.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 819 | "contact": "editorial@appsignal.com", 820 | "categories": ["Full-Stack Development"], 821 | "maxRate": 300, 822 | "description": "Mid-level to senior content on Node.js, Elixir, and Ruby." 823 | }, 824 | { 825 | "name": "Sweetcode", 826 | "type": "Publication", 827 | "link": "https://sweetcode.io/join-community/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 828 | "categories": ["Full-Stack Development", "DevOps"], 829 | "maxRate": 150, 830 | "description": "" 831 | }, 832 | { 833 | "name": "Syntropy", 834 | "type": "Publication", 835 | "link": "https://www.syntropystack.com/writers?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 836 | "categories": ["Crypto", "DevOps"], 837 | "minRate": 250, 838 | "maxRate": 650, 839 | "description": "" 840 | }, 841 | { 842 | "name": "Argot", 843 | "type": "Agency", 844 | "link": "https://argot.dev/writers?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 845 | "contact": "writers@argot.dev", 846 | "categories": [ 847 | "Front-End Development", 848 | "Back-End Development", 849 | "Data Science", 850 | "DevOps" 851 | ], 852 | "maxRate": 600, 853 | "description": "" 854 | }, 855 | { 856 | "name": "CodeSee", 857 | "type": "Publication", 858 | "link": "https://learn.codesee.io/guest-author-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 859 | "contact": "josh@codesee.io", 860 | "categories": ["Programming"], 861 | "maxRate": 500, 862 | "description": "Looking for content on CodeSee tools, technical reviews, and code quality" 863 | }, 864 | { 865 | "name": "memphis.dev", 866 | "type": "Publication", 867 | "link": "https://forms.gle/EJvfgLGivUzFMfcY9?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 868 | "contact": "team@memphis.dev", 869 | "categories": ["Back-End Development", "Full-Stack Development"], 870 | "minRate": 500, 871 | "maxRate": 800, 872 | "description": "Write in-depth pieces relevant to memphis.dev in Go" 873 | }, 874 | { 875 | "name": "neverinstall", 876 | "type": "Publication", 877 | "link": "https://blog.neverinstall.com/neverinstall-technical-writer-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 878 | "categories": ["Back-End Development", "DevOps"], 879 | "minRate": 100, 880 | "maxRate": 250, 881 | "description": "neverinstall offers a way to stream apps to browser and seeks relevant technical content" 882 | }, 883 | { 884 | "name": "Astrix Technology LLC", 885 | "link": "https://www.ziprecruiter.com/c/AstrixTechnology-LLC/Job/Technical-Writer/-in-Redmond,WA?jid=2a49dbf6c3a44a95&lvk=07OWIPZhK5EtxcLgosArSA.--MfK71sSPN?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 886 | "type": "Agency", 887 | "hourlyMinRate": 30, 888 | "hourlyMaxRate": 40, 889 | "description": "Requires prior experience and will provide training prior to joining", 890 | "categories": ["Science", "Biotech", "Pharmaceutical"] 891 | }, 892 | { 893 | "name": "NimbleBox.ai", 894 | "type": "Publication", 895 | "link": "https://nimblebox.ai/technical-writer-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 896 | "contact": "rugman@nimblebox.ai", 897 | "categories": ["Machine Learning", "Data Science", "MLOps"], 898 | "maxRate": "50", 899 | "description": "" 900 | }, 901 | { 902 | "name": "Nyckel", 903 | "type": "Publication", 904 | "link": "https://www.nyckel.com/blog?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 905 | "contact": "writers@nyckel.com", 906 | "categories": ["Machine Learning", "Data Science"], 907 | "maxRate": 400, 908 | "description": "Looking for thought leadership content, interesting ML-driven sample apps and built with Nyckel, and integrations. " 909 | }, 910 | { 911 | "name": "Ant Media", 912 | "type": "Publication", 913 | "link": "https://antmedia.io/write-for-us-looking-for-technical-authors?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 914 | "categories": ["Infrastructure", "APIs"], 915 | "minRate": 50, 916 | "maxRate": 150 917 | }, 918 | { 919 | "name": "Open Relay", 920 | "type": "Publication", 921 | "link": "https://medium.com/stackanatomy/write-for-us-ad11489bd7c3?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 922 | "categories": ["Front-End Development"], 923 | "maxRate": 250 924 | }, 925 | { 926 | "name": "Storyblok", 927 | "type": "Publication", 928 | "link": "https://www.storyblok.com/tp/guest-writing-terms?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 929 | "categories": ["Front-End Development", "Infrastructure"], 930 | "maxRate": 200 931 | }, 932 | { 933 | "name": "Dolby.io", 934 | "type": "Publication", 935 | "link": "https://go.dolby.io/community-writing?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 936 | "categories": ["Full-Stack Development", "APIs"], 937 | "minRate": 100, 938 | "maxRate": 500, 939 | "description": "Articles must use one or more Dolby.io technologies." 940 | }, 941 | { 942 | "name": "Semaphore", 943 | "type": "Publication", 944 | "link": "https://semaphoreci.com/resources/write-with-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 945 | "categories": [ 946 | "Development News", 947 | "DevSecOps", 948 | "Continuous Delivery", 949 | "Software Architecture", 950 | "Culture" 951 | ], 952 | "minRate": 100, 953 | "maxRate": 500, 954 | "description": "Submit your title idea, an outline of your article, and a writing sample that showcases your ability to explain your technical knowledge to others. Most new articles are paid out at $400. Complex tutorials may be paid out at up to $500. Updates for existing tutorials, such as new version changes, are typically paid out at $100 to $200, based on the number of changes." 955 | }, 956 | { 957 | "name": "Abstract API", 958 | "type": "Publication", 959 | "link": "https://www.abstractapi.com/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 960 | "contact": "writeforus@abstractapi.com", 961 | "description": "Technical content and tutorials related to the APIs in their catalog.\nOpen to other content promotion opportunities as well.", 962 | "maxRate": "100", 963 | "categories": [] 964 | }, 965 | { 966 | "name": "Baeldung", 967 | "type": "Publication", 968 | "link": "https://www.baeldung.com/contribution-guidelines?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 969 | "contact": "hiring@baeldung.com", 970 | "categories": ["Java", "Linux", "CS", "Kotlin", "Scala"], 971 | "description": "Baeldung is a technical site focused mainly on the Java ecosystem, but also Kotlin, Scala, Linux, and general Computer Science - with a reach of about 10M page views per month.", 972 | "minRate": "40", 973 | "maxRate": "150" 974 | }, 975 | { 976 | "name": "Strapi", 977 | "type": "Publication", 978 | "link": "https://strapi.io/write-for-the-community?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 979 | "categories": ["Front-End Development", "Back-End Development", "GraphQL"], 980 | "description": "This program is for Strapi enthusiasts, developers, and content managers who want to contribute to our tutorials and deep dives. Check for the topics in the FAQs section.", 981 | "minRate": "100", 982 | "maxRate": "350" 983 | }, 984 | { 985 | "name": "Cube.js", 986 | "type": "Publication", 987 | "link": "https://www.notion.so/Cube-js-Guest-Authors-8ddd5046be9048d9869410b60d4a2b98?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 988 | "contact": "igor@cube.dev", 989 | "categories": ["Data Science", "Analytics"], 990 | "description": "Focused on content that helps developers build analytical apps from select domains - data visualization and front-end technologies and, data engineering and back-end technologies", 991 | "maxRate": "300" 992 | }, 993 | { 994 | "name": "Invertase", 995 | "type": "Publication", 996 | "link": "https://invertase.io/authors-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 997 | "categories": [ 998 | "Dart", 999 | "Flutter", 1000 | "Firebase", 1001 | "Software Development", 1002 | "Open Source", 1003 | "Web Technologies" 1004 | ], 1005 | "description": "", 1006 | "maxRate": "250" 1007 | }, 1008 | { 1009 | "name": "SheCanCode", 1010 | "type": "Publication", 1011 | "link": "https://www.shecancode.io/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 1012 | "categories": ["Front-End Development", "Back-End Development", "Agile"], 1013 | "description": "SheCanCode's community ranges from females who are experienced candidates searching for their next role to women considering a move into a tech career for the first time. Our audience predominately consists of women working in their first or second tech roles. ", 1014 | "maxRate": "96" 1015 | }, 1016 | { 1017 | "name": "Giskard", 1018 | "type": "Publication", 1019 | "link": "https://www.giskard.ai/write-for-the-community?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 1020 | "contact": "hello@giskard.ai", 1021 | "categories": [ 1022 | "Data Science", 1023 | "Artificial Intelligence", 1024 | "Machine Learning" 1025 | ], 1026 | "description": "This program is for AI Quality experts & Giskard enthusiasts who want to share their knowledge through articles & tutorials. We are looking for writers close to our users: Data Scientists, ML Engineers, and AI Product Managers.", 1027 | "minRate": "100", 1028 | "maxRate": "400" 1029 | }, 1030 | { 1031 | "name": "Software Testing Help", 1032 | "type": "Publication", 1033 | "link": "https://www.softwaretestinghelp.com/opportunity-freelance-qa-testers/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 1034 | "contact": "info@softwaretestinghelp.com", 1035 | "categories": ["Testing"], 1036 | "description": "You can work on creating tutorials on any topic that would be helpful for QA testers and earn a handsome pay.", 1037 | "minRate": "200", 1038 | "maxRate": "600" 1039 | }, 1040 | { 1041 | "name": "Plural", 1042 | "type": "Publication", 1043 | "link": "https://www.plural.sh/blog/plurals-content-contribution-program/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 1044 | "contact": "community@plural.sh", 1045 | "categories": ["Kubernetes", "DevOps", "Open Source"], 1046 | "description": "You can write on tutorials about what you built with Plural, application-specific deployment guides, and architectural comparisons of popular DevOps and Data open-source tools against each other.", 1047 | "maxRate": "300" 1048 | }, 1049 | { 1050 | "name": "Code Maze", 1051 | "type": "Publication", 1052 | "link": "https://code-maze.com/write-for-codemaze/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 1053 | "contact": "content@code-maze.com", 1054 | "categories": ["Back-End Development"], 1055 | "description": "There are a lot of available topics to choose from such as - .NET/C# application development, ASP.NET Core web application development, Angular in combination with ASP.NET Core backend, Best practices in web development, Security, authentication, and authorization in .NET, and much more.", 1056 | "minRate": "82", 1057 | "maxRate": "135" 1058 | } 1059 | ] 1060 | -------------------------------------------------------------------------------- /src/data/outdated.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "Okteto", 4 | "type": "Publication", 5 | "link": "https://okteto.com/tech-writer/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 6 | "contact": "writers@okteto.com", 7 | "categories": ["Kubernetes"], 8 | "maxRate": 200, 9 | "description": "Focus on Kubernetes and Cloud-Native Applications, or application development and deployment with Okteto." 10 | }, 11 | { 12 | "name": "Figment", 13 | "type": "Publication", 14 | "link": "https://www.notion.so/Contributing-to-Figment-Learn-d8ff9cdc32ca4b58838d81d07eab49bd?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 15 | "categories": ["Crypto"], 16 | "minRate": 100, 17 | "maxRate": 1000, 18 | "description": "Payouts range from $100 for guides to $1000 for full-stack dApp tutorials." 19 | }, 20 | { 21 | "name": "CodeCov", 22 | "type": "Publication", 23 | "link": "https://about.codecov.io/write-for-us/?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 24 | "categories": ["DevOps", "Testing"], 25 | "maxRate": 500, 26 | "description": "" 27 | }, 28 | { 29 | "name": "Hevo", 30 | "type": "Publication", 31 | "link": "https://community.hevodata.com/write-for-hevo?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 32 | "categories": ["Data Science"], 33 | "maxRate": 100, 34 | "description": "" 35 | }, 36 | { 37 | "name": "Novu", 38 | "type": "Publication", 39 | "link": "https://handbook.novu.co/write-for-us?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 40 | "contact": "sumit@novu.co", 41 | "categories": ["Open Source", "Notifications", "Front-End Development"], 42 | "minRate": "100", 43 | "maxRate": "200", 44 | "description": "Novu is a constantly growing open-source platform that is built by developers for developers. By writing for Novu, not only can you get more attention to your content but also make some money on the side. It's a win-win!" 45 | }, 46 | { 47 | "name": "Mattermost", 48 | "type": "Publication", 49 | "link": "https://handbook.mattermost.com/contributors/contributors/ways-to-contribute/community-content-program?utm_source=referral&utm_medium=aggregator&utm_campaign=techywrite.ashutoshkrris.in", 50 | "categories": ["DevOps", "Full-Stack Development"], 51 | "minRate": 250, 52 | "maxRate": 350, 53 | "description": "The docs mention that exceptionally detailed content about prevalent technologies can earn up to $500." 54 | } 55 | ] 56 | -------------------------------------------------------------------------------- /src/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashutoshkrris/TechyWrite/5cfab28b973a1a0dcaf94fae5c962c47c03c45ff/src/favicon.png -------------------------------------------------------------------------------- /src/layouts/Default.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 61 | -------------------------------------------------------------------------------- /src/layouts/README.md: -------------------------------------------------------------------------------- 1 | Layout components are used to wrap pages and templates. Layouts should contain components like headers, footers or sidebars that will be used across the site. 2 | 3 | Learn more about Layouts: https://gridsome.org/docs/layouts/ 4 | 5 | You can delete this file. 6 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // This is the main.js file. Import global CSS and scripts here. 2 | // The Client API can be used here. Learn more: gridsome.org/docs/client-api 3 | 4 | import DefaultLayout from "~/layouts/Default.vue"; 5 | import "~/assets/style.css"; 6 | 7 | export default function(Vue, { router, head, isClient }) { 8 | // Set default layout as a global component 9 | Vue.component("Layout", DefaultLayout); 10 | 11 | // Add an external CSS file 12 | head.link.push({ 13 | rel: "stylesheet", 14 | href: 15 | "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.3.0/font/bootstrap-icons.css", 16 | }); 17 | } 18 | -------------------------------------------------------------------------------- /src/pages/About.vue: -------------------------------------------------------------------------------- 1 | 52 | 53 | 83 | -------------------------------------------------------------------------------- /src/pages/Contributors.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 50 | -------------------------------------------------------------------------------- /src/pages/Index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 103 | 104 | 214 | -------------------------------------------------------------------------------- /src/pages/NewSource.vue: -------------------------------------------------------------------------------- 1 | 18 | 19 | 51 | -------------------------------------------------------------------------------- /src/pages/README.md: -------------------------------------------------------------------------------- 1 | Pages are usually used for normal pages or for listing items from a GraphQL collection. 2 | Add .vue files here to create pages. For example **About.vue** will be **site.com/about**. 3 | Learn more about pages: https://gridsome.org/docs/pages/ 4 | 5 | You can delete this file. 6 | -------------------------------------------------------------------------------- /src/templates/README.md: -------------------------------------------------------------------------------- 1 | Templates for **GraphQL collections** should be added here. 2 | To create a template for a collection called `WordPressPost` 3 | create a file named `WordPressPost.vue` in this folder. 4 | 5 | Learn more: https://gridsome.org/docs/templates/ 6 | 7 | You can delete this file. 8 | -------------------------------------------------------------------------------- /static/README.md: -------------------------------------------------------------------------------- 1 | Add static files here. Files in this directory will be copied directly to `dist` folder during build. For example, /static/robots.txt will be located at https://yoursite.com/robots.txt. 2 | 3 | This file should be deleted. -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | const defaultTheme = require("tailwindcss/defaultTheme"); 2 | 3 | /** @type {import('tailwindcss').Config} */ 4 | module.exports = { 5 | content: ["./src/**/*.vue"], 6 | theme: { 7 | extend: { 8 | fontFamily: { 9 | sans: ['"Inter var"', ...defaultTheme.fontFamily.sans], 10 | }, 11 | colors: { 12 | manga: "#E5E1E6", 13 | void: "#170F1E", 14 | spark: "#FFE270", 15 | surf: "#64E3FF", 16 | psybeam: "#9092FF", 17 | giga: "#B4FF39", 18 | turquoise: "#40DDFF ", 19 | }, 20 | }, 21 | }, 22 | }; 23 | --------------------------------------------------------------------------------