Skip to content

Commit

Permalink
Migrate components including ApiLink for the Documentation content (#…
Browse files Browse the repository at this point in the history
…6120)

Motivation:

- Background: #6098
- I am starting the migration with the Documentation menu, as its
content is the least dynamic.

Modifications:

- Implement remark plugin for api link.
- Implement `AspectRatio`, `ApiLink` components.
- Use the built-in `CodeBlock` component and add language support.
- Register components to global scope to use them in every MDX file
without importing.
- Add a CLI option for not opening the browser on start.
- Remove auto generated initial docs.

Result:

- Api link syntax in MDX has changed from `<type://RequestContext>` to
`[RequestContext](type)`. See
[`site-new/docs/api-link-test.mdx`](https://github.com/line/armeria/pull/6120/files#diff-d5c8d81e39c3c962d2a78ba84c7624842e1826c8c3e751eacb9c792cf62b51dd)
for usages. I made this change because the old syntax is no longer
allowed in MDX v3. (See [MDX
docs](https://mdxjs.com/docs/troubleshooting-mdx/#unexpected-character-at-expected-expect))

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Meri Kim <[email protected]>
  • Loading branch information
3 people authored Feb 26, 2025
1 parent 4fc19f8 commit f754613
Show file tree
Hide file tree
Showing 30 changed files with 22,123 additions and 559 deletions.
24 changes: 24 additions & 0 deletions site-new/docs/api-link-test.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
sidebar_position: 3
---

# API Link Samples

## Type

- [RequestContext](type)
- [@Get](type)
- [@Post](type)

## Type with expressions

- [RequestContext#attrs()](type):
- [RequestContext#attr(AttributeKey)](type):
- [WebClient#execute(HttpRequest,RequestOptions)?full](type)

## Type on title: [WebClientRequestPreparation](type)

## Plural

- [Request](typeplural)
- [AccessLogWriter](typeplural)
83 changes: 83 additions & 0 deletions site-new/docs/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
sidebar_position: 1
---

# User manual

## What is Armeria?

_Armeria_ is your go-to microservice framework for any situation. You can build any type of
microservice leveraging your favorite technologies, including [gRPC](https://grpc.io/),
[Thrift](https://thrift.apache.org/), [Kotlin](https://kotlinlang.org/),
[Retrofit](https://square.github.io/retrofit/), [Reactive Streams](https://www.reactive-streams.org/),
[Spring Boot](https://spring.io/projects/spring-boot) and [Dropwizard](https://www.dropwizard.io/).

It is open-sourced by the creator of [Netty](https://netty.io/) and his colleagues at
[LY Corporation](https://techblog.lycorp.co.jp/en).

## Want a quick tour?

Check out the recent introductory talk
([slides](https://speakerdeck.com/trustin/armeria-a-microservice-framework-well-suited-everywhere)):

<AspectRatio width={16} height={9} maxWidth="21rem">
<iframe
src="https://www.youtube.com/embed/Vr-0GKUmzo8"
style={{ border: 'none' }}
allowfullscreen
/>
</AspectRatio>

## Features

### HTTP/2

- Supports HTTP/2 on both TLS and cleartext connections
- Supports protocol upgrade via both HTTP/2 connection preface and traditional HTTP/1 upgrade request
- Fully compatible with existing HTTP/1 servers
- Integrated PROXY protocol support for interoperability with load balancers such as HAProxy and AWS ELB.

### Integration with gRPC and Thrift

- Your gRPC or Thrift service implementation runs on top of Armeria without any modification.
- Works with the official gRPC or Thrift-over-HTTP client
- Works with the code generated by the official Protobuf or Thrift IDL compiler
- Supports various protocol combinations, such as:
- gRPC-over-HTTP/1 & 2
- Thrift-over-HTTP/1 & 2
- gRPC-Web
- See [Running a Thrift service](/docs/server-thrift) and [Running a gRPC service](/docs/server-grpc).

### Essential features for building microservices

- Metrics
- Circuit breaker
- Client-side health-check and load-balancing
- Service discovery from various sources such as DNS and ZooKeeper
- See [Client-side load balancing and service discovery](/docs/client-service-discovery).
- Distributed call tracing via Zipkin

### Interactive web-based debug console

- Browse the list of available RPC operations
- Invoke an RPC operation via a web form
- Share an RPC request with your colleagues so they can reproduce the problem easily
- Just like sharing a cURL command, but works for RPC
- See [Browsing and invoking services with DocService](/docs/server-docservice).

### Completely asynchronous and reactive

- Built on top of Reactive Streams and Java 8 CompletableFuture
- Asynchronous connection pool ensures your application never blocks even on pool exhaustion.
- Domain name lookups are also fully asynchronous thanks to Netty’s asynchronous domain name resolver.

### Compatibility with existing Java EE web applications

- Runs any Java EE web applications such as Spring Boot on the same TCP/IP port
- Your Java EE web application speaks HTTP/2!
- See [Embedding a servlet container](/docs/server-servlet).

### Even higher performance on Linux

- JNI-based socket I/O
- BoringSSL-based TLS connections
47 changes: 0 additions & 47 deletions site-new/docs/intro.md

This file was deleted.

Loading

0 comments on commit f754613

Please sign in to comment.