@@ -59,21 +59,19 @@ defmodule Membrane.Mixfile do
5959 defp docs do
6060 [
6161 main: "readme" ,
62- extras: [
63- "README.md" ,
64- "CHANGELOG.md" ,
65- "CONTRIBUTING.md" ,
66- "guides/upgrading/v0.11.md" ,
67- "guides/upgrading/v0.12.md" ,
68- "guides/upgrading/v1.0.0-rc0.md" ,
69- "guides/upgrading/v1.0.0-rc1.md" ,
70- "guides/upgrading/v1.0.0.md" ,
71- "guides/components_lifecycle.md" ,
72- "guides/timer.md" ,
73- LICENSE: [ title: "License" ]
74- ] ,
62+ extras: extras ( ) ,
7563 formatters: [ "html" ] ,
7664 source_ref: @ source_ref ,
65+ assets: % {
66+ "guides/membrane_tutorials/get_started_with_membrane/assets" => "assets" ,
67+ "guides/membrane_tutorials/basic_pipeline/assets" => "assets" ,
68+ "guides/membrane_tutorials/basic_pipeline_extension/assets" => "assets" ,
69+ "guides/membrane_tutorials/create_new_plugin/assets" => "assets" ,
70+ "guides/membrane_tutorials/digital_video_introduction/assets" => "assets" ,
71+ "guides/membrane_tutorials/h264/assets" => "assets" ,
72+ "guides/membrane_tutorials/broadcasting/assets" => "assets" ,
73+ "guides/membrane_tutorials/glossary/assets" => "assets"
74+ } ,
7775 nest_modules_by_prefix: [
7876 Membrane.Bin ,
7977 Membrane.Element ,
@@ -89,47 +87,93 @@ defmodule Membrane.Mixfile do
8987 Membrane.RCPipeline ,
9088 Membrane.RCMessage
9189 ] ,
92- groups_for_modules: [
93- Pipeline: [ ~r/ ^Membrane\. Pipeline($|\. )/ ] ,
94- "RC Pipeline": [
95- ~r/ ^Membrane\. (RCPipeline)($|\. )/ ,
96- ~r/ ^Membrane\. (RCMessage)($|\. )/
97- ] ,
98- Bin: [ ~r/ ^Membrane\. Bin($|\. )/ ] ,
99- Element: [
100- ~r/ ^Membrane\. Filter($|\. )/ ,
101- ~r/ ^Membrane\. Endpoint($|\. )/ ,
102- ~r/ ^Membrane\. Sink($|\. )/ ,
103- ~r/ ^Membrane\. Source($|\. )/ ,
104- ~r/ ^Membrane\. Element($|\. )/
105- ] ,
106- "Helper Elements": [
107- ~r/ ^Membrane\. Connector($|\. )/ ,
108- ~r/ ^Membrane\. Fake($|\. )/ ,
109- ~r/ ^Membrane\. Debug($|\. )/ ,
110- ~r/ ^Membrane\. Tee($|\. )/ ,
111- ~r/ ^Membrane\. Funnel($|\. )/ ,
112- ~r/ ^Membrane\. FilterAggregator($|\. )/
113- ] ,
114- Parent: [ ~r/ ^Membrane\. (Parent|ChildrenSpec)($|\. )/ ] ,
115- Child: [ ~r/ ^Membrane\. (Child|ChildEntry)($|\. )/ ] ,
116- Communication: [
117- ~r/ ^Membrane\. (Buffer|Payload|StreamFormat|Event|EventProtocol|ChildNotification|ParentNotification|Pad|KeyframeRequestEvent|RemoteStream)($|\. )/
118- ] ,
119- Logging: [ ~r/ ^Membrane\. Logger($|\. )/ ] ,
120- Telemetry: [ ~r/ ^Membrane\. Telemetry($|\. )/ ] ,
121- Testing: [ ~r/ ^Membrane\. Testing($|\. )/ ] ,
122- Utils: [
123- ~r/ ^Membrane\. Clock($|\. )/ ,
124- ~r/ ^Membrane\. Sync($|\. )/ ,
125- ~r/ ^Membrane\. Time($|\. )/ ,
126- ~r/ ^Membrane\. Playback($|\. )/ ,
127- ~r/ ^Membrane\. ComponentPath($|\. )/ ,
128- ~r/ ^Membrane\. ResourceGuard($|\. )/ ,
129- ~r/ ^Membrane\. UtilitySupervisor($|\. )/
130- ] ,
131- Errors: [ ~r/ Error$/ ]
132- ]
90+ groups_for_modules: groups_for_modules ( ) ,
91+ groups_for_extras: groups_for_extras ( )
92+ ]
93+ end
94+
95+ defp extras do
96+ [
97+ "README.md" ,
98+ "CHANGELOG.md" ,
99+ "CONTRIBUTING.md" ,
100+ Path . wildcard ( "guides/**/*.md" )
101+ |> Enum . reject ( & ( Path . basename ( & 1 ) in [ "README.md" , "index.md" , "1_preface.md" ] ) )
102+ |> Enum . map ( & { String . to_atom ( & 1 ) , [ title: reformat_tutorial_title ( & 1 ) ] } ) ,
103+ LICENSE: [ title: "License" ]
104+ ]
105+ |> List . flatten ( )
106+ end
107+
108+ defp reformat_tutorial_title ( filename ) do
109+ { first_letter , rest } =
110+ filename
111+ |> Path . basename ( )
112+ |> String . replace ( ~r/ ^\d +_/ , "" )
113+ |> String . replace ( "_" , " " )
114+ |> String . trim_trailing ( ".md" )
115+ |> String . next_grapheme ( )
116+
117+ String . upcase ( first_letter ) <> rest
118+ end
119+
120+ defp groups_for_modules do
121+ [
122+ Pipeline: [ ~r/ ^Membrane\. Pipeline($|\. )/ ] ,
123+ "RC Pipeline": [
124+ ~r/ ^Membrane\. (RCPipeline)($|\. )/ ,
125+ ~r/ ^Membrane\. (RCMessage)($|\. )/
126+ ] ,
127+ Bin: [ ~r/ ^Membrane\. Bin($|\. )/ ] ,
128+ Element: [
129+ ~r/ ^Membrane\. Filter($|\. )/ ,
130+ ~r/ ^Membrane\. Endpoint($|\. )/ ,
131+ ~r/ ^Membrane\. Sink($|\. )/ ,
132+ ~r/ ^Membrane\. Source($|\. )/ ,
133+ ~r/ ^Membrane\. Element($|\. )/
134+ ] ,
135+ "Helper Elements": [
136+ ~r/ ^Membrane\. Connector($|\. )/ ,
137+ ~r/ ^Membrane\. Fake($|\. )/ ,
138+ ~r/ ^Membrane\. Debug($|\. )/ ,
139+ ~r/ ^Membrane\. Tee($|\. )/ ,
140+ ~r/ ^Membrane\. Funnel($|\. )/ ,
141+ ~r/ ^Membrane\. FilterAggregator($|\. )/
142+ ] ,
143+ Parent: [ ~r/ ^Membrane\. (Parent|ChildrenSpec)($|\. )/ ] ,
144+ Child: [ ~r/ ^Membrane\. (Child|ChildEntry)($|\. )/ ] ,
145+ Communication: [
146+ ~r/ ^Membrane\. (Buffer|Payload|StreamFormat|Event|EventProtocol|ChildNotification|ParentNotification|Pad|KeyframeRequestEvent|RemoteStream)($|\. )/
147+ ] ,
148+ Logging: [ ~r/ ^Membrane\. Logger($|\. )/ ] ,
149+ Telemetry: [ ~r/ ^Membrane\. Telemetry($|\. )/ ] ,
150+ Testing: [ ~r/ ^Membrane\. Testing($|\. )/ ] ,
151+ Utils: [
152+ ~r/ ^Membrane\. Clock($|\. )/ ,
153+ ~r/ ^Membrane\. Sync($|\. )/ ,
154+ ~r/ ^Membrane\. Time($|\. )/ ,
155+ ~r/ ^Membrane\. Playback($|\. )/ ,
156+ ~r/ ^Membrane\. ComponentPath($|\. )/ ,
157+ ~r/ ^Membrane\. ResourceGuard($|\. )/ ,
158+ ~r/ ^Membrane\. UtilitySupervisor($|\. )/
159+ ] ,
160+ Errors: [ ~r/ Error$/ ]
161+ ]
162+ end
163+
164+ defp groups_for_extras do
165+ [
166+ "Get started with Membrane":
167+ Path . wildcard ( "guides/membrane_tutorials/get_started_with_membrane/*.md" ) ,
168+ "Intro to pipelines": Path . wildcard ( "guides/membrane_tutorials/basic_pipeline/*.md" ) ,
169+ "Intro to pipelines - advanced concepts":
170+ Path . wildcard ( "guides/membrane_tutorials/basic_pipeline_extension/*.md" ) ,
171+ "Creating plugins": Path . wildcard ( "guides/membrane_tutorials/create_new_plugin/*.md" ) ,
172+ "Useful concepts": Path . wildcard ( "guides/useful_concepts/*.md" ) ,
173+ H264: Path . wildcard ( "guides/membrane_tutorials/h264/*.md" ) ,
174+ Broadcasting: Path . wildcard ( "guides/membrane_tutorials/broadcasting/*.md" ) ,
175+ Glossary: Path . wildcard ( "guides/membrane_tutorials/glossary/*.md" ) ,
176+ Upgrading: Path . wildcard ( "guides/upgrading/*.md" )
133177 ]
134178 end
135179
0 commit comments