Skip to content

Commit f754613

Browse files
haneeparkgithub-actions[bot]armerian
authored
Migrate components including ApiLink for the Documentation content (#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 <dl_armeria@linecorp.com>
1 parent 4fc19f8 commit f754613

30 files changed

+22123
-559
lines changed

site-new/docs/api-link-test.mdx

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
sidebar_position: 3
3+
---
4+
5+
# API Link Samples
6+
7+
## Type
8+
9+
- [RequestContext](type)
10+
- [@Get](type)
11+
- [@Post](type)
12+
13+
## Type with expressions
14+
15+
- [RequestContext#attrs()](type):
16+
- [RequestContext#attr(AttributeKey)](type):
17+
- [WebClient#execute(HttpRequest,RequestOptions)?full](type)
18+
19+
## Type on title: [WebClientRequestPreparation](type)
20+
21+
## Plural
22+
23+
- [Request](typeplural)
24+
- [AccessLogWriter](typeplural)

site-new/docs/index.mdx

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
sidebar_position: 1
3+
---
4+
5+
# User manual
6+
7+
## What is Armeria?
8+
9+
_Armeria_ is your go-to microservice framework for any situation. You can build any type of
10+
microservice leveraging your favorite technologies, including [gRPC](https://grpc.io/),
11+
[Thrift](https://thrift.apache.org/), [Kotlin](https://kotlinlang.org/),
12+
[Retrofit](https://square.github.io/retrofit/), [Reactive Streams](https://www.reactive-streams.org/),
13+
[Spring Boot](https://spring.io/projects/spring-boot) and [Dropwizard](https://www.dropwizard.io/).
14+
15+
It is open-sourced by the creator of [Netty](https://netty.io/) and his colleagues at
16+
[LY Corporation](https://techblog.lycorp.co.jp/en).
17+
18+
## Want a quick tour?
19+
20+
Check out the recent introductory talk
21+
([slides](https://speakerdeck.com/trustin/armeria-a-microservice-framework-well-suited-everywhere)):
22+
23+
<AspectRatio width={16} height={9} maxWidth="21rem">
24+
<iframe
25+
src="https://www.youtube.com/embed/Vr-0GKUmzo8"
26+
style={{ border: 'none' }}
27+
allowfullscreen
28+
/>
29+
</AspectRatio>
30+
31+
## Features
32+
33+
### HTTP/2
34+
35+
- Supports HTTP/2 on both TLS and cleartext connections
36+
- Supports protocol upgrade via both HTTP/2 connection preface and traditional HTTP/1 upgrade request
37+
- Fully compatible with existing HTTP/1 servers
38+
- Integrated PROXY protocol support for interoperability with load balancers such as HAProxy and AWS ELB.
39+
40+
### Integration with gRPC and Thrift
41+
42+
- Your gRPC or Thrift service implementation runs on top of Armeria without any modification.
43+
- Works with the official gRPC or Thrift-over-HTTP client
44+
- Works with the code generated by the official Protobuf or Thrift IDL compiler
45+
- Supports various protocol combinations, such as:
46+
- gRPC-over-HTTP/1 & 2
47+
- Thrift-over-HTTP/1 & 2
48+
- gRPC-Web
49+
- See [Running a Thrift service](/docs/server-thrift) and [Running a gRPC service](/docs/server-grpc).
50+
51+
### Essential features for building microservices
52+
53+
- Metrics
54+
- Circuit breaker
55+
- Client-side health-check and load-balancing
56+
- Service discovery from various sources such as DNS and ZooKeeper
57+
- See [Client-side load balancing and service discovery](/docs/client-service-discovery).
58+
- Distributed call tracing via Zipkin
59+
60+
### Interactive web-based debug console
61+
62+
- Browse the list of available RPC operations
63+
- Invoke an RPC operation via a web form
64+
- Share an RPC request with your colleagues so they can reproduce the problem easily
65+
- Just like sharing a cURL command, but works for RPC
66+
- See [Browsing and invoking services with DocService](/docs/server-docservice).
67+
68+
### Completely asynchronous and reactive
69+
70+
- Built on top of Reactive Streams and Java 8 CompletableFuture
71+
- Asynchronous connection pool ensures your application never blocks even on pool exhaustion.
72+
- Domain name lookups are also fully asynchronous thanks to Netty’s asynchronous domain name resolver.
73+
74+
### Compatibility with existing Java EE web applications
75+
76+
- Runs any Java EE web applications such as Spring Boot on the same TCP/IP port
77+
- Your Java EE web application speaks HTTP/2!
78+
- See [Embedding a servlet container](/docs/server-servlet).
79+
80+
### Even higher performance on Linux
81+
82+
- JNI-based socket I/O
83+
- BoringSSL-based TLS connections

site-new/docs/intro.md

-47
This file was deleted.

0 commit comments

Comments
 (0)