Skip to content

Latest commit

 

History

History
108 lines (73 loc) · 4.63 KB

README.md

File metadata and controls

108 lines (73 loc) · 4.63 KB

This blog is an Angular single page application, which builds a static web site based on content created using markdown.

Build locally

Prerequisites

  • NodeJS 20+
  • NPM 10+

If you have nvm installed, just run nvm use

Installation

Run the followig commands to install and run the application:

  $ npm ci
  $ npm run build:utils
  $ npm start

Creating content

Create blog post

To create a new post, run the following command to scaffold the structure:

  $ npm run posts:new

This will prompt some questions to prefill the data of your post – don't worry, you can edit it later.

Once scaffolded, you can edit your post in content/posts/unpublished/{title}

Be aware:

  • Date will be set at the moment you merge your PR, so keep it unpublished
  • Changes to the post metadata – header of markdown – requires a rebuild: npm run posts:update or server restart (npm start)

For guidelines on writing your post, please check the next section

Create a meetup post

First, run this command to prepare the scaffolder:

npm run premeetup:new

Now you are ready to run this command to create new meetup post:

npm run meetup:new

Example question during the process:

? What's the title of the post? Some new meetup
? Enter a short description to display on the landing page January 26, 2023 | Backbase office | AI, OpenAI
? Enter some keywords related to your post (comma-separated) krakow, meetup, AI, OpenAI
? In which of these categories your post fits best? meetups

The category is always fixed to meetups. The author is always fixed to Backbase Meetups

There will be two files created. You can fill the post.md with you content and replace placeholder.webp with your image.

CREATE content/posts/meetups/some-new-meetup/post.md (499 bytes)
CREATE content/posts/meetups/some-new-meetup/assets/placeholder.webp (25720 bytes)

The blog is served at http://localhost:4200

Publishing an article

Content

Welcome to our official technology blog. The idea is to share with the Community about our technology challenges. A blog post in an engineering blog should show readers what in-house engineering teams are actually working on. Engineering posts help peers understand what a particular individual or team within a much larger organization actually works on, keeping sales and marketing to an absolute minimum. These posts tell us about an engineering team’s philosophy as well as their stack.

They should be educational. Well-written blog posts offer unique perspectives and different solutions to old problems. They help the reader learn about a specific topic and technology, and walk readers through how that topic/technology is applied to help the team work through a challenge. Readers should learn something new.

Regardless of the topic, the first question to ask yourself is, "Why should a reader care?" Readers don't just want to look at a blog post and say, "Cool, Company X did this thing...." and that's it. At the very least, they want to understand:

  • Why was this approach taken?
  • What went into deciding on that approach?
  • What is this [topic/software/etc] that was chosen and why?
  • What lessons came out of it?

Engineering blog posts are not just about "show and tell"; they're how our engineering teams shares knowledge with peers across the wider tech community. And engineering blog posts provide value to the engineers writing them; they increase an engineer's profile and they give the engineer the chance to share what they've worked on. Also, they're a great way of attracting new candidates ;-)

Do you have an interesting topic to share but it's not technical? we have a place for that too, please check: https://medium.com/backbase

Linting your posts

We use Google Style Guide and write-good to provide consistent writing style.

The linting tool is Vale and you can run it locally by following the installation and running the following command.

$ vale --glob='*.md' --minAlertLevel=warning .

For more information, check the usage docs