/** * Query the full article data using its slug. */ export const articleBySlugQuery = `query PostBy($slug: ID!) { post(id: $slug, idType: SLUG) { acfPosts { postsInThematic { ... on Thematic { databaseId slug title } } postsInTopic { ... on Topic { databaseId featuredImage { node { altText mediaDetails { height width } sourceUrl title } } slug title } } } author { node { gravatarUrl name url } } commentCount contentParts { afterMore beforeMore } databaseId date featuredImage { node { altText mediaDetails { height width } sourceUrl title } } info { wordsCount } modified seo { metaDesc title } slug title } }`; /** * Query an array of partial articles. */ export const articlesQuery = `query Articles($after: String = "", $first: Int = 10, $search: String = "") { posts( after: $after first: $first where: {orderby: {field: DATE, order: DESC}, search: $search, status: PUBLISH} ) { edges { cursor node { acfPosts { postsInThematic { ... on Thematic { databaseId slug title } } } commentCount contentParts { beforeMore } databaseId date featuredImage { node { altText mediaDetails { height width } sourceUrl title } } info { wordsCount } modified slug title } } pageInfo { endCursor hasNextPage total } } }`; /** * Query an array of articles with only the minimal data. */ export const articlesCardQuery = `query ArticlesCard($first: Int = 10) { posts( first: $first where: {orderby: {field: DATE, order: DESC}, status: PUBLISH} ) { nodes { databaseId date featuredImage { node { altText mediaDetails { height width } sourceUrl title } } slug title } } }`; /** * Query an array of articles slug. */ export const articlesSlugQuery = `query ArticlesSlug($first: Int = 10, $after: String = "") { posts(after: $after, first: $first) { edges { cursor node { slug } } pageInfo { total } } }`; /** * Query the total number of articles. */ export const totalArticlesQuery = `query PostsTotal($search: String = "") { posts(where: {search: $search}) { pageInfo { total } } }`; /** * Query the end cursor based on the queried posts number. */ export const articlesEndCursorQuery = `query EndCursorAfter($first: Int) { posts(first: $first) { pageInfo { hasNextPage endCursor } } }`; )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104