feat: Not able to pull publication title from Hashnode (#22)

Co-authored-by: create-issue-branch[bot] <53036503+create-issue-branch[bot]@users.noreply.github.com>
Co-authored-by: Adam Matthiesen <amatthiesen@outlook.com>
This commit is contained in:
create-issue-branch[bot] 2024-03-15 14:25:49 -07:00 committed by GitHub
parent cf327f266f
commit e54bfbbfd2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 4 deletions

View File

@ -0,0 +1,5 @@
---
"@matthiesenxyz/astro-hashnode": patch
---
[Internal] better handling of the `hashnodeURL` input to verify that including `http` or `https` in the URL does not break the entire integration

View File

@ -6,13 +6,23 @@ export const getClient = () => {
return new GraphQLClient("https://gql.hashnode.com") return new GraphQLClient("https://gql.hashnode.com")
} }
export function removeHTTPSProtocol(url: string) {
return url.replace(/^https?:\/\//, '');
}
export function removeHTTPProtocol(url: string) {
const fixHTTPS = removeHTTPSProtocol(url);
return fixHTTPS.replace(/^http?:\/\//, '');
}
const newURL = removeHTTPProtocol(config.hashnodeURL);
export const getAllPosts = async () => { export const getAllPosts = async () => {
const client = getClient(); const client = getClient();
const allPosts = await client.request<AllPostsData>( const allPosts = await client.request<AllPostsData>(
gql` gql`
query allPosts { query allPosts {
publication(host: "${config.hashnodeURL}") { publication(host: "${newURL}") {
title title
posts(first: 20) { posts(first: 20) {
pageInfo{ pageInfo{
@ -56,7 +66,7 @@ export const getPost = async (slug: string) => {
const data = await client.request<PostOrPageData>( const data = await client.request<PostOrPageData>(
gql` gql`
query postDetails($slug: String!) { query postDetails($slug: String!) {
publication(host: "${config.hashnodeURL}") { publication(host: "${newURL}") {
post(slug: $slug) { post(slug: $slug) {
author{ author{
name name
@ -92,7 +102,7 @@ export const getAboutPage = async () => {
const page = await client.request<PostOrPageData>( const page = await client.request<PostOrPageData>(
gql` gql`
query pageData { query pageData {
publication(host: "${config.hashnodeURL}") { publication(host: "${newURL}") {
staticPage(slug: "about") { staticPage(slug: "about") {
title title
content { content {
@ -114,7 +124,7 @@ export const getPublication = async () => {
const data = await client.request<PublicationData>( const data = await client.request<PublicationData>(
gql` gql`
query pubData { query pubData {
publication(host: "${config.hashnodeURL}") { publication(host: "${newURL}") {
title title
displayTitle displayTitle
descriptionSEO descriptionSEO