ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ನನ್ನ ಐಟಿ ವೃತ್ತಿಜೀವನದಲ್ಲಿ ಸಹೋದ್ಯೋಗಿಗಳು, ಕ್ಲೈಂಟ್‌ಗಳು ಮತ್ತು ಸಾರ್ವಜನಿಕವಾಗಿ ಮಾತನಾಡುವವರಿಗೆ ನಾನು ಡಜನ್ಗಟ್ಟಲೆ ಪ್ರಸ್ತುತಿಗಳನ್ನು ನೀಡಿದ್ದೇನೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಹಲವು ವರ್ಷಗಳಿಂದ, ಪವರ್‌ಪಾಯಿಂಟ್ ನನಗೆ ಸ್ಲೈಡ್ ಉತ್ಪಾದನಾ ಸಾಧನವಾಗಿ ನೈಸರ್ಗಿಕ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹ ಆಯ್ಕೆಯಾಗಿದೆ. ಆದರೆ ಈ ವರ್ಷ ಪರಿಸ್ಥಿತಿ ಗುಣಾತ್ಮಕವಾಗಿ ಬದಲಾಗಿದೆ. ಫೆಬ್ರವರಿಯಿಂದ ಮೇ ವರೆಗೆ, ಐದು ಸಮ್ಮೇಳನಗಳಲ್ಲಿ ಮಾತನಾಡಲು ನನಗೆ ಅವಕಾಶ ಸಿಕ್ಕಿತು ಮತ್ತು ವರದಿಗಳ ಸ್ಲೈಡ್‌ಗಳನ್ನು ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ ಸಿದ್ಧಪಡಿಸಬೇಕಾಗಿತ್ತು, ಆದರೆ ಉತ್ತಮ ಗುಣಮಟ್ಟದೊಂದಿಗೆ. ಸ್ಲೈಡ್‌ಗಳ ದೃಶ್ಯ ವಿನ್ಯಾಸದ ಬಗ್ಗೆ ಕೆಲಸದ ಭಾಗವನ್ನು ಇತರ ಜನರಿಗೆ ನಿಯೋಜಿಸುವ ಬಗ್ಗೆ ಪ್ರಶ್ನೆ ಉದ್ಭವಿಸಿದೆ. ನಾನು ಒಮ್ಮೆ ಡಿಸೈನರ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದೆ, .pptx ಫೈಲ್‌ಗಳನ್ನು ಮೇಲ್ ಮೂಲಕ ಕಳುಹಿಸುತ್ತಿದ್ದೆ, ಆದರೆ ಕೆಲಸವು ಗೊಂದಲಕ್ಕೆ ತಿರುಗಿತು: ಸ್ಲೈಡ್‌ಗಳ ಯಾವ ಆವೃತ್ತಿಯು "ಹೊಸತು" ಎಂದು ಯಾರಿಗೂ ತಿಳಿದಿರಲಿಲ್ಲ ಮತ್ತು ಪವರ್‌ಪಾಯಿಂಟ್‌ನಲ್ಲಿನ ವ್ಯತ್ಯಾಸದಿಂದಾಗಿ ಲೇಔಟ್ "ಚಲಿಸುತ್ತಿದೆ" ನಮ್ಮ ಗಣಕಗಳಲ್ಲಿ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಫಾಂಟ್‌ಗಳು. ಮತ್ತು ನಾನು ಹೊಸದನ್ನು ಪ್ರಯತ್ನಿಸಲು ನಿರ್ಧರಿಸಿದೆ. ನಾನು ಅದನ್ನು ಪ್ರಯತ್ನಿಸಿದೆ, ಮತ್ತು ಅಂದಿನಿಂದ ನಾನು ಪವರ್‌ಪಾಯಿಂಟ್‌ಗೆ ಹಿಂತಿರುಗುವ ಬಗ್ಗೆ ಯೋಚಿಸಿಲ್ಲ.

ನಮಗೆ ಏನು ಬೇಕು

ಸುಮಾರು ಒಂದೂವರೆ ವರ್ಷಗಳ ಹಿಂದೆ, ನಮ್ಮ ಕಂಪನಿಯು ಪ್ರಾಜೆಕ್ಟ್ ದಸ್ತಾವೇಜನ್ನು ರಚಿಸಲು ವರ್ಡ್ ಬಳಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ, ಅದೇ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಿದೆ: ಸಣ್ಣ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಟೈಪ್ ಮಾಡಲು ವರ್ಡ್ ಉತ್ತಮವಾಗಿದ್ದರೂ, ಪರಿಮಾಣವು ಬೆಳೆದಂತೆ, ಸಹಯೋಗದೊಂದಿಗೆ ಮತ್ತು ಉತ್ತಮ-ಗುಣಮಟ್ಟದ ಮತ್ತು ಪಡೆಯುವಲ್ಲಿ ತೊಂದರೆಗಳು ಉಂಟಾಗುತ್ತವೆ. ಏಕೀಕೃತ ವಿನ್ಯಾಸ. ನಮ್ಮ ಆಯ್ಕೆ ಬಿದ್ದುಹೋಯಿತು ಅಸ್ಸೈಡಾಕ್ಟರ್, ಮತ್ತು ಈ ಆಯ್ಕೆಯಲ್ಲಿ ನಾವು ಎಂದಿಗೂ ಸಂತೋಷಪಡುವುದನ್ನು ನಿಲ್ಲಿಸುವುದಿಲ್ಲ, ಆದರೆ ಇದು ಪ್ರತ್ಯೇಕ ಲೇಖನಕ್ಕಾಗಿ ಒಂದು ವಿಷಯವಾಗಿದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, "ಎಲ್ಲವನ್ನೂ ಕೋಡ್‌ನಂತೆ" DevOps ತತ್ವಗಳ ಪರಿಣಾಮಕಾರಿತ್ವವನ್ನು ನಾವು ಕಲಿತಿದ್ದೇವೆ, ಆದ್ದರಿಂದ ಪ್ರಸ್ತುತಿ ಸ್ಲೈಡ್‌ಗಳನ್ನು ರಚಿಸಲು ಹೊಸ ತಂತ್ರಜ್ಞಾನದ ಅವಶ್ಯಕತೆಗಳ ಆಯ್ಕೆಯು ಸಾಕಷ್ಟು ಸ್ಪಷ್ಟವಾಗಿತ್ತು:

  1. ಪ್ರಸ್ತುತಿಯು ಮಾರ್ಕ್ಅಪ್ ಭಾಷೆಯಲ್ಲಿ ಸರಳ ಪಠ್ಯ ಫೈಲ್ ಆಗಿರಬೇಕು.
  2. ನಮ್ಮ ಸ್ಲೈಡ್‌ಗಳು ಅಭಿವೃದ್ಧಿ ಯೋಜನೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ, ಆದ್ದರಿಂದ ಮಾರ್ಕ್‌ಅಪ್ ಬಾಹ್ಯ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಆಶ್ರಯಿಸದೆ ಸುಲಭವಾಗಿ ಸೇರಿಸಬೇಕು
    • ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟ್ ಮಾಡುವ ಕೋಡ್ ತುಣುಕುಗಳು,
    • ಬಾಣಗಳಿಂದ ಜೋಡಿಸಲಾದ ಜ್ಯಾಮಿತೀಯ ಆಕಾರಗಳ ರೂಪದಲ್ಲಿ ಸರಳ ರೇಖಾಚಿತ್ರಗಳು,
    • UML ರೇಖಾಚಿತ್ರಗಳು, ಫ್ಲೋಚಾರ್ಟ್‌ಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು.
  3. ಪ್ರಸ್ತುತಿ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಬೇಕು.
  4. ಮುಗಿದ ಸ್ಲೈಡ್‌ಗಳ ಮೌಲ್ಯಮಾಪನ ಮತ್ತು ಜೋಡಣೆಯನ್ನು CI ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಮಾಡಬೇಕು.

ಇಂದು, ಮಾರ್ಕ್ಅಪ್ ಭಾಷೆಗಳಲ್ಲಿ ಸ್ಲೈಡ್ಗಳನ್ನು ರಚಿಸಲು ಎರಡು ಮೂಲಭೂತ ಆಯ್ಕೆಗಳಿವೆ: ಪ್ಯಾಕೇಜ್ ಬೀಮರ್ LaTeX ಗಾಗಿ ಅಥವಾ HTML/CSS ಬಳಸಿಕೊಂಡು ಸ್ಲೈಡ್‌ಗಳನ್ನು ರಚಿಸಲು ಚೌಕಟ್ಟುಗಳಲ್ಲಿ ಒಂದನ್ನು (ರಿವೀಲ್ ಜೆಎಸ್, ಹೇಳಿಕೆ, deck.js ಮತ್ತು ಅನೇಕ ಇತರರು).

ನನ್ನ ಆತ್ಮವು LaTeX ನಲ್ಲಿದೆಯಾದರೂ, ನಾನು ಮಾತ್ರ ಬಳಸದ ಪರಿಹಾರದ ಆಯ್ಕೆಯು ವ್ಯಾಪಕವಾದ ಜನರ ವಲಯಕ್ಕೆ ಪರಿಚಿತವಾಗಿರುವ ಪರಿಹಾರದ ಬದಿಯಲ್ಲಿರಬೇಕು ಎಂದು ನನ್ನ ಮನಸ್ಸು ನಿರ್ದೇಶಿಸಿದೆ. ಎಲ್ಲರಿಗೂ LaTeX ತಿಳಿದಿಲ್ಲ, ಮತ್ತು ನಿಮ್ಮ ದೈನಂದಿನ ಅಭ್ಯಾಸವು ವೈಜ್ಞಾನಿಕ ಲೇಖನಗಳನ್ನು ಬರೆಯುವುದಕ್ಕೆ ಸಂಬಂಧಿಸಿಲ್ಲದಿದ್ದರೆ, ಈ ವ್ಯವಸ್ಥೆಯ ಬೃಹತ್, ಸಂಕೀರ್ಣ ಜಗತ್ತಿನಲ್ಲಿ ನಿಮ್ಮನ್ನು ಮುಳುಗಿಸಲು ನಿಮಗೆ ಸಮಯವಿರುವುದಿಲ್ಲ.

ಆದಾಗ್ಯೂ, HTML/CSS ನ ಪಾಂಡಿತ್ಯವು ನಿಖರವಾಗಿ ವ್ಯಾಪಕವಾದ ಕೌಶಲ್ಯವಲ್ಲ: ಉದಾಹರಣೆಗೆ, ನಾನು ಅದರಲ್ಲಿ ಸಂಪೂರ್ಣ ಪರಿಣತಿಯಿಂದ ದೂರವಿದ್ದೇನೆ. ಅದೃಷ್ಟವಶಾತ್, ಈಗಾಗಲೇ ಪರಿಚಿತ AsciiDoctor ಪಾರುಗಾಣಿಕಾಕ್ಕೆ ಬರುತ್ತದೆ: ಪರಿವರ್ತಕ ಆಸಿಡೋಕ್ಟರ್-ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ AsciiDoctor ಮಾರ್ಕ್ಅಪ್ ಬಳಸಿಕೊಂಡು RevealJS ಸ್ಲೈಡ್‌ಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಮತ್ತು ಕಲಿಯಲು ಸುಲಭ ಮತ್ತು ಎಲ್ಲರಿಗೂ ಪ್ರವೇಶಿಸಬಹುದು!

ಸ್ಲೈಡ್‌ಗಳನ್ನು ಕೋಡ್ ಮಾಡುವುದು ಹೇಗೆ

AsciiDoctor ನಲ್ಲಿ ಕೋಡಿಂಗ್ ಸ್ಲೈಡ್‌ಗಳ ಸಾರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ನಿರ್ದಿಷ್ಟ ಉದಾಹರಣೆಗಳನ್ನು ನೀಡುವುದು ಸುಲಭವಾದ ಮಾರ್ಗವಾಗಿದೆ. ಇವೆಲ್ಲವೂ ಈ ವರ್ಷದ ನನ್ನ ಕಾನ್ಫರೆನ್ಸ್ ಪ್ರಸ್ತುತಿಗಳಿಗಾಗಿ ನಾನು ಮಾಡಿದ ನಿಜವಾದ ಸ್ಲೈಡ್‌ಗಳಿಂದ ಬಂದವು.

ಶೀರ್ಷಿಕೆಯೊಂದಿಗೆ ಸ್ಲೈಡ್ ಮತ್ತು ಐಟಂಗಳ ಪಟ್ಟಿ ಒಂದರ ನಂತರ ಒಂದರಂತೆ ತೆರೆಯುತ್ತದೆ:

== Зачем нам Streams API?

[%step]
* Real-time stream processing
* Stream-like API (map / reduce)
* Под капотом:
** Автоматический offset commit
** Ребалансировка
** Внутреннее состояние обработчиков
** Легкое масштабирование

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟ್‌ನೊಂದಿಗೆ ಶಿರೋಲೇಖ ಮತ್ತು ಮೂಲ ಕೋಡ್ ತುಣುಕು:

== Kafka Streams API: общая структура KStreams-приложения

[source,java]
----
StreamsConfig config = ...;
//Здесь устанавливаем всякие опции

Topology topology = new StreamsBuilder()
//Здесь строим топологию
....build();
----

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಚರ್ಚೆಯ ತಯಾರಿಯಲ್ಲಿ, ಕೋಡ್ ಡೆಮೊಗಳು ಪುನರಾವರ್ತಿತ ಪರಿಷ್ಕರಣೆಗಳು ಮತ್ತು ಸುಧಾರಣೆಗಳಿಗೆ ಒಳಗಾಗುತ್ತವೆ, ಆದ್ದರಿಂದ "ರಾ ಕೋಡ್" ಅನ್ನು ನೇರವಾಗಿ ಸ್ಲೈಡ್‌ಗೆ ತ್ವರಿತವಾಗಿ ನಕಲಿಸುವ ಮತ್ತು ಅಂಟಿಸುವ ಸಾಮರ್ಥ್ಯವು ಅಮೂಲ್ಯವಾಗಿದೆ, ಸಿಂಟ್ಯಾಕ್ಸ್ ಹೈಲೈಟ್ ಮಾಡುವ ಬಗ್ಗೆ ಚಿಂತಿಸದೆ ಡೆಮೊ ನವೀಕೃತವಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ಶೀರ್ಷಿಕೆ, ವಿವರಣೆ ಮತ್ತು ಪಠ್ಯ (ಸ್ಲೈಡ್‌ನಲ್ಲಿನ ಲೇಔಟ್ ಅನ್ನು ಸೆಲ್‌ಗಳಲ್ಲಿ ಮಾಡಲಾಗುತ್ತದೆ AsciiDoctor ಕೋಷ್ಟಕಗಳು):

== Kafka Streams in Action

[.custom-style]
[cols="30a,70a"]
|===
|image::KSIA.jpg[]
|
* **William Bejeck**, +
“Kafka Streams in Action”, November 2018
* Примеры кода для Kafka 1.0
|===

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಕೆಲವೊಮ್ಮೆ ಶೀರ್ಷಿಕೆ ಅಗತ್ಯವಿಲ್ಲ, ಮತ್ತು ನಿಮ್ಮ ಬಿಂದುವನ್ನು ವಿವರಿಸಲು ನಿಮಗೆ ಪೂರ್ಣ-ಪರದೆಯ ಚಿತ್ರ ಬೇಕಾಗುತ್ತದೆ:

[%notitle]
== Жить в легаси нелегко

image::swampman.jpg[canvas, size=cover]

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಸಾಮಾನ್ಯವಾಗಿ ಒಂದು ಕಲ್ಪನೆಯನ್ನು ಸರಳ ರೇಖಾಚಿತ್ರದಿಂದ ಬೆಂಬಲಿಸಬೇಕಾಗುತ್ತದೆ, "ಬಾಣಗಳಿಂದ ಜೋಡಿಸಲಾದ ಚೌಕಗಳು" ರೂಪದಲ್ಲಿ. ಅದೃಷ್ಟವಶಾತ್, AsciiDoctor ಸಿಸ್ಟಮ್‌ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲ್ಪಟ್ಟಿದೆ ಗ್ರಾಫ್ವಿಜ್ — ಶೃಂಗಗಳ ವಿವರಣೆ ಮತ್ತು ಅವುಗಳ ನಡುವಿನ ಸಂಪರ್ಕಗಳ ಆಧಾರದ ಮೇಲೆ ಗ್ರಾಫ್ ರೇಖಾಚಿತ್ರಗಳನ್ನು ವಿವರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಭಾಷೆ. ಗ್ರಾಫ್ವಿಜ್ ಕಲಿಕೆಯ ರೇಖೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಒದಗಿಸಿದ ಉದಾಹರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ, ಅದನ್ನು ಮಾಡಲು ತುಂಬಾ ಸುಲಭ! ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

== Пишем “Bet Totalling App”

Какова сумма выплат по сделанным ставкам, если сыграет исход?

[graphviz, "counting-topology.png"]
-----
digraph G {
graph [ dpi = 150 ];
rankdir="LR";
node [fontsize=18; shape="circle"; fixedsize="true"; width="1.1"];
Store [shape="cylinder"; label="Local Store"; fixedsize="true"; width="1.5"]
Source -> MapVal -> Sum -> Sink
Sum -> Store [dir=both; label=" n "]
{rank = same; Store; Sum;}
}
-----

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಆಕೃತಿಯ ಮೇಲಿನ ಶೀರ್ಷಿಕೆಯನ್ನು ಸಂಪಾದಿಸಲು, ಬಾಣದ ದಿಕ್ಕನ್ನು ಬದಲಾಯಿಸಲು, ಇತ್ಯಾದಿಗಳ ಅಗತ್ಯವಿದ್ದಾಗ, ಚಿತ್ರವನ್ನು ಎಲ್ಲೋ ಪುನಃ ಚಿತ್ರಿಸುವ ಮತ್ತು ಅದನ್ನು ಸ್ಲೈಡ್‌ಗೆ ಮರುಸೇರಿಸುವ ಬದಲು ನೇರವಾಗಿ ಪ್ರಸ್ತುತಿ ಕೋಡ್‌ನಲ್ಲಿ ಇದನ್ನು ಮಾಡಬಹುದು. ಇದು ಸ್ಲೈಡ್‌ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವ ವೇಗವನ್ನು ಗಣನೀಯವಾಗಿ ಹೆಚ್ಚಿಸುತ್ತದೆ.

ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಉದಾಹರಣೆ:

== Невоспроизводимая сборка
[graphviz, "unstable-update.png"]
-----
digraph G {
  rankdir="LR";
  graph [ dpi = 150 ];
  u -> r0;
  u[shape=plaintext; label="linter updaten+ 13 warnings"]
  r0[shape=point, width = 0]
  r1 -> r0[ arrowhead = none, label="master branch" ];
  r0-> r2 [];   b1 -> b4;  r1->b1
  r1[label="150nwarnings"]
  b1[label="± 0nwarnings"]
  b4[label="± 0nwarnings"]
  b4->r2
  r2[label="163nwarnings", color="red", xlabel=<<font color="red">merge blocked</font>>]
  {rank = same; u; r0; b4;}
}
-----

ಪರಿಣಾಮವಾಗಿ

ಕೋಡ್‌ನಂತೆ ಪ್ರಸ್ತುತಿ, ಅಥವಾ ನಾನು ಇನ್ನು ಮುಂದೆ ಪವರ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಏಕೆ ಬಳಸುವುದಿಲ್ಲ

ಮೂಲಕ, ಪುಟದಲ್ಲಿ ಗ್ರಾಫ್ವಿಜ್ ಮತ್ತು ಡೀಬಗ್ ಚಿತ್ರಗಳೊಂದಿಗೆ ಪ್ರಯೋಗಿಸಲು ಇದು ಅನುಕೂಲಕರವಾಗಿದೆ ಗ್ರಾಫ್ವಿಜ್ ಆನ್ಲೈನ್.

ಅಂತಿಮವಾಗಿ, ನೀವು ಫ್ಲೋಚಾರ್ಟ್, ವರ್ಗ ರೇಖಾಚಿತ್ರ ಅಥವಾ ಇತರ ಪ್ರಮಾಣಿತ ರೇಖಾಚಿತ್ರವನ್ನು ಸ್ಲೈಡ್‌ಗೆ ಸೇರಿಸಬೇಕಾದರೆ, AsciiDoctor ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾದ ಮತ್ತೊಂದು ವ್ಯವಸ್ಥೆಯು ರಕ್ಷಣೆಗೆ ಬರಬಹುದು, ಸಸ್ಯUML. ನನ್ನ ಸಹೋದ್ಯೋಗಿ ನಿಕೊಲಾಯ್ ಪೊಟಾಶ್ನಿಕೋವ್ PlantUML ನ ವ್ಯಾಪಕ ಸಾಮರ್ಥ್ಯಗಳ ಬಗ್ಗೆ ಬರೆದಿದ್ದಾರೆ ಪ್ರತ್ಯೇಕ ಪೋಸ್ಟ್.

ಪ್ರಸ್ತುತಿ ಯೋಜನೆಯನ್ನು ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ಕೋಡ್ ಆಗಿ ಪರಿವರ್ತಿಸುವುದರಿಂದ ಪ್ರಸ್ತುತಿಯಲ್ಲಿ ಜಂಟಿ ಕೆಲಸವನ್ನು ಸಂಘಟಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ, ಮೊದಲನೆಯದಾಗಿ, ವಿಷಯ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ರಚಿಸುವ ಕಾರ್ಯಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು. RevealJS ನಲ್ಲಿ ಸ್ಲೈಡ್‌ಗಳ ವಿನ್ಯಾಸ (ಫಾಂಟ್‌ಗಳು, ಹಿನ್ನೆಲೆಗಳು, ಇಂಡೆಂಟ್‌ಗಳು) CSS ಅನ್ನು ಬಳಸಿಕೊಂಡು ವಿವರಿಸಲಾಗಿದೆ. CSS ನೊಂದಿಗೆ ನನ್ನ ವೈಯಕ್ತಿಕ ಕೌಶಲ್ಯವನ್ನು ಉತ್ತಮವಾಗಿ ತಿಳಿಸಲಾಗಿದೆ ಈ gif - ಆದರೆ ಸಿಎಸ್‌ಎಸ್‌ನೊಂದಿಗೆ ನನಗಿಂತ ಹೆಚ್ಚು ಕೌಶಲ್ಯದಿಂದ ಮತ್ತು ವೇಗವಾಗಿ ಕೆಲಸ ಮಾಡುವ ಜನರು ಇದ್ದಾಗ ಅದು ಭಯಾನಕವಲ್ಲ. ಪರಿಣಾಮವಾಗಿ, ಪ್ರಸ್ತುತಿಗಾಗಿ ಶೀಘ್ರವಾಗಿ ಸಮೀಪಿಸುತ್ತಿರುವ ಗಡುವಿನ ಜೊತೆಗೆ, ನಾವು Git ಮೂಲಕ ವಿವಿಧ ಫೈಲ್‌ಗಳಲ್ಲಿ ಏಕಕಾಲದಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಹುದು ಮತ್ತು ಮೇಲ್ ಮೂಲಕ .pptx ಫೈಲ್‌ಗಳನ್ನು ಕಳುಹಿಸುವಾಗ ಅಸಾಧ್ಯವಾದ ಸಹಯೋಗದ ವೇಗವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು.

ಸ್ಲೈಡ್‌ಗಳೊಂದಿಗೆ HTML ಪುಟವನ್ನು ನಿರ್ಮಿಸುವುದು

ಸರಳ ಪಠ್ಯ ಮೂಲಗಳು ಉತ್ತಮವಾಗಿವೆ, ಆದರೆ ನೀವು ಅವುಗಳನ್ನು ಪ್ರಸ್ತುತಿಯಲ್ಲಿ ಹೇಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತೀರಿ?

AsciiDoctor ರೂಬಿಯಲ್ಲಿ ಬರೆಯಲಾದ ಯೋಜನೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಚಲಾಯಿಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ. ಮೊದಲಿಗೆ, ನೀವು ರೂಬಿ ಭಾಷೆಯನ್ನು ಸ್ಥಾಪಿಸಬಹುದು ಮತ್ತು ಆಸಿಡಾಕ್ಟರ್ ಅನ್ನು ನೇರವಾಗಿ ರನ್ ಮಾಡಬಹುದು, ಇದು ಬಹುಶಃ ರೂಬಿ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹತ್ತಿರದ ವಿಷಯವಾಗಿದೆ.

ರೂಬಿಯನ್ನು ಸ್ಥಾಪಿಸುವುದರೊಂದಿಗೆ ನೀವು ಗೊಂದಲಗೊಳ್ಳಲು ಬಯಸದಿದ್ದರೆ, ನೀವು ಡಾಕರ್ ಚಿತ್ರವನ್ನು ಬಳಸಬಹುದು ಆಸಿಡೋಕ್ಟರ್/ಡಾಕರ್-ಆಸಿಡೋಕ್ಟರ್, ಇದರಲ್ಲಿ, ಪ್ರಾರಂಭಿಸಿದಾಗ, ನೀವು VOLUME ಮೂಲಕ ಯೋಜನೆಯ ಮೂಲಗಳೊಂದಿಗೆ ಫೋಲ್ಡರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಸ್ಥಳದಲ್ಲಿ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಬಹುದು.

ನಾನು ಆಯ್ಕೆ ಮಾಡಿದ ಆಯ್ಕೆಯು ಸ್ವಲ್ಪ ಅನಿರೀಕ್ಷಿತವಾಗಿ ಕಾಣಿಸಬಹುದು, ಆದರೆ ಇದು ಜಾವಾ ಡೆವಲಪರ್ ಆಗಿ ನನಗೆ ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿದೆ. ಇದಕ್ಕೆ ರೂಬಿ ಅಥವಾ ಡಾಕರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಮಾವೆನ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ಲೈಡ್‌ಗಳನ್ನು ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಪಾಯಿಂಟ್ ಎಂಬುದು ಯೋಜನೆಯಾಗಿದೆ ಜೆ.ರೂಬಿ - ರೂಬಿ ಭಾಷೆಯ ಜಾವಾ ಅಳವಡಿಕೆಯು ಎಷ್ಟು ಉತ್ತಮವಾಗಿದೆ ಎಂದರೆ ರೂಬಿಗಾಗಿ ರಚಿಸಲಾದ ಬಹುತೇಕ ಯಾವುದನ್ನಾದರೂ ಜಾವಾ ಯಂತ್ರದಲ್ಲಿ ಚಲಾಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು AsciiDoctor ಅನ್ನು ಚಾಲನೆ ಮಾಡುವುದು JRuby ಯ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಬಳಕೆಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

ಲಭ್ಯತೆ asciidoctor-maven-plugin ಜಾವಾ ಯೋಜನೆಯ ಭಾಗವಾಗಿರುವ (ನಾವು ಸಕ್ರಿಯವಾಗಿ ಬಳಸುತ್ತಿರುವ) AsciiDoctor ದಸ್ತಾವೇಜನ್ನು ಸಂಗ್ರಹಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, AsciiDoctor ಮತ್ತು JRuby ಅನ್ನು ಮಾವೆನ್‌ನಿಂದ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು AsciiDoctor JRuby ಪರಿಸರದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ: ಯಂತ್ರದಲ್ಲಿ ಏನನ್ನೂ ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲ! (ಪ್ಯಾಕೇಜ್ ಹೊರತುಪಡಿಸಿ graphviz, ನೀವು GraphViz ಅಥವಾ PlantUML ಗ್ರಾಫಿಕ್ಸ್ ಅನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ ಇದು ಅಗತ್ಯವಾಗಿರುತ್ತದೆ.) ನಿಮ್ಮ .adoc ಫೈಲ್‌ಗಳನ್ನು ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಇರಿಸಿ src/main/asciidoc/. ಇಲ್ಲಿ ಪೋಮ್ನಿಕ್ ಉದಾಹರಣೆರೇಖಾಚಿತ್ರಗಳೊಂದಿಗೆ ಸ್ಲೈಡ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು.

ಸ್ಲೈಡ್‌ಗಳನ್ನು PDF ಗೆ ಪರಿವರ್ತಿಸಿ

ಸ್ಲೈಡ್‌ಗಳ HTML ಆವೃತ್ತಿಯು ಸಾಕಷ್ಟು ಸ್ವಾವಲಂಬಿಯಾಗಿದ್ದರೂ, ಸ್ಲೈಡ್‌ಗಳ PDF ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿರುವುದು ಇನ್ನೂ ಅವಶ್ಯಕವಾಗಿದೆ. ಮೊದಲನೆಯದಾಗಿ, ಸ್ಪೀಕರ್‌ಗೆ ತನ್ನದೇ ಆದ ಲ್ಯಾಪ್‌ಟಾಪ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುವ ಅವಕಾಶವನ್ನು ಒದಗಿಸದ ಕೆಲವು ಸಮ್ಮೇಳನಗಳಲ್ಲಿ, ಅವರು HTML ನಲ್ಲಿದ್ದಾರೆ ಎಂದು ನಿರೀಕ್ಷಿಸದೆಯೇ ಅವರಿಗೆ "ಕಟ್ಟುನಿಟ್ಟಾಗಿ pptx ಅಥವಾ pdf ಸ್ವರೂಪದಲ್ಲಿ" ಸ್ಲೈಡ್‌ಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ಎರಡನೆಯದಾಗಿ, ನಿಮ್ಮ ಸ್ಲೈಡ್‌ಗಳ ಎಡಿಟ್ ಮಾಡದ ಆವೃತ್ತಿಯನ್ನು ವರದಿಯಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಸಂಘಟಕರಿಗೆ ಕಳುಹಿಸುವುದು ಉತ್ತಮ ರೂಪವಾಗಿದೆ, ಕಾನ್ಫರೆನ್ಸ್ ಸಾಮಗ್ರಿಗಳಲ್ಲಿ ಫೈಲ್ ಅನ್ನು ಪ್ರಕಟಿಸಲು PDF ಸ್ವರೂಪದಲ್ಲಿ.

ಅದೃಷ್ಟವಶಾತ್, Node.js ಉಪಯುಕ್ತತೆಯು ಈ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಡೆಕ್ಟೇಪ್, ಆಧಾರದ ಮೇಲೆ ನಿರ್ಮಿಸಲಾಗಿದೆ ಕೈಗೊಂಬೆ - ಕ್ರೋಮ್ ಬ್ರೌಸರ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಸ್ವಯಂಚಾಲಿತ ವ್ಯವಸ್ಥೆಗಳು. ಆಜ್ಞೆಯೊಂದಿಗೆ ನೀವು RevealJS ಪ್ರಸ್ತುತಿಯನ್ನು PDF ಗೆ ಪರಿವರ್ತಿಸಬಹುದು

node decktape.js -s 3200x1800 --slides 1-500 
  reveal "file:///index.html?fragments=true" slides.pdf  

ಡೆಕ್‌ಟೇಪ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಎರಡು ತಂತ್ರಗಳು, ನಾವು ಪ್ರಯೋಗ ಮತ್ತು ದೋಷದ ಮೂಲಕ ಬರಬೇಕಾಗಿತ್ತು:

  • ನಿಯತಾಂಕದ ಮೂಲಕ ರೆಸಲ್ಯೂಶನ್ -s ಎರಡು ಪಟ್ಟು ಅಂಚುಗಳೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು, ಇಲ್ಲದಿದ್ದರೆ ಪರಿವರ್ತನೆ ಫಲಿತಾಂಶಗಳೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳಿರಬಹುದು

  • ಪ್ರಸ್ತುತಿಯ HTML ಆವೃತ್ತಿಯ URL ನಲ್ಲಿ ನೀವು ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ರವಾನಿಸಬೇಕಾಗಿದೆ ?fragments=true, ಇದು ನಿಮ್ಮ ಸ್ಲೈಡ್‌ನ ಪ್ರತಿ ಮಧ್ಯಂತರ ಸ್ಥಿತಿಗೆ ಪ್ರತ್ಯೇಕ PDF ಪುಟವನ್ನು ರಚಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಐದು ಬುಲೆಟ್ ಪಾಯಿಂಟ್‌ಗಳಿಗೆ ಐದು ಪುಟಗಳನ್ನು ಒಂದರ ನಂತರ ಒಂದರಂತೆ ತೋರಿಸಿದರೆ). ವರದಿಯ ಸಮಯದಲ್ಲಿ ಪ್ರಸ್ತುತಿಯಾಗಿ ಅಂತಹ PDF ಅನ್ನು ಬಳಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಸ್ವಯಂಚಾಲಿತ ಜೋಡಣೆ ಮತ್ತು ವೆಬ್‌ನಲ್ಲಿ ಪ್ರಕಟಿಸುವುದು

ಆವೃತ್ತಿ ನಿಯಂತ್ರಣ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದಾಗ ಸ್ಲೈಡ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಕಲಿಸಿದಾಗ ಇದು ಅನುಕೂಲಕರವಾಗಿರುತ್ತದೆ ಮತ್ತು ಸಾರ್ವಜನಿಕ ಬಳಕೆಗಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಂಪೈಲ್ ಮಾಡಿದ ಸ್ಲೈಡ್‌ಗಳನ್ನು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಪೋಸ್ಟ್ ಮಾಡಿದಾಗ ಇನ್ನಷ್ಟು ಅನುಕೂಲಕರವಾಗಿರುತ್ತದೆ. ಇಂಟರ್ನೆಟ್ ಮತ್ತು ಪ್ರೊಜೆಕ್ಟರ್‌ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಯಾವುದೇ ಯಂತ್ರದಿಂದ ಪ್ರೇಕ್ಷಕರ ಮುಂದೆ ಇಂಟರ್ನೆಟ್‌ನಿಂದ ಸ್ಲೈಡ್‌ಗಳನ್ನು ಸುಲಭವಾಗಿ "ಪ್ಲೇ" ಮಾಡಬಹುದು.

ನಮ್ಮ ಕೆಲಸದಲ್ಲಿ ನಾವು GitHub ಅನ್ನು ಬಳಸುವುದರಿಂದ, CI ಸಿಸ್ಟಮ್‌ನ ನೈಸರ್ಗಿಕ ಆಯ್ಕೆಯಾಗಿದೆ ಟ್ರಾವಿಸ್ಸಿಐ, ಮತ್ತು ಸಿದ್ಧ ಪ್ರಸ್ತುತಿಗಳನ್ನು ಹೋಸ್ಟ್ ಮಾಡಲು - github.io. github.io ಹಿಂದಿನ ಕಲ್ಪನೆಯೆಂದರೆ ಯಾವುದೇ ಸ್ಥಿರ ವಿಷಯವನ್ನು ಶಾಖೆಗೆ ಪೋಸ್ಟ್ ಮಾಡಲಾಗಿದೆ gh-pages GitHub ನಲ್ಲಿ ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್, ಇಲ್ಲಿ ಲಭ್ಯವಾಗುತ್ತದೆ <ваше имя>.gihub.io/<ваш проект>.

Maven ಬಳಸಿಕೊಂಡು ಪುಟದ HTML ಆವೃತ್ತಿಯನ್ನು ಕಂಪೈಲ್ ಮಾಡುವುದು, ಡೆಕ್‌ಟೇಪ್ ಬಳಸಿ PDF ಗೆ ಪರಿವರ್ತಿಸುವುದು ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ಥ್ರೆಡ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡುವುದು ಸೇರಿದಂತೆ TravisCI ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ gh-pages github.io ನಲ್ಲಿ ಪ್ರಕಟಣೆಗಾಗಿ, ತೋರುತ್ತಿದೆ ಆದ್ದರಿಂದ.

TravisCI ಭಾಗದಲ್ಲಿ ಅಂತಹ ಯೋಜನೆಯನ್ನು ನಿರ್ಮಿಸಲು, ನೀವು ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ

  • GH_REF — github.com/inponomarev/csa-hb ನಂತಹ ಮೌಲ್ಯ
  • GH_TOKEN - GitHub ಪ್ರವೇಶ ಟೋಕನ್. ನಿಮ್ಮ ಪ್ರೊಫೈಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಡೆವಲಪರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು -> ವೈಯಕ್ತಿಕ ಪ್ರವೇಶ ಟೋಕನ್‌ಗಳಲ್ಲಿ ನೀವು ಅದನ್ನು GitHub ನಿಂದ ಪಡೆಯಬಹುದು. ನೀವು ಪ್ರಸ್ತುತಿಯನ್ನು ಸಾರ್ವಜನಿಕ ಭಂಡಾರಕ್ಕೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಿದರೆ, ಈ ಟೋಕನ್‌ಗಾಗಿ "ಸಾರ್ವಜನಿಕ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಪ್ರವೇಶಿಸಿ" ಪ್ರವೇಶ ಮಟ್ಟವನ್ನು ಮಾತ್ರ ಸೂಚಿಸಲು ಸಾಕು.
  • GH_USER_EMAIL / GH_USER_NAME — ಹೆಸರು/ಇಮೇಲ್ ಜೋಡಿಯ ಪರವಾಗಿ ಥ್ರೆಡ್‌ಗೆ ತಳ್ಳುವಿಕೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ gh-pages.

ಹೀಗಾಗಿ, GitHub ನಲ್ಲಿನ ಪ್ರಸ್ತುತಿ ಕೋಡ್‌ನ ಪ್ರತಿ ಬದ್ಧತೆಯು ಸ್ಲೈಡ್‌ಗಳನ್ನು HTML ಮತ್ತು PDF ಸ್ವರೂಪಗಳಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುನಿರ್ಮಾಣ ಮಾಡುತ್ತದೆ ಮತ್ತು github.io ಗೆ ಮರು-ಅಪ್‌ಲೋಡ್ ಆಗುತ್ತದೆ. (ಖಂಡಿತವಾಗಿಯೂ, ನೀವು ಅಂತಿಮವಾಗಿ ಸಾರ್ವಜನಿಕಗೊಳಿಸಲು ಬಯಸುವ ಪ್ರಸ್ತುತಿಗಳನ್ನು ಮಾತ್ರ ನೀವು github.io ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡಬೇಕು.)

ಯೋಜನೆಗಳ ಉದಾಹರಣೆಗಳು

ಅಂತಿಮವಾಗಿ, ಕಸ್ಟಮೈಸ್ ಮಾಡಿದ ಮಾವೆನ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಟ್ರಾವಿಸ್-ಸಿಐಗಾಗಿ CI ಕಾನ್ಫಿಗರೇಶನ್‌ನೊಂದಿಗೆ ಪ್ರಸ್ತುತಿ ಯೋಜನೆಗಳ ಒಂದೆರಡು ಉದಾಹರಣೆಗಳಿಗೆ ಲಿಂಕ್‌ಗಳು ಇಲ್ಲಿವೆ, ಅದನ್ನು ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಸ್ತುತಿ ಯೋಜನೆಗಳನ್ನು ರಚಿಸುವಾಗ ಕ್ಲೋನ್ ಮಾಡಬಹುದು ಮತ್ತು ಬಳಸಬಹುದು:

ವಿದಾಯ ಪವರ್ಪಾಯಿಂಟ್! ತಾಂತ್ರಿಕ ಪ್ರಸ್ತುತಿಗಳಿಗಾಗಿ ನನಗೆ ನಿಮ್ಮ ಅವಶ್ಯಕತೆ ಇದೆ ಎಂದು ನಾನು ಭಾವಿಸುವುದಿಲ್ಲ :)

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ