Skip to content

Commit

Permalink
release: 0.2.1 (#20)
Browse files Browse the repository at this point in the history
  • Loading branch information
devxb authored Apr 16, 2024
2 parents 456117d + fe14ebd commit cd68995
Show file tree
Hide file tree
Showing 7 changed files with 418 additions and 95 deletions.
92 changes: 73 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

<img src="./docs/logo.svg" width="30000"/>

##

<a href="https://github.com/devxb/gitanimals">
<img src="https://render.gitanimals.org/lines/devxb?pet-id=126" width="2000" height="100"/>
</a>
Expand Down Expand Up @@ -33,13 +33,14 @@

> [!IMPORTANT]
> {username} 은 자신의 깃허브 닉네임 (ex. devxb) 으로 변경해주세요.
> 이때, {username} 은 반드시 자신의 깃허브 이름이 들어가야 합니다.
> 이때, {username} 은 반드시 자신의 깃허브 이름이 들어가야 합니다.
### line mode

line mode는 자신이 갖고있는 펫중 하나를 지정해서, 지정한 width, height범위에서 움직이게 해요.
line mode를 사용할때, markdown 방식으로 이미지를 요청하면, width, height를 설정할 수 없어서 펫이 보이지 않을 수 있으니, HTMl방식을 사용해주세요.
_pet-id에 아무값도 입력하지 않으면, 첫번째 펫이 가져와져요._
line mode를 사용할때, markdown 방식으로 이미지를 요청하면, width, height를 설정할 수 없어서 펫이 보이지 않을 수 있으니, HTMl방식을
사용해주세요.
_pet-id에 아무값도 입력하지 않으면, 첫번째 펫이 가져와져요._

> [!TIP]
> **HTML을 붙여넣기 할 경우, Img의 width와 height를 조절해서 펫의 이동영역을 조절할 수 있어요.**
Expand All @@ -51,34 +52,38 @@ _pet-id에 아무값도 입력하지 않으면, 첫번째 펫이 가져와져요
</a>

**html**

```html
<a href="https://github.com/devxb/gitanimals">
<img src = "https://render.gitanimals.org/lines/{username}" width="1000" height="60"/>
<img src="https://render.gitanimals.org/lines/{username}" width="1000" height="60"/>
</a>
```



### farm mode

farm mode는 갖고있는 모든 동물과 추가적인 정보를 보여줘요.

<a href="https://github.com/devxb/gitanimals">
<img src = "https://render.gitanimals.org/farms/devxb" width="300"/>
</a>

**html**
**html**

```html
<a href="https://github.com/devxb/gitanimals">
<img src = "https://render.gitanimals.org/farms/{username}"/>
<img src="https://render.gitanimals.org/farms/{username}"/>
</a>
```



### 펫을 변경하는 방법

펫은 다음 url을 웹에 요청 후, `$.personas.[].id` 에 해당하는 값을 url의 pet-id param에 입력하면서 변경할 수 있어요.
변경가능한 펫을 확인하려면, `https://render.gitanimals.org/users/{username}` 의 {username}을 자신의 깃허브 아이디로 변경 후, 요청해보세요.
변경가능한 펫을 확인하려면, `https://render.gitanimals.org/users/{username}` 의 {username}을 자신의 깃허브 아이디로 변경 후,
요청해보세요.

```html
<a href="https://github.com/devxb/gitanimals">
<img src = "https://render.gitanimals.org/lines/devxb?pet-id=1" width="1000" height="60"/>
<img src="https://render.gitanimals.org/lines/devxb?pet-id=1" width="1000" height="60"/>
</a>
```

Expand All @@ -89,24 +94,73 @@ farm mode는 갖고있는 모든 동물과 추가적인 정보를 보여줘요.
펫은 다음 두가지 방법으로 획득할 수 있습니다.

1. **커밋 30번하기**
커밋이 30번 누적되면 새로운 펫이 등장해요. 이때, 모든 펫들은 등장하는 확률이 다릅니다.
이때, 최대로 얻을 수 있는 펫은 30개 입니다. 30개가 넘는 펫은 인벤토리로 들어가며, 언제든지 보여지는 펫과 교체할 수 있어요. **_<- 개발중_**
커밋이 30번 누적되면 새로운 펫이 등장해요. 이때, 모든 펫들은 등장하는 확률이 다릅니다.
이때, 최대로 얻을 수 있는 펫은 30개 입니다. 30개가 넘는 펫은 인벤토리로 들어가며, 언제든지 보여지는 펫과 교체할 수 있어요. **_<- 개발중_**
2. **펫 구매하기** **_<- 개발중_**
다른 유저가 판매하는 펫을 커밋포인트로 구매할 수 있어요.
커밋 1회당 일정량의 포인트가 지급됩니다. 혹은 자신의 펫을 판매해서 커밋포인트를 얻을수도 있어요.
다른 유저가 판매하는 펫을 커밋포인트로 구매할 수 있어요.
커밋 1회당 일정량의 포인트가 지급됩니다. 혹은 자신의 펫을 판매해서 커밋포인트를 얻을수도 있어요.

### Total contributions

Total contribtuions 는 깃허브에 가입 후 모든 Contribtuions 수를 집계해서 보여줍니다.
이때, 새로운 contribtuion은 반영은 최대 1시간이 소요될 수 있습니다.
이때, 새로운 contribtuion은 반영은 최대 1시간이 소요될 수 있습니다.

### 등장 가능한 펫들

<img alt="docs/pets.svg" src="docs/pets.svg"/>
| name | ratio |
|---------------------------------------------------------------------------------------|-------|
| goose | 1.0 |
| goose_sunglasses | 0.05 |
| goose_kotlin | 0.01 |
| goose_java | 0.01 |
| goose_js | 0.01 |
| goose_node | 0.01 |
| goose_swift | 0.01 |
| goose_linux | 0.01 |
| goose_spring | 0.01 |
| little_chick | 0.9 |
| little_chick_suglasses | 0.4 |
| little_chick_kotlin | 0.01 |
| little_chick_java | 0.01 |
| little_chick_js | 0.01 |
| little_chick_node | 0.01 |
| little_chick_swift | 0.01 |
| little_chick_linux | 0.01 |
| little_chick_spring | 0.01 |
| penguin | 0.5 |
| penguin_sunglasses | 0.2 |
| penguin_kotlin | 0.01 |
| penguin_java | 0.01 |
| penguin_js | 0.01 |
| penguin_node | 0.01 |
| penguin_swift | 0.01 |
| penguin_linux | 0.01 |
| penguin_spring | 0.01 |
| pig | 0.2 |
| pig_sunglasses | 0.08 |
| pig_kotlin | 0.01 |
| pig_java | 0.01 |
| pig_js | 0.01 |
| pig_node | 0.01 |
| pig_swift | 0.01 |
| pig_linux | 0.01 |
| pig_spring | 0.01 |
| slime_red | 0.1 |
| slime_red_kotlin | 0.001 |
| slime_red_java | 0.001 |
| slime_red_js | 0.001 |
| slime_red_node | 0.001 |
| slime_red_swift | 0.001 |
| slime_red_linux | 0.001 |
| slime_green | 0.1 |
| slime_blue | 0.1 |
| flamingo <br> <img src="docs/flamingo.svg" width="50px" height="110"/> | 0.08 |

##

<div align="center">
<p> 아이디어나 발견 한 버그가 있다면 제보 해주세요.
<i>Contact : [email protected]</i></p>

<a href="https://hits.seeyoufarm.com"><img src="https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fdevxb%2Fgitanimals&count_bg=%23000000&title_bg=%23000000&icon=&icon_color=%23000000&title=hits&edge_flat=true"/></a>
</div>
113 changes: 113 additions & 0 deletions docs/flamingo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 25 additions & 1 deletion src/main/kotlin/org/gitanimals/render/domain/PersonaType.kt
Original file line number Diff line number Diff line change
Expand Up @@ -914,6 +914,30 @@ enum class PersonaType(private val weight: Double) {
StringBuilder().moveRandomly("slime", id, 15, "180s", 5)
.toString()
},

FLAMINGO(0.05) {
override fun load(persona: Persona): String {
check(persona.id != null) { "Save persona first before call load()" }

return flamingoSvg.replace("*{position}", act(persona.id))
.replace("*{id}", persona.id.toString())
.replace("*{level}", persona.level.value.toSvg(14.0, 2.0))
.replace(
"*{levelx}",
(-1 * (persona.level.value.toString().length)).toString()
)
}

override fun act(id: Long): String {
val x = Random.nextInt(25, 75)
val y = Random.nextInt(0, 50)
val scale = when (Random.nextBoolean()) {
true -> 1
false -> -1
}
return "translate(${x}%, ${y}%) scaleX($scale)"
}
}
;

init {
Expand Down Expand Up @@ -990,7 +1014,7 @@ enum class PersonaType(private val weight: Double) {
.append("-ms-transform: translate(${currentX - (personaWidth * nextScale)}%, $currentY%) rotate(${currentAngle}deg) scaleX($nextScale);")
.append("-o-transform: translate(${currentX - (personaWidth * nextScale)}%, $currentY%) rotate(${currentAngle}deg) scaleX($nextScale);")
.append("-moz-transform: translate(${currentX - (personaWidth * nextScale)}%, $currentY%) rotate(${currentAngle}deg) scaleX($nextScale);")
.append("transform: translate(${{currentX - (personaWidth * nextScale)}}%, $currentY%) rotate(${currentAngle}deg) scaleX($nextScale);")
.append("transform: translate(${{ currentX - (personaWidth * nextScale) }}%, $currentY%) rotate(${currentAngle}deg) scaleX($nextScale);")
.append("}")
}
this.append("${min(100.0, animationPercentage)}% {")
Expand Down
3 changes: 3 additions & 0 deletions src/main/kotlin/org/gitanimals/render/domain/Svgs.kt
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,9 @@ val slimeBlueSvg: String = ClassPathResource("persona/animal/slime-blue.svg")
val slimeGreenSvg: String = ClassPathResource("persona/animal/slime-green.svg")
.getContentAsString(Charset.defaultCharset())

val flamingoSvg: String = ClassPathResource("persona/animal/flamingo.svg")
.getContentAsString(Charset.defaultCharset())

val largeTextSvgs = lazy {
val map = mutableMapOf<String, String>()
for (i in 'A'..'Z') {
Expand Down
Loading

0 comments on commit cd68995

Please sign in to comment.