Skip to content

Commit

Permalink
chore: add misc/list-gnophers and .mailmap (#1265)
Browse files Browse the repository at this point in the history
## Current Status

```console
$ cd ./misc/list-gnophers
$ ./main.sh
```

```csv
1617467419,[email protected],./examples/gno.land/p/demo/flow/flow.gno
1651096034,[email protected],./examples/gno.land/p/demo/grc/grc721/igrc721.gno
1673524438,[email protected],./examples/gno.land/p/demo/grc/grc721/basic_nft.gno
1677669053,[email protected],./examples/gno.land/p/demo/grc/grc1155/basic_grc1155_token.gno
1678259597,[email protected],./examples/gno.land/r/demo/deep/very/deep/render.gno
1678709422,[email protected],./examples/gno.land/r/demo/groups/group.gno
1684921090,[email protected],./examples/gno.land/p/demo/merkle/merkle.gno
1687179019,[email protected],./examples/gno.land/r/x/nir1218_evaluation_proposal/category.gno
1687263124,[email protected],./examples/gno.land/p/demo/microblog/microblog.gno
```

## Future Plans

- Translate into GitHub usernames.
- Share the gnopher list on `r/gh` (#1134).
- Create a new `r/gnoland/gnophers` page with the following features:
  - Add a widget on `r/gnoland/home` displaying the "latest gnophers."
- Create a helper function like
`r/gnoland/gnophers.NumberByAddr("g1u7y667z64x2h7vc6fmpcprgey4ck233jaww9zq`)
-> `(2 int)` to use this info on other meta profiles, such as the future
"gnolinkedin" mixing facts and personal presentation
(gnolang/game-of-realms#5).
- Create a `r/gnoland/gnophers:username` route that returns a badge with
the username, gnopher number, "gnopher since <date>," and a `gnoface`
(#690).
- Stop checking and order t-shirts for the first 100 official gnophers.

### Example Gnopher Badges

```markdown
# @jaekwon proudly became the 1st gnopher on Oct 3, 2021.
  |||||||                                                                                                                                                                                                                                                                                                 
 ////////\                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 | ~   . |                                                                                                                                                                                                                                                                                                
)| X   X |.                                                                                                                                                                                                                                                                                               
 |       |                                                                                                                                                                                                                                                                                                
 |   C   |                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 |  __/  |                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 \~~~~~~~/
Gnopher#1
```

```markdown
# @moul proudly became the 2nd gnopher on May 24, 2022.
  |||||||                                                                                                                                                                                                                                                                                                 
 ////////\                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 | ~   . |                                                                                                                                                                                                                                                                                                
)| X   X |.                                                                                                                                                                                                                                                                                               
 |       |                                                                                                                                                                                                                                                                                                
 |   C   |                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 |  __/  |                                                                                                                                                                                                                                                                                                
 |       |                                                                                                                                                                                                                                                                                                
 \~~~~~~~/
Gnopher#2
```

cc @gnolang/devrels

Signed-off-by: moul <[email protected]>
  • Loading branch information
moul authored Oct 26, 2023
1 parent 7dee385 commit 7105d00
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
12 changes: 12 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# man 5 gitmailmap
# git log --mailmap --pretty=short | grep ^Author: | sort -u
Jae Kwon <[email protected]> Jae Kwon <[email protected]>
Jae Kwon <[email protected]> Jae Kwon <[email protected]>
Jae Kwon <[email protected]> jaekwon <[email protected]>
Jae Kwon <[email protected]> Naut Jae <[email protected]>
Thomas Bruyelle <[email protected]> Thomas Bruyelle <[email protected]>
Thomas Bruyelle <[email protected]> Thomas Bruyelle <[email protected]>
Miloš Živković <[email protected]> Miloš Živković <[email protected]>
Hariom Verma <[email protected]> Hariom Verma <[email protected]>
Giancarlos Salas <[email protected]> Giancarlos Salas <[email protected]>
Morgan <[email protected]> Morgan <[email protected]>
35 changes: 35 additions & 0 deletions misc/list-gnophers/main.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/sh

main() {
cd ../..
for file in $(list_gno_files); do
extract_file_metadata $file
done > gno_file_commits.csv
echo
cat gno_file_commits.csv | sort_by_date | unique_by_author
}

list_gno_files() {
# list .gno file in examples/, remove tests and unit tests
find ./examples -name "*.gno" | grep -v _filetest.gno | grep -v _test.gno | grep -v gno.land/r/demo/tests
}

extract_file_metadata() {
file=$1
# get the first commit date of the file
first_commit_date=$(git log --pretty=format:%ct --follow $file | tail -n 1)
# get the email of the first contributor of the file
email=$(git log --mailmap --pretty=format:%aE --follow $file | tail -n 1)
# print the file name, first commit date, and email
echo "$first_commit_date,$email,$file"
}

sort_by_date() {
sort -t, -k1
}

unique_by_author() {
awk -F, '!seek[$2]++'
}

main

0 comments on commit 7105d00

Please sign in to comment.