Ta strona zawiera szczegółowe informacje o projekcie polegającym na pisaniu tekstów technicznych, który został zaakceptowany w ramach Google Season of Docs.
Podsumowanie projektu
- Organizacja open source
- Język Julia
- Specjalista ds. technicznych:
- Shuo Liu
- Nazwa projektu:
- LightGraphs Docs 2.0 i przyjazne dla użytkownika samouczki JuliaGraphs
- Długość projektu:
- Długotrwałe (5 miesięcy)
Opis projektu
W ramach tego długotrwałego projektu będę ulepszać stronę internetową i dokumentację modułów w JuliaGraphs. W szczególności moje treści będą obejmować (ale nie tylko) te treści:
LightGraphs Docs 2.0 – 10 tygodni
- Omówienie: LightGraphs.jl to lekki, zoptymalizowany pakiet grafów dla Julia, który stanowi podstawę ekosystemu JuliaGraphs. Nadchodząca wersja LightGraphs 2.0 wprowadza fundamentalną zmianę w interfejsie LightGraphs API. Zadbam o to, aby dokumentacja odzwierciedlała najnowsze i najlepsze funkcje LightGraphs.
- Wymagania: sprawdzę i zweryfikuję istniejące dokumenty API, aby sprawdzić, które elementy dokumentacji mogą pozostać bez zmian, i przeanalizuję zmiany wprowadzone w wersji 2.0, aby mieć pewność, że są one odpowiednio udokumentowane i zawierają przykłady. W trakcie tego procesu będę publikować posty, w których będę informować o najważniejszych zmianach w wersji 2.0. Aby pomóc początkującym użytkownikom w lepszym zrozumieniu Grafu światła, utworzę przewodniki dla początkujących dla osób, które stawiają pierwsze kroki w świecie korzystania z wykresów w Julii.
- Uwagi: w tym projekcie do tworzenia dokumentów LightGraphs używany jest plik Documenter.jl. Oprócz odwołań do interfejsu API w przypadku modułów takich jak Coloring.jl potrzebuję ich też w przypadku podmodułów takich jak greedy_color.jl. Spróbuję dodać je do nowej dokumentacji LightGraphs. Poza tym teoria grafów to dość techniczna dziedzina matematyki, niezrozumiała dla osób bez wykształcenia matematycznego. Zajmuję się badaniami naukowymi od około 2 lat i opublikowałem wiele postów na blogu na mojej stronie internetowej. Dzięki temu mogę wyjaśnić istotę różnych algorytmów i podać wskazówki, których algorytmów używać w różnych sytuacjach podczas tworzenia przewodników dla początkujących.
Samouczki JuliaGraphs – 10 tygodni
- Omówienie: wiele dokumentacji pakietów JuliaGraphs jest przeznaczonych dla programistów. Dodam kilka prostych przykładów i przedstawię sposób korzystania z każdej funkcji, aby ułatwić użytkownikom korzystanie z tej funkcji.
- Wymagania: sprawdzę istniejące samouczki LightGraphs, aby sprawdzić, jakie materiały należy dodać, oraz zademonstruję wykorzystanie i uzasadnienie każdej funkcji. Następnie będę tworzyć samouczki JuliaGraphs w stylu JuliaGraphsTutorials, w tym przewodnik dla początkujących w ekosystemie LightGraphs.
- Uwagi: obecnie treść JuliaGraphsTutorials nie jest wystarczająco obszerna, a wyniki wymienione powyżej dotyczą głównie pakietu LightGraphs. Jeśli pozwoli na to czas, dodam też samouczki do innych modułów w JuliaGraphs, takich jak GraphPlot.jl, MetaGraphs.jl i SimpleWeightedGraphs.jl.
JuliaGraphs Central Website – 4 weeks
- Omówienie: w głównej witrynie JuliaGraphs można znaleźć przegląd pakietów z tego ekosystemu. Nadal jednak jest to głównie opis i można go udoskonalić, aby stał się pierwszym źródłem informacji dla osób rozpoczynających pracę z wykorzystaniem funkcji graficznych w języku Julia. Szukam intuicyjnego sposobu wizualizacji, który pozwoli mi wyróżnić funkcje różnych pakietów JuliaGraphs.
- Wyniki: przedstawię przypadki użycia i przykłady, aby podkreślić funkcje pakietów JuliaGraphs, oraz przeprowadzę kontrolę, aby upewnić się, że są one nadal aktualne i obsługiwane. Utworzę sekcję, w której będę wyróżniać różne zastosowania różnych pakietów w różnych domenach (zdrowie, edukacja itp.). Jeśli pozwoli na to czas, poszukam wizualnych wyjaśnień algorytmów używanych w Graphs.
- Uwagi: wiele pakietów JuliaGraphs było szeroko stosowanych w różnych domenach. Oprócz rozszerzeń do tworzenia wykresów, takich jak DiGraph for NetworkViz, w ramach tego projektu będę używać też innych aplikacji do konkretnych tematów, np. MetaGraph for BioStructures w biologii, DijkstraState w planowaniu miejskim, DiGraph for TreeView w edukacji itd.