wip: migrate authors

feat/collection
Arik Chakma 2 months ago
parent 0998196593
commit cd453e5ad0
  1. 2071
      .astro/astro/content.d.ts
  2. 1
      .astro/types.d.ts
  3. 2
      src/components/GuideListItem.astro
  4. 23
      src/content/author.ts
  5. 8
      src/content/authors/ebrahim-bharmal.md
  6. 13
      src/content/authors/ekene.md
  7. 11
      src/content/authors/fernando.md
  8. 9
      src/content/authors/jesse-li.md
  9. 16
      src/content/authors/kamran.md
  10. 9
      src/content/authors/peter-thaleikis.md
  11. 12
      src/content/authors/william.md
  12. 9
      src/content/config.ts
  13. 25
      src/content/guide.ts
  14. 0
      src/content/guides/asymptotic-notation.md
  15. 0
      src/content/guides/avoid-render-blocking-javascript-with-async-defer.md
  16. 0
      src/content/guides/backend-developer-skills.md
  17. 0
      src/content/guides/backend-developer-tools.md
  18. 0
      src/content/guides/backend-languages.md
  19. 0
      src/content/guides/backend-project-ideas.md
  20. 0
      src/content/guides/backend-technologies.md
  21. 0
      src/content/guides/basic-authentication.md
  22. 0
      src/content/guides/basics-of-authentication.md
  23. 0
      src/content/guides/big-o-notation.md
  24. 0
      src/content/guides/character-encodings.md
  25. 0
      src/content/guides/ci-cd.md
  26. 0
      src/content/guides/consistency-patterns-in-distributed-systems.md
  27. 0
      src/content/guides/design-patterns-for-humans.md
  28. 0
      src/content/guides/devops-career-path.md
  29. 0
      src/content/guides/devops-engineer.md
  30. 0
      src/content/guides/devops-skills.md
  31. 0
      src/content/guides/devops-vs-sre.md
  32. 0
      src/content/guides/dhcp-in-one-picture.md
  33. 0
      src/content/guides/dns-in-one-picture.md
  34. 0
      src/content/guides/free-resources-to-learn-llms.md
  35. 0
      src/content/guides/frontend-developer-skills.md
  36. 0
      src/content/guides/frontend-languages.md
  37. 0
      src/content/guides/full-stack-developer-skills.md
  38. 0
      src/content/guides/full-stack-vs-software-engineer.md
  39. 0
      src/content/guides/history-of-javascript.md
  40. 0
      src/content/guides/how-to-become-devops-engineer.md
  41. 0
      src/content/guides/how-to-become-frontend-developer.md
  42. 0
      src/content/guides/how-to-setup-a-jump-server.md
  43. 0
      src/content/guides/http-basic-authentication.md
  44. 0
      src/content/guides/http-caching.md
  45. 0
      src/content/guides/introduction-to-llms.md
  46. 0
      src/content/guides/java-developer-skills.md
  47. 0
      src/content/guides/journey-to-http2.md
  48. 0
      src/content/guides/jwt-authentication.md
  49. 0
      src/content/guides/levels-of-seniority.md
  50. 0
      src/content/guides/oauth.md
  51. 0
      src/content/guides/proxy-servers.md
  52. 0
      src/content/guides/random-numbers.md
  53. 0
      src/content/guides/scaling-databases.md
  54. 0
      src/content/guides/session-authentication.md
  55. 0
      src/content/guides/session-based-authentication.md
  56. 0
      src/content/guides/setup-and-auto-renew-ssl-certificates.md
  57. 0
      src/content/guides/single-command-database-setup.md
  58. 0
      src/content/guides/ssl-tls-https-ssh.md
  59. 0
      src/content/guides/sso.md
  60. 0
      src/content/guides/token-authentication.md
  61. 0
      src/content/guides/torrent-client.md
  62. 0
      src/content/guides/unfamiliar-codebase.md
  63. 0
      src/content/guides/what-are-web-vitals.md
  64. 0
      src/content/guides/what-is-internet.md
  65. 0
      src/content/guides/what-is-sli-slo-sla.md
  66. 0
      src/content/guides/why-build-it-and-they-will-come-wont-work-anymore.md
  67. 32
      src/content/question-group.ts
  68. 0
      src/content/question-groups/backend/backend.md
  69. 0
      src/content/question-groups/backend/content/anomaly-detection.md
  70. 0
      src/content/question-groups/backend/content/api-dependencies.md
  71. 0
      src/content/question-groups/backend/content/api-endpoint.md
  72. 0
      src/content/question-groups/backend/content/api-tests.md
  73. 0
      src/content/question-groups/backend/content/api-versioning.md
  74. 0
      src/content/question-groups/backend/content/batch-processing.md
  75. 0
      src/content/question-groups/backend/content/benefits-drawbacks-microservices.md
  76. 0
      src/content/question-groups/backend/content/bg-tasks.md
  77. 0
      src/content/question-groups/backend/content/blue-green-deployment.md
  78. 0
      src/content/question-groups/backend/content/cache-eviction.md
  79. 0
      src/content/question-groups/backend/content/cap-theorem.md
  80. 0
      src/content/question-groups/backend/content/ci-cd.md
  81. 0
      src/content/question-groups/backend/content/containerization.md
  82. 0
      src/content/question-groups/backend/content/correlation-ids.md
  83. 0
      src/content/question-groups/backend/content/data-encryption.md
  84. 0
      src/content/question-groups/backend/content/db-connections.md
  85. 0
      src/content/question-groups/backend/content/deadlock-db-transaction.md
  86. 0
      src/content/question-groups/backend/content/debugging-backend.md
  87. 0
      src/content/question-groups/backend/content/decompose-microservices.md
  88. 0
      src/content/question-groups/backend/content/distributed-caching.md
  89. 0
      src/content/question-groups/backend/content/eventual-consistency.md
  90. 0
      src/content/question-groups/backend/content/fault-tolerance.md
  91. 0
      src/content/question-groups/backend/content/file-uploads.md
  92. 0
      src/content/question-groups/backend/content/fulltext-search.md
  93. 0
      src/content/question-groups/backend/content/gdpr-compliance.md
  94. 0
      src/content/question-groups/backend/content/high-available-storage.md
  95. 0
      src/content/question-groups/backend/content/http-request-response-cycle.md
  96. 0
      src/content/question-groups/backend/content/idempotency.md
  97. 0
      src/content/question-groups/backend/content/instrument-monitor.md
  98. 0
      src/content/question-groups/backend/content/iot-streams.md
  99. 0
      src/content/question-groups/backend/content/load-balanced-session.md
  100. 0
      src/content/question-groups/backend/content/load-testing-api.md
  101. Some files were not shown because too many files have changed in this diff Show More

File diff suppressed because it is too large Load Diff

1
.astro/types.d.ts vendored

@ -1 +1,2 @@
/// <reference types="astro/client" />
/// <reference path="astro/content.d.ts" />

@ -14,7 +14,7 @@ function isQuestionGroupType(
}
const { guide } = Astro.props;
const { frontmatter, id } = guide;
const { data, id } = guide;
let pageUrl = '';
let guideType = '';

@ -0,0 +1,23 @@
import { defineCollection, z } from 'astro:content';
export const authorCollection = defineCollection({
type: 'content',
schema: z.object({
name: z.string(),
imageUrl: z.string(),
employment: z
.object({
title: z.string(),
company: z.string(),
})
.optional(),
social: z
.object({
linkedin: z.string().optional(),
twitter: z.string().optional(),
github: z.string().optional(),
website: z.string().optional(),
})
.optional(),
}),
});

@ -0,0 +1,8 @@
---
name: 'Ebrahim Bharmal'
imageUrl: '/authors/ebrahimbharmal007.png'
social:
twitter: 'https://twitter.com/BharmalEbrahim'
---
Full-stack developer interested in all things web development.

@ -0,0 +1,13 @@
---
name: 'Ekene Eze'
imageUrl: '/authors/ekene-eze.jpg'
employment:
title: 'Author'
company: 'roadmap.sh'
social:
linkedin: 'https://www.linkedin.com/in/ekeneeze/'
twitter: 'https://x.com/kenny_io'
website: 'https://kenny.engineer/'
---
Kenny is a Software Engineer and Developer Advocate with over 5 years experience working in DevRel across different functions. Recently as a Senior Developer Experience Engineer at Netlify and leading DevRel teams in others.

@ -0,0 +1,11 @@
---
name: 'Fernando Doglio'
imageUrl: '/authors/fernando.jpeg'
social:
twitter: 'https://twitter.com/deleteman123'
linkedin: 'https://www.linkedin.com/in/fernandodoglio'
---
With two decades of experience in Software Development, Fernando Doglio excels in diverse languages like Ruby, Perl, PHP, Python, and JavaScript. He's led teams in crafting scalable architectures for both in-house and cloud infrastructures.
An author of 8 technical books and over 250 articles, Fernando's current role as a Dev Advocate allows him to blend his passion for coding with content creation, enhancing developer experiences with products through engaging outreach.

@ -0,0 +1,9 @@
---
name: 'Jesse Li'
imageUrl: '/authors/jesse.png'
social:
twitter: 'https://twitter.com/__jesse_li'
github: 'https://github.com/veggiedefender'
---
Jesse has made several [interesting open-source projects](https://github.com/veggiedefender) and wrote some interesting [articles on his blog](https://blog.jse.li/) including the one he wrote on roadmap.sh.

@ -0,0 +1,16 @@
---
name: 'Kamran Ahmed'
imageUrl: '/authors/kamran.jpeg'
employment:
title: 'Founder'
company: 'roadmap.sh'
social:
linkedin: 'https://www.linkedin.com/in/kamrify'
twitter: 'https://twitter.com/kamrify'
github: 'https://github.com/kamranahmedse'
website: 'https://kamranahmed.info'
---
Kamran is the founder of **roadmap.sh**. He has a decade long experience working mostly with startups and scale-ups. Over the years, he has worked with a variety of technologies in a variety of domains and have worn several different hats. He is working full time on roadmap.sh at the moment.
He is also a Google Developer Expert and a GitHub Star. He is a huge proponent of open-source, and has authored several popular open-source projects. He is [the second most starred developer](https://twitter.com/kamrify/status/1750345095587754382) on GitHub globally.

@ -0,0 +1,9 @@
---
name: 'Peter Thaleikis'
imageUrl: '/authors/peter-thaleikis.png'
social:
twitter: 'https://twitter.com/spekulatius1984'
website: 'https://peterthaleikis.com/'
---
Peter Thaleikis a software engineer and business owner. He has been developing web applications since around 2000. Before he started his own software development company [Bring Your Own Ideas Ltd.](https://bringyourownideas.com/), he has been a Lead Developer for multiple organizations.

@ -0,0 +1,12 @@
---
name: 'William Imoh'
imageUrl: '/authors/william-imoh.jpg'
employment:
title: 'Author'
company: 'roadmap.sh'
social:
linkedin: 'https://www.linkedin.com/in/william-imoh/'
twitter: 'https://x.com/iChuloo'
---
William is a Software Engineer, Developer Advocate and Product Manager turned Entrepreneur. He leads the team at **Hackmamba** and occasionally talks about building performant web experiences.

@ -0,0 +1,9 @@
import { authorCollection } from './author';
import { guideCollection } from './guide';
import { questionGroupCollection } from './question-group';
export const collections = {
authors: authorCollection,
guides: guideCollection,
'question-groups': questionGroupCollection,
};

@ -0,0 +1,25 @@
import { defineCollection, z } from 'astro:content';
export const guideCollection = defineCollection({
type: 'content',
schema: z.object({
title: z.string(),
description: z.string(),
authorId: z.string(),
canonicalUrl: z.string().optional(),
excludedBySlug: z.string().optional(),
seo: z.object({
title: z.string(),
description: z.string(),
ogImageUrl: z.string().optional(),
}),
isNew: z.boolean(),
type: z.enum(['visual', 'textual']),
date: z.date(),
sitemap: z.object({
priority: z.number(),
changefreq: z.enum(['daily', 'weekly', 'monthly', 'yearly']),
}),
tags: z.array(z.string()).optional(),
}),
});

@ -0,0 +1,32 @@
import { defineCollection, z } from 'astro:content';
export const questionGroupCollection = defineCollection({
type: 'content',
schema: z.object({
order: z.number(),
briefTitle: z.string(),
briefDescription: z.string(),
title: z.string(),
description: z.string(),
isNew: z.boolean(),
authorId: z.string().optional(),
date: z.string().optional(),
seo: z.object({
title: z.string(),
description: z.string(),
ogImageUrl: z.string().optional(),
keywords: z.array(z.string()),
}),
sitemap: z.object({
priority: z.number(),
changefreq: z.string(),
}),
questions: z.array(
z.object({
question: z.string(),
answer: z.string(),
topics: z.array(z.string()),
}),
),
}),
});

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save