Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: Publish blogs automatically from github to hashnode #307

Closed
3 changes: 3 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
HASH_NODE_API_KEY="d*****************"
HASH_NODE_ENDPOINT="https://gql.hashnode.com/"
HASH_NODE_PUBLICATION_ID="6**************"
32 changes: 32 additions & 0 deletions .github/workflows/hash-node-publisher.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy to Hashnode

on:
pull_request:
types: [closed]
branches:
- develop

jobs:
deploy:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "20"
- name: Install dependencies
run: npm install

- name: Run script the hashnode publisher script
run: |
node hashnode/scripts.js
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HASH_NODE_API_KEY: ${{ secrets.HASH_NODE_API_KEY }}
HASH_NODE_PUBLICATION_ID: ${{ secrets.HASH_NODE_PUBLICATION_ID }}
HASH_NODE_ENDPOINT: ${{ secrets.HASH_NODE_ENDPOINT }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
.env.development.local
.env.test.local
.env.production.local
.env

npm-debug.log*
yarn-debug.log*
Expand Down
3 changes: 2 additions & 1 deletion docs/N+1.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ title: Solving GraphQL N+1 Problem with Tailcall
description: Master the GraphQL N+1 problem and learn detection and solutions to enhance API efficiency.
slug: graphql-n-plus-one-problem-solved-tailcall
sidebar_label: N+1 Identification
image: /images/docs/n+1-issue.png
image: ../static/images/docs/n+1-issue.png
publish: true
---

<head>
Expand Down
1 change: 1 addition & 0 deletions docs/apollo-studio.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Integrating Tailcall with Apollo Studio
description: "Enhance your GraphQL server's efficiency by integrating Tailcall with Apollo Studio using our concise guide. Learn how to configure Tailcall to send vital usage metrics to Apollo Studio for advanced performance monitoring and optimization. Whether you're establishing a Monolith graph or improving an existing one, our instructions facilitate seamless integration. Set up for better insights and leverage Apollo Studio's features for a more responsive GraphQL server. Start optimizing today with our straightforward steps and explore Apollo Studio's free trial for new users."
slug: integrate-apollo-studio-graphql-tailcall
sidebar_label: Apollo Studio
publish: true
---

This guide illustrates how to configure `tailcall` to send usage metrics to [Apollo Studio](https://studio.apollographql.com).
Expand Down
1 change: 1 addition & 0 deletions docs/auth.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Field Level GraphQL Authentication
description: "Discover how to provide granular access to types and fields in your GraphQL schema using authentication providers. Our guide helps you enhance security and control by configuring precise access levels within your GraphQL server. Start implementing advanced access control measures today."
slug: field-level-access-control-graphql-authentication
sidebar_label: Authentication
publish: true
---

This guide will walk you through entity level authentication in GraphQL and how it could be achieved with Tailcall.
Expand Down
1 change: 1 addition & 0 deletions docs/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ sidebar_position: 3
description: "Discover the TailCall CLI, a crucial tool for developers to manage and optimize GraphQL configurations from the command line. Learn commands like 'check', 'start', 'init', and 'gen' to validate specs, launch servers, bootstrap projects, and generate configurations. Detect N+1 issues, display schemas, format inputs, and more. Simplify GraphQL composition and enhance your development workflow with TailCall CLI."
slug: tailcall-graphql-cli
sidebar_label: Command Line
publish: true
---

import Tabs from "@theme/Tabs"
Expand Down
1 change: 1 addition & 0 deletions docs/client-tuning.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Optimizing Performance of your GraphQL Server
description: "Learn how to tune your client for optimal performance. Our guide provides essential tips and techniques to enhance responsiveness and efficiency in your applications. Start optimizing your client today for a faster, smoother user experience."
slug: graphql-client-performance-tuning
sidebar_label: Performance Tuning
publish: true
---

### HTTP (Hypertext Transfer Protocol)
Expand Down
1 change: 1 addition & 0 deletions docs/context.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: GraphQL Resolver Context
description: "Explore Tailcall's dynamic Context mechanism for schema field resolution, enabling access to arguments, values, and environment variables for efficient GraphQL queries. Enhance your query handling with Tailcall's advanced Context features for optimized schema field resolution."
slug: graphql-resolver-context-tailcall
sidebar_label: Resolver Context
publish: true
---

Within Tailcall, `Context` is a pivotal component that allows for dynamic retrieval of values during the resolution of fields for a given type within the schema.
Expand Down
1 change: 1 addition & 0 deletions docs/data-dog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Data Dog Telemetry Integration
description: "Discover how to enhance application performance with our guide on enabling and analyzing telemetry data in Tailcall. Learn to configure observability support using OpenTelemetry for insights into logs, metrics, and traces, with practical integration examples for platforms like Honeycomb.io, New Relic, and Datadog."
slug: graphql-data-dog-telemetry-tailcall
sidebar_label: Data Dog
publish: true
---

This guide is based on the [official doc](https://docs.datadoghq.com/getting_started/opentelemetry/?s=header#exploring-observability-data-in-datadog).
Expand Down
1 change: 1 addition & 0 deletions docs/directives.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ description: Enhance your GraphQL API with Tailcall DSL's custom directives. The
slug: tailcall-dsl-graphql-custom-directives
sidebar_label: Configuration
sidebar_position: 5
publish: true
---

Tailcall DSL builds on your existing GraphQL knowledge by allowing the addition of some custom directives. These directives provide powerful compile time guarantees to ensure your API composition is tight and robust. Tailcall automatically generates highly optimized resolver logic for your types using the information in the directives.
Expand Down
1 change: 1 addition & 0 deletions docs/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Reading Environment Variables
description: "Learn how to effectively manage environment variables in your Tailcall GraphQL schema, enhancing security and flexibility in your application configuration. This guide explores the need for environment variables, their implementation in Tailcall schemas, and best practices for security and management."
slug: graphql-environment-variables
sidebar_label: Environment Variables
publish: true
---

Environment variables are key-value pairs stored in our operating systems. Most of them come by default, and we can also create our own. They store information used by our operating system or other programs. For example, the `PATH` variable stores a list of directories the operating system searches when we run a command in the terminal. The `HOME` variable stores the path to our home directory.
Expand Down
1 change: 1 addition & 0 deletions docs/execution-strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: Sequencing & Parallelism
description: "Tailcall revolutionizes data access layer development by automating API call orchestration, ensuring optimal execution strategies through advanced sequencing and parallelism techniques."
slug: graphql-data-access-parallel-vs-sequence
sidebar_label: Sequence vs Parallel
publish: true
---

Building data access layers often involves meticulous orchestration of API calls, but Tailcall simplifies this process. By analyzing your defined schema, it automatically determines the optimal execution strategy, deciding when to sequence calls and when to run them in parallel. This allows you to focus on your core application logic, while Tailcall handles the optimization seamlessly. Now, let's get into some real-world examples to illustrate its functionality.
Expand Down
3 changes: 2 additions & 1 deletion docs/grpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ title: "Step-by-Step Tutorial: Building GraphQL over gRPC"
sidebar_label: "GraphQL on gRPC"
description: "Learn how gRPC and GraphQL boost microservices. Discover their benefits and how they work together for better APIs."
slug: graphql-grpc-tailcall
image: /images/docs/graphql_on_grpc.png
image: ../static/images/docs/graphql_on_grpc.png
publish: true
---

<head>
Expand Down
3 changes: 2 additions & 1 deletion docs/playground.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: GraphQL Playground
description: "Explore and test server configurations with the @server directive's showcase feature in a controlled environment. Ideal for quick experimentation and learning with dynamic GraphQL schema configurations. Not recommended for production due to performance and security considerations."
slug: graphql-playground-guide
sidebar_label: GraphQL Playground
publish: true
---

The `@server` directive's `showcase` option allows for hands-on experimentation with server configurations in a controlled environment. This feature simplifies the process of exploring and testing different settings. This enables experimenting with random configurations hosted, without the need to restart the server or affect existing setups.
Expand Down Expand Up @@ -30,7 +31,7 @@ type Query {

To test it out, append `/showcase/graphql?config=YOUR_CONFIG_URL` to your GraphQL base URL when querying the data.

![Showcase](/images/docs/showcase.png)
![Showcase](../static/images/docs/showcase.png)

The above example shows loading a schema file from Tailcall's Github repository [examples](https://github.com/tailcallhq/tailcall/tree/main/examples) and querying it.

Expand Down
1 change: 1 addition & 0 deletions graphql/queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ sidebar_label: "Queries"
description: "Unlock the full potential of GraphQL by mastering queries. Learn how to fetch data efficiently with detailed examples and best practices."
slug: graphql-queries
image: /images/graphql/graphql-queries.png
publish: true
---

## Introduction to GraphQL Queries
Expand Down
Loading