diff --git a/.changeset/lazy-bobcats-leave.md b/.changeset/lazy-bobcats-leave.md new file mode 100644 index 0000000..c3ffc92 --- /dev/null +++ b/.changeset/lazy-bobcats-leave.md @@ -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 diff --git a/package/src/hn-gql/client.ts b/package/src/hn-gql/client.ts index 893b1fb..d7ba74a 100644 --- a/package/src/hn-gql/client.ts +++ b/package/src/hn-gql/client.ts @@ -6,13 +6,23 @@ export const getClient = () => { 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 () => { const client = getClient(); const allPosts = await client.request( gql` query allPosts { - publication(host: "${config.hashnodeURL}") { + publication(host: "${newURL}") { title posts(first: 20) { pageInfo{ @@ -56,7 +66,7 @@ export const getPost = async (slug: string) => { const data = await client.request( gql` query postDetails($slug: String!) { - publication(host: "${config.hashnodeURL}") { + publication(host: "${newURL}") { post(slug: $slug) { author{ name @@ -92,7 +102,7 @@ export const getAboutPage = async () => { const page = await client.request( gql` query pageData { - publication(host: "${config.hashnodeURL}") { + publication(host: "${newURL}") { staticPage(slug: "about") { title content { @@ -114,7 +124,7 @@ export const getPublication = async () => { const data = await client.request( gql` query pubData { - publication(host: "${config.hashnodeURL}") { + publication(host: "${newURL}") { title displayTitle descriptionSEO