insper-education / active-handout-plugins-js

DEPRECATED: javascript repo for active handout
0 stars 0 forks source link

explicitar quais plugins estão ativos no mkdocs.yml #4

Open rafaelcorsi opened 2 years ago

rafaelcorsi commented 2 years ago

possibilitar escolher quais plugins vão estar ativos via mkdocs, antes fazíamos isso em um arquivo de config a parte.

@toshikurauchi alguma sugestão de como fazer isso? pelo o que eu vi aqui podemos controlar alguns pelo index.js, mas outros o controle deverá ser feito no próprio plugin né? (slide.js, ....)

toshikurauchi commented 2 years ago

Uma possibilidade seria separar um projeto pra cada plugin. Aí só coloca no extra_javascript no mkdocs.yml os plugins que quiser. O problema disso é que eu não sei se tem muito código compartilhado entre os plugins. Se tiver vai dar um trabalhinho...

Outra possibilidade é usar o ihandout_config que está no mkdocs.yml pra definir quais plugins estão ativos. Aí teria que colocar um if em cada plugin pra ele não rodar se não estiver ativo.

igordsm commented 2 years ago

Não seria melhor finalmente termos um evento para ativar o plugin? Atualmente rodamos eles como side-effect do import. Já que temos TypeScript me parece fazer sentido definir uma interface plugin e criar somente os plugins que forem selecionados no ihandout_config.

Aliás, me incomoda que todos estejam acessando essa global. Eu passaria esses parâmetros via evento de criação/ativação. O que acham?

toshikurauchi commented 2 years ago

Boa! Aí inclusive só passaria os parâmetros específicos de cada plugin. Isola bem melhor. Gostei dessa solução.