Skip to content

Commit c96997c

Browse files
authored
Only search packages that have hexdocs (#1030)
* Only search packages that have hexdocs * Fix formatting
1 parent c07aba7 commit c96997c

6 files changed

Lines changed: 137 additions & 5 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ If you have any questions regarding Membrane Framework or need consulting, feel
246246
| [membrane_overlay_plugin](https://github.com/membraneframework/membrane_overlay_plugin) | Filter for applying overlay image or text on top of video | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_overlay_plugin.svg)](https://hex.pm/api/packages/membrane_overlay_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_overlay_plugin/) |
247247
| [membrane_ffmpeg_swscale_plugin](https://github.com/membraneframework/membrane_ffmpeg_swscale_plugin) | Plugin providing an element scaling raw video frames, using SWScale module of FFmpeg library. | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_ffmpeg_swscale_plugin.svg)](https://hex.pm/api/packages/membrane_ffmpeg_swscale_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ffmpeg_swscale_plugin/) |
248248
| [membrane_ffmpeg_video_filter_plugin](https://github.com/membraneframework/membrane_ffmpeg_video_filter_plugin) | FFmpeg-based video filters | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_ffmpeg_video_filter_plugin.svg)](https://hex.pm/api/packages/membrane_ffmpeg_video_filter_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ffmpeg_video_filter_plugin/) |
249+
| [membrane_yolo_plugin](https://github.com/membraneframework/membrane_yolo_plugin) | Membrane Plugin for applying YOLO object detection on raw video frames | |
249250
| [membrane_video_mixer_plugin](https://github.com/kim-company/membrane_video_mixer_plugin) | [Maintainer: [kim-company](https://github.com/kim-company)] Membrane.Filter that mixes a variable number of input videos into one output using ffmpeg filters | [![Hex.pm](https://img.shields.io/hexpm/v/membrane_video_mixer_plugin.svg)](https://hex.pm/api/packages/membrane_video_mixer_plugin) |
250251

251252
#### External APIs

guides/packages/08_Plugins_|_Raw_video.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ FFmpeg-based video filters
4949

5050
[![Hex.pm](https://img.shields.io/hexpm/v/membrane_ffmpeg_video_filter_plugin.svg)](https://hex.pm/api/packages/membrane_ffmpeg_video_filter_plugin) [![Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](https://hexdocs.pm/membrane_ffmpeg_video_filter_plugin/) [![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/membraneframework/membrane_ffmpeg_video_filter_plugin)
5151

52+
## membrane_yolo_plugin
53+
Membrane Plugin for applying YOLO object detection on raw video frames
54+
55+
[![GitHub](https://img.shields.io/badge/github-code-white.svg?logo=github)](https://github.com/membraneframework/membrane_yolo_plugin)
56+
5257
## membrane_video_mixer_plugin
5358
[Maintainer: [kim-company](https://github.com/kim-company)] Membrane.Filter that mixes a variable number of input videos into one output using ffmpeg filters
5459

mix.exs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,8 @@ defmodule Membrane.Mixfile do
105105
end
106106

107107
defp packages_in_ecosystem do
108-
{packages, _bindings} = Code.eval_file("scripts/elixir/packages.exs")
109-
108+
{packages, _bindings} = Code.eval_file("scripts/elixir/hex_packages.exs")
110109
packages
111-
|> Enum.reject(&is_tuple(&1))
112-
|> Enum.map(&String.to_atom/1)
113110
end
114111

115112
defp extras do

scripts/elixir/hex_packages.exs

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Generated code, do not edit. See `scripts/elixir/update_packages_list.exs`.
2+
[
3+
:membrane_sdk,
4+
:membrane_core,
5+
:membrane_rtc_engine,
6+
:kino_membrane,
7+
:boombox,
8+
:membrane_file_plugin,
9+
:membrane_hackney_plugin,
10+
:membrane_scissors_plugin,
11+
:membrane_tee_plugin,
12+
:membrane_funnel_plugin,
13+
:membrane_realtimer_plugin,
14+
:membrane_stream_plugin,
15+
:membrane_fake_plugin,
16+
:membrane_transcoder_plugin,
17+
:membrane_generator_plugin,
18+
:membrane_webrtc_plugin,
19+
:membrane_rtmp_plugin,
20+
:membrane_http_adaptive_stream_plugin,
21+
:membrane_srt_plugin,
22+
:membrane_udp_plugin,
23+
:membrane_tcp_plugin,
24+
:membrane_rtp_plugin,
25+
:membrane_rtp_h264_plugin,
26+
:membrane_rtp_aac_plugin,
27+
:membrane_rtp_vp8_plugin,
28+
:membrane_rtp_mpegaudio_plugin,
29+
:membrane_rtp_opus_plugin,
30+
:membrane_rtp_g711_plugin,
31+
:membrane_rtsp_plugin,
32+
:membrane_mpeg_ts_plugin,
33+
:membrane_hls_plugin,
34+
:membrane_mp4_plugin,
35+
:membrane_matroska_plugin,
36+
:membrane_flv_plugin,
37+
:membrane_ivf_plugin,
38+
:membrane_ogg_plugin,
39+
:membrane_aac_plugin,
40+
:membrane_aac_fdk_plugin,
41+
:membrane_flac_plugin,
42+
:membrane_mp3_lame_plugin,
43+
:membrane_mp3_mad_plugin,
44+
:membrane_opus_plugin,
45+
:membrane_wav_plugin,
46+
:membrane_g711_plugin,
47+
:membrane_g711_ffmpeg_plugin,
48+
:membrane_h26x_plugin,
49+
:membrane_h264_ffmpeg_plugin,
50+
:membrane_vpx_plugin,
51+
:membrane_abr_transcoder_plugin,
52+
:membrane_h265_ffmpeg_plugin,
53+
:membrane_raw_audio_parser_plugin,
54+
:membrane_portaudio_plugin,
55+
:membrane_audio_mix_plugin,
56+
:membrane_audio_filler_plugin,
57+
:membrane_ffmpeg_swresample_plugin,
58+
:membrane_audiometer_plugin,
59+
:membrane_raw_video_parser_plugin,
60+
:membrane_video_merger_plugin,
61+
:membrane_smelter_plugin,
62+
:membrane_camera_capture_plugin,
63+
:membrane_rpicam_plugin,
64+
:membrane_framerate_converter_plugin,
65+
:membrane_sdl_plugin,
66+
:membrane_overlay_plugin,
67+
:membrane_ffmpeg_swscale_plugin,
68+
:membrane_ffmpeg_video_filter_plugin,
69+
:membrane_agora_plugin,
70+
:membrane_element_gcloud_speech_to_text,
71+
:membrane_element_ibm_speech_to_text,
72+
:membrane_s3_plugin,
73+
:membrane_rtp_format,
74+
:membrane_cmaf_format,
75+
:membrane_matroska_format,
76+
:membrane_mp4_format,
77+
:membrane_raw_audio_format,
78+
:membrane_raw_video_format,
79+
:membrane_aac_format,
80+
:membrane_opus_format,
81+
:membrane_flac_format,
82+
:membrane_mpegaudio_format,
83+
:membrane_h264_format,
84+
:membrane_vp8_format,
85+
:membrane_vp9_format,
86+
:membrane_g711_format,
87+
:membrane_h265_format,
88+
:ex_webrtc,
89+
:ex_sdp,
90+
:ex_libnice,
91+
:ex_libsrtp,
92+
:ex_m3u8,
93+
:ex_hls,
94+
:ex_libsrt,
95+
:membrane_rtsp,
96+
:membrane_ffmpeg_generator,
97+
:unifex,
98+
:bundlex,
99+
:beamchmark,
100+
:bunch,
101+
:bunch_native,
102+
:shmex,
103+
:membrane_timestamp_queue,
104+
:membrane_common_c,
105+
:membrane_telemetry_metrics,
106+
:membrane_opentelemetry,
107+
:membrane_precompiled_dependency_provider
108+
]

scripts/elixir/packages.exs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
"membrane_overlay_plugin",
8585
"membrane_ffmpeg_swscale_plugin",
8686
"membrane_ffmpeg_video_filter_plugin",
87+
"membrane_yolo_plugin",
8788
"kim-company/membrane_video_mixer_plugin",
8889
{:subsection, "External APIs"},
8990
"membrane_aws_plugin",

scripts/elixir/update_packages_list.exs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,26 @@ packages =
149149
other
150150
end)
151151

152+
generated_code_comment =
153+
"Generated code, do not edit. See `scripts/elixir/update_packages_list.exs`."
154+
155+
# save packages that have hexdocs
156+
157+
hex_packages =
158+
packages
159+
|> Enum.filter(&(&1.type == :package and &1.hexdocs_badge != nil))
160+
|> Enum.map(&String.to_atom(&1.name))
161+
|> inspect(limit: :infinity)
162+
|> Code.format_string!()
163+
|> IO.iodata_to_binary()
164+
165+
hex_packages_text = """
166+
# #{generated_code_comment}
167+
#{hex_packages}
168+
"""
169+
170+
File.write!(Path.join(__DIR__, "hex_packages.exs"), hex_packages_text)
171+
152172
# generate packages list in markdown
153173

154174
header = """
@@ -158,7 +178,7 @@ header = """
158178
"""
159179

160180
generated_code_comment =
161-
"<!-- Generated code, do not edit. See `scripts/elixir/update_packages_list.exs`. -->"
181+
"<!-- #{generated_code_comment} -->"
162182

163183
packages_md =
164184
packages

0 commit comments

Comments
 (0)