Commit b02f51ac authored by Sachin Patil's avatar Sachin Patil
Browse files

EmacsConf 2019 slides


Signed-off-by: psachin's avatarSachin Patil <psachin@redhat.com>
parent ee2c3e21
/**
* This stylesheet is used to print reveal.js
* presentations to PDF.
*
* https://github.com/hakimel/reveal.js#pdf-export
*/
* {
-webkit-print-color-adjust: exact;
}
body {
margin: 0 auto !important;
border: 0;
padding: 0;
float: none !important;
overflow: visible;
}
html {
width: 100%;
height: 100%;
overflow: visible;
}
/* Remove any elements not needed in print. */
.nestedarrow,
.reveal .controls,
.reveal .progress,
.reveal .playback,
.reveal.overview,
.fork-reveal,
.share-reveal,
.state-background {
display: none !important;
}
h1, h2, h3, h4, h5, h6 {
text-shadow: 0 0 0 #000 !important;
}
.reveal pre code {
overflow: hidden !important;
font-family: Courier, 'Courier New', monospace !important;
}
ul, ol, div, p {
visibility: visible;
position: static;
width: auto;
height: auto;
display: block;
overflow: visible;
margin: auto;
}
.reveal {
width: auto !important;
height: auto !important;
overflow: hidden !important;
}
.reveal .slides {
position: static;
width: 100% !important;
height: auto !important;
zoom: 1 !important;
left: auto;
top: auto;
margin: 0 !important;
padding: 0 !important;
overflow: visible;
display: block;
perspective: none;
perspective-origin: 50% 50%;
}
.reveal .slides .pdf-page {
position: relative;
overflow: hidden;
z-index: 1;
page-break-after: always;
}
.reveal .slides section {
visibility: visible !important;
display: block !important;
position: absolute !important;
margin: 0 !important;
padding: 0 !important;
box-sizing: border-box !important;
min-height: 1px;
opacity: 1 !important;
transform-style: flat !important;
transform: none !important;
}
.reveal section.stack {
position: relative !important;
margin: 0 !important;
padding: 0 !important;
page-break-after: avoid !important;
height: auto !important;
min-height: auto !important;
}
.reveal img {
box-shadow: none;
}
.reveal .roll {
overflow: visible;
line-height: 1em;
}
/* Slide backgrounds are placed inside of their slide when exporting to PDF */
.reveal .slide-background {
display: block !important;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: auto !important;
}
/* Display slide speaker notes when 'showNotes' is enabled */
.reveal.show-notes {
max-width: none;
max-height: none;
}
.reveal .speaker-notes-pdf {
display: block;
width: 100%;
height: auto;
max-height: none;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 100;
}
/* Layout option which makes notes appear on a separate page */
.reveal .speaker-notes-pdf[data-layout="separate-page"] {
position: relative;
color: inherit;
background-color: transparent;
padding: 20px;
page-break-after: always;
border: 0;
}
/* Display slide numbers when 'slideNumber' is enabled */
.reveal .slide-number-pdf {
display: block;
position: absolute;
font-size: 14px;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0" encoding="UTF-8"?>
<svg width="885px" height="272px" viewBox="0 0 885 272" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
<title>trello-logo-blue-flat</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#0079BF" offset="0%"></stop>
<stop stop-color="#0079BF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Logos" transform="translate(-509.000000, -485.000000)">
<g id="Group" transform="translate(-9.000000, 1.000000)">
<g id="Trello-Logo" transform="translate(468.000000, 0.000000)">
<g id="Trello-Logo---Blue---Flat" transform="translate(0.000000, 420.000000)">
<g id="Logo" transform="translate(50.000000, 64.000000)">
<g transform="translate(50.000000, 1.000000)">
<path d="M673.29354,177.589525 C660.522868,182.793147 650.445278,200.770881 635.1184,210.9888 C634.168,211.6224 633.2176,211.9392 632.584,211.9392 C631.3168,211.9392 629.7328,210.672 629.7328,204.9696 C629.7328,185.328 636.0688,175.824 641.4544,161.8848 C660.1456,113.4144 692.1424,71.9136 720.6544,26.6112 C722.872,23.1264 724.1392,19.3248 724.1392,15.2064 C724.1392,11.7216 722.872,8.8704 721.288,5.3856 C720.0208,2.5344 714.3184,0 707.9824,0 C704.4976,0 701.3296,0.3168 697.2112,0.3168 C682.3216,0.3168 679.1536,22.176 675.6688,27.8784 C651.9088,68.112 624.664,117.8496 610.7248,153.0144 C607.668102,160.897464 604.366309,168.780528 601.85663,176.871034 C588.081883,180.859826 577.762454,200.227697 561.6208,210.9888 C560.6704,211.6224 559.72,211.9392 559.0864,211.9392 C557.8192,211.9392 556.2352,210.672 556.2352,204.9696 C556.2352,185.328 562.5712,175.824 567.9568,161.8848 C586.648,113.4144 618.6448,71.9136 647.1568,26.6112 C649.3744,23.1264 650.6416,19.3248 650.6416,15.2064 C650.6416,11.7216 649.3744,8.8704 647.7904,5.3856 C646.5232,2.5344 640.8208,0 634.4848,0 C631,0 627.832,0.3168 623.7136,0.3168 C608.824,0.3168 605.656,22.176 602.1712,27.8784 C578.4112,68.112 551.1664,117.8496 537.2272,153.0144 C536.119038,155.872292 534.978662,158.730185 533.855495,161.597962 C533.508659,161.783218 533.154477,161.984114 532.792,162.2016 C516.6352,171.7056 503.0128,188.496 483.3712,199.9008 C479.5696,202.1184 467.848,210.3552 458.344,210.3552 C456.1264,210.3552 454.2256,209.7216 452.3248,208.7712 C449.4736,207.504 446.6224,201.4848 446.6224,199.584 C446.6224,198 446.9392,197.6832 450.1072,195.7824 C477.9856,178.992 500.7952,154.9152 520.4368,130.8384 C527.7232,121.968 537.2272,104.544 537.2272,91.872 C537.2272,83.6352 534.376,74.1312 524.5552,70.6464 C517.5856,68.112 509.6656,66.8448 503.3296,66.8448 C486.5392,66.8448 474.184,74.448 467.2144,81.7344 C460.118962,89.3092596 453.25569,97.087265 446.87931,105.138685 C440.217004,99.3868496 430.819897,96.9408 421.912,96.9408 C411.4576,96.9408 391.816,109.9296 381.6784,117.5328 C380.0944,118.8 379.144,119.4336 378.5104,119.4336 C378.1936,119.4336 377.8768,119.1168 377.8768,118.4832 C377.8768,118.1664 378.5104,115.3152 378.5104,110.2464 C378.5104,105.8112 377.56,100.1088 373.4416,93.1392 C372.4912,91.5552 366.7888,88.0704 359.8192,88.0704 C351.2656,88.0704 343.3456,92.1888 343.3456,96.624 C343.3456,99.792 346.1968,101.0592 346.1968,103.9104 C346.1968,105.4944 344.9296,112.7808 343.0288,119.7504 C337.6432,140.0256 330.9904,159.984 324.0208,179.9424 C320.2192,191.0304 307.5472,200.8512 307.5472,212.8896 C307.5472,216.6912 310.0816,221.76 313.5664,225.5616 C319.2688,231.8976 322.7536,234.1152 327.8224,234.1152 C330.04,234.1152 332.5744,233.4816 334.792,231.5808 C339.544,227.4624 342.0784,223.344 343.3456,217.6416 C351.5824,180.2592 375.3424,154.9152 401.6368,138.1248 C410.5072,132.4224 422.5456,126.4032 424.1296,126.4032 C425.753839,126.4032 428.294103,127.152675 430.853793,127.883111 C423.503522,139.871969 417.547939,152.515386 413.6752,166.0032 C412.408,170.4384 411.7744,174.5568 411.7744,178.992 C411.7744,186.2784 413.3584,193.8816 415.8928,201.168 C419.3776,211.3056 425.08,220.176 433,224.2944 C447.5728,231.8976 458.0272,236.016 467.5312,236.016 C472.9168,236.016 477.0352,235.0656 481.4704,232.5312 C502.292673,220.750177 515.058884,211.81247 524.277157,203.873846 C524.529918,211.922923 526.116566,216.382314 531.8416,222.3936 C537.544,228.4128 546.4144,233.7984 558.136,236.3328 C560.0368,236.6496 561.9376,236.9664 563.8384,236.9664 C577.249499,236.9664 590.155947,226.065941 600.108075,215.260049 C601.260342,217.618088 602.9348,219.86898 605.3392,222.3936 C611.0416,228.4128 619.912,233.7984 631.6336,236.3328 C633.5344,236.6496 635.4352,236.9664 637.336,236.9664 C653.045767,236.9664 668.063062,222.00902 678.45036,209.767345 C681.912282,216.927848 691.586543,224.007351 703.2304,229.68 C706.3984,231.264 710.2,232.2144 713.6848,232.2144 C727.3072,232.2144 737.128,221.1264 744.7312,212.8896 C764.3728,191.3472 775.144,164.736 783.3808,131.1552 C784.0144,128.6208 784.9648,127.6704 786.232,127.6704 C789.4,127.6704 793.5184,127.6704 797.9536,127.0368 C806.5072,125.7696 813.16,122.9184 821.08,121.6512 C825.832,120.7008 825.1984,119.1168 829.6336,117.5328 C832.8016,116.2656 835.336,114.9984 835.336,111.8304 C835.336,106.4448 825.5152,100.7424 810.6256,100.7424 C798.904,100.7424 791.9344,101.6928 787.1824,101.6928 C779.896,101.6928 777.9952,99.4752 773.2432,87.12 C773.2432,87.12 777.9952,99.4752 773.2432,87.12 C772.2928,84.5856 771.3424,83.3184 768.4912,80.784 C761.8384,75.0816 753.6016,73.1808 746.9488,73.1808 C731.1088,73.1808 717.4864,89.3376 707.9824,102.96 C705.7648,106.128 702.5968,108.6624 700.3792,112.1472 C687.329185,131.722222 674.834513,153.79629 673.29354,177.589525 Z M268.264,69.696 C276.184,69.696 280.6192,69.0624 281.5696,69.0624 C282.52,69.0624 283.1536,69.3792 283.1536,70.3296 C283.1536,70.9632 282.8368,71.9136 280.6192,76.6656 C261.2944,118.1664 247.9888,160.3008 236.2672,206.8704 C235.9504,208.1376 235,212.8896 235,217.6416 C235,222.0768 236.2672,226.8288 240.7024,229.3632 C249.256,234.432 256.2256,236.6496 260.9776,236.6496 C267.9472,236.6496 271.432,232.2144 271.432,224.928 C271.432,218.592 271.7488,211.9392 272.6992,206.8704 C281.5696,160.3008 294.8752,123.8688 315.4672,85.8528 C325.288,67.7952 326.5552,66.8448 326.5552,65.2608 C326.5552,64.6272 326.2384,63.6768 325.6048,62.7264 C338.2768,59.8752 353.4832,57.9744 367.4224,57.9744 C369.0064,57.9744 375.3424,60.192 376.2928,61.1424 C378.5104,63.36 380.728,65.5776 384.5296,65.5776 C387.6976,65.5776 393.0832,63.36 394.984,62.0928 C399.4192,58.9248 401.6368,55.44 401.6368,49.7376 C401.6368,44.352 381.6784,31.0464 367.7392,31.0464 C350.632,31.0464 335.1088,33.264 320.536,36.1152 C314.2,37.3824 291.3904,40.8672 274.9168,40.8672 C259.0768,40.8672 260.0272,38.6496 253.3744,38.6496 C249.5728,38.6496 247.672,40.5504 246.088,42.1344 C244.504,43.7184 243.5536,50.0544 243.5536,55.7568 C243.5536,58.608 243.5536,60.8256 245.1376,62.7264 C249.8896,68.4288 259.0768,69.696 268.264,69.696 C268.264,69.696 259.0768,69.696 268.264,69.696 Z M503.0128,95.3568 C503.0128,98.208 502.0624,100.1088 498.2608,106.128 C494.4592,112.1472 496.0432,112.1472 491.2912,118.4832 C482.104,130.8384 470.6992,143.1936 455.8096,156.816 C451.6912,160.6176 451.0576,160.6176 450.424,160.6176 C450.1072,160.6176 449.4736,160.3008 449.4736,159.6672 C449.4736,158.7168 449.7904,157.4496 452.9584,150.7968 C462.7792,130.2048 474.8176,116.5824 488.1232,103.2768 C495.4096,95.9904 499.8448,93.456 501.4288,93.456 C502.3792,93.456 503.0128,93.7728 503.0128,95.3568 C503.0128,95.3568 503.0128,93.7728 503.0128,95.3568 Z M746.632,103.5936 C746.9488,103.5936 747.2656,103.9104 747.5824,104.544 C747.8992,105.4944 748.5328,106.4448 750.1168,107.712 C751.384,108.6624 751.384,113.0976 751.384,116.5824 C751.384,147.312 733.96,172.656 716.8528,198.3168 C713.0512,204.0192 710.8336,204.9696 708.9328,204.9696 C707.3488,204.9696 704.8144,200.8512 703.864,198.3168 C702.5968,194.832 702.28,190.7136 702.28,189.1296 C702.28,164.4192 725.7232,127.6704 741.2464,107.3952 C743.7808,103.9104 745.6816,103.5936 746.632,103.5936 C746.632,103.5936 745.6816,103.5936 746.632,103.5936 Z" id="Type" fill="#0079BF"></path>
<g id="Mark" transform="translate(0.000000, 35.000000)">
<rect id="Board" fill="url(#linearGradient-1)" x="0" y="0" width="200" height="200" rx="25"></rect>
<rect id="Right-List" fill="#FFFFFF" x="113" y="26" width="61" height="87.5" rx="12"></rect>
<rect id="Left-List" fill="#FFFFFF" x="26" y="26" width="61" height="137.5" rx="12"></rect>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
class Foo:
def __init__(self, data):
self.data = data
self.index = len(data) - 1
def __iter__(self):
'''This makes the object iterable.
This is invoked when `for` first wants to
check if it's iterable.
'''
return self
def __next__(self):
'''This is invoked when we start the first iteration.
'''
if self.index < 0:
raise(StopIteration)
value = self.data[self.index]
self.index -= 1
return value
for item in Foo('abcd'):
print(item)
* Introduction
** Programming
- Haskell
- Common Lisp
* Content
** para 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eget
luctus diam, at tincidunt felis. Praesent vehicula iaculis faucibus.
Vivamus ligula nunc, hendrerit sed sapien faucibus, faucibus dictum
quam. Proin volutpat convallis metus id tincidunt. Morbi malesuada
enim ligula, sed dignissim risus pellentesque vel. Proin sit amet
ante aliquet, semper ante vitae, dictum leo. Donec a nulla sed purus
laoreet efficitur. Pellentesque iaculis et erat a egestas. Praesent
sed diam vitae sem accumsan vestibulum.
* Thanks
** Links
- https://emacsconf.org/
- https://www.gnu.org/software/emacs/
+--------+ +-------+ +-------+
| | --+ ditaa +--> | |
| Text | +-------+ |diagram|
|Document| |!magic!| | |
| {d}| | cFF3 | | cGRE |
+---+----+ +-------+ +-------+
: ^
| Lots of work |
+-------------------------+
This diff is collapsed.
#+REVEAL_THEME: moon
#+REVEAL_TRANS: linear
#+REVEAL_SPEED: default
#+REVEAL_ROOT: http://cdn.jsdelivr.net/reveal.js/3.0.0/
#+REVEAL_TITLE_SLIDE_BACKGROUND:
#+OPTIONS: reveal_center:t reveal_progress:t reveal_history:nil reveal_control:t
#+OPTIONS: num:nil toc:nil
#+OPTIONS: timestamp:nil, email:nil
#+LANGUAGE: en
#+LaTeX_CLASS_OPTIONS: [bigger, presentation]
#+BEAMER_FRAME_LEVEL: 1
# #+OPTIONS: H:2
#+BEAMER_COLOR_THEME:
#+BEAMER_FONT_THEME: serif
#+BEAMER_HEADER: \usecolortheme[RGB={0,104,139}]{structure}%deepskyblue
# #+BEAMER_HEADER: \usecolortheme[RGB={204,0,0}]{structure}%Red Hat
#+BEAMER_INNER_THEME: rounded
#+BEAMER_OUTER_THEME:
#+BEAMER_THEME: Frankfurt
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [10pt]
#+LaTeX_HEADER: \setbeamertemplate{navigation symbols}[horizontal]
# #+LaTex_HEADER: \setbeamertemplate{footline}{\color{gray}Proprietary and Confidential}
#+LaTeX_HEADER: \usepackage{pxfonts}
#+LaTeX_HEADER: \usepackage{hyperref}
#+LaTeX_HEADER: \hypersetup{colorlinks=true, linkcolor=red, filecolor=magenta, urlcolor=cyan}
#+LaTeX_HEADER: \urlstyle{same}
#+LaTeX_HEADER: \usepackage{minted}
#+LaTeX_HEADER: \usepackage[utf8]{inputenc}
#+LaTeX_HEADER: \usepackage[english]{babel}
# #+LaTeX_HEADER: \usepackage{listings}
# #+LaTex_HEADER: \lstset{numbers=left,numbersep=6pt,numberstyle=\tiny,showstringspaces=false,aboveskip=-50pt,frame=leftline,keywordstyle=\color{green},commentstyle=\color{orange},stringstyle=\color{black},}
#+LaTeX_HEADER: \setbeamertemplate{caption}[numbered]
#+LaTeX_HEADER: \setbeamercovered{invisible}
#+Title: GNU Emacs for all
#+Author: Sachin Patil (psachin)
#+Email: psachin@redhat.com
#+Date: [[https://www.gnu.org/savannah-checkouts/gnu/ghm/2019/index.html][EmacsConf, 2019]]
#+BEGIN_NOTES
Why I use Emacs?
- I want my life in plain text
- I need other applications for IRC, TODO/tasks, Agenda, CLI
- Emacs is a system which understands Lisp and we can use Lisp to customize as
we need.
STORY:
- Built the context/set a stage
Show what use Emacs for in snapshots, pictures,
video frames, then then show the title "GNU Emacs for all"
#+END_NOTES
* IRC
#+BEGIN_NOTES
- Lets start with IRC itself
- 30 years of IRC
- We at redhat use IRC a lot!!
- Show conf:
- Configure nick
- autojoin
- configure channels and servers
- Configure smiley (show demo)
- Configure notify
- logging
- turn of linenum mode for irc
- start server
- Finally show ERC demo:
- C-c e: use ido to search channels
- ping
#+END_NOTES
** ERC config: User configuration
#+BEGIN_SRC emacs-lisp -n
(setq erc-user-full-name user-full-name
erc-nick user-login-name
erc-keywords (quote("training" "session" "swift" "emacs"))
erc-current-nick-highlight-type 'all
erc-notify-list erc-pals
erc-autojoin-enable t
erc-autojoin-channels-alist
#+END_SRC
** ERC config: Channels
#+BEGIN_SRC emacs-lisp -n
erc-autojoin-enable t
erc-autojoin-channels-alist
(quote
(("oftc" "#tor" "#kernelnewbies" "#kernel-outreachy")
("freenode.net" "#emacs" "#emacs-beginners" "#linuxjournal" "#live")
("GIMPNet" "#outreachy")))
#+END_SRC
** ERC config: Modules
#+BEGIN_SRC emacs-lisp -n
erc-modules
(quote
(autojoin smiley notify))
#+END_SRC
** ERC config: Logging
#+BEGIN_SRC emacs-lisp -n
;; Logging
erc-enable-logging t
erc-log-mode t
erc-log-channels-directory "~/.erc/logs/"
;; Timestamp position
erc-insert-timestamp-function 'erc-insert-timestamp-left
;; Show channel name in notification.
;; Please apply: https://gitlab.com/snippets/1790218
erc-notifications-show-channel t)
#+END_SRC
** ERC config: Extra config
#+BEGIN_SRC emacs-lisp -n
;; Turn off linum for ERC buffer
(defun psachin/turn-off-linum ()
"Turn off linum for ERC buffers."
(interactive)
(display-line-numbers-mode 0))
(add-hook 'erc-mode-hook 'psachin/turn-off-linum)
#+END_SRC
** ERC config: Start server
#+BEGIN_SRC emacs-lisp -n
(defun erc-start()
"Start ERC."
(interactive)
(erc :server "irc.freenode.net")
(erc :server "irc.oftc.net")
(erc :server "irc.gnome.org"))
#+END_SRC
- https://gitlab.com/psachin/emacs.d/blob/master/irc.org
* Documents
#+BEGIN_NOTES
- Start by inserting a default template in an empty file: C-c C-e #
document.org
- Insert two sections: Para 1 & Para 2
- Insert content from para.txt
- Generate PDF using C-c C-e l p (or org-latex-export-to-pdf)
- Use Emacs window to show the rendered PDF
- Insert new section: Image
- Insert caption: #+CAPTION: A logo
- and image from ./assets/gnome-x-office-presentation.png
- Render PDF
- Adjust image size #+ATTR_LATEX: :width 5cm
- Render PDF again
- Insert new section "Table" & insert a table of 4x2 (org-table-create)
- Start writing table name, | | Replica # 2| Replica # 2 |
....you got an idea how Emacs or the org mode is table aware I'd
say
- Let me insert a table which I prepared for this demo C-x i
table.txt
- Render PDF
- align column: #+ATTR_LaTeX: :align |c|c|c|c|
- source code
- New section: "Source code"
- python
- Dedicated language specific buffer: C-c '
- Insert from code.py: M-x i code.py
- Visit Language specific mode
- Render ... bad indentation
- Insert minted or listings from file latex_minted_header.txt
- Render
- add line number using `-n`
- Render
- Import code to file:
- #+BEGIN_SRC python -n :tangle foo.py
- C-c C-v t (org-bable-tangle)
- Simple bash script
#+BEGIN_SRC bash
expr 4 + 2
#+END_SRC
- C-c C-c to execute the code
- Flow diagram
- New file image.txt
- M-x artist-mode
- Draw two rectangles
- Join by line
- first rectangle: {d} cFF3
- second rectangle: cGRE
- copy content from ditaa.txt
- M-! ditaa image.txt image.png
- M-! eog image.png
#+BEGIN_SRC bash :results none
ditaa image.txt
#+END_SRC
#+CAPTION: Ditaa
./image.png
#+END_NOTES
- LaTeX document
- Image
- Table
- Source code
- Flow diagram(ditaa)
* Trello
#+BEGIN_NOTES
- I'm not very good at managing content using UI and trello is
really a pain for me
- I use org-trello
- The setup is quick and documented
- first you have to setup a key and token for trello
- Then for each trello board, you have to connect the org file
to install the metadata
- Demo:
- Open firefox tab for trello baord
https://trello.com/b/zQ2u4Atz/test-org-trello
- Open a file ~/trello/insights/rules/osp.org
- Create a new entry:
* virt: Callback remains even after client exits
- `C-c t` to change status to To-Do-Groomed
- sync card: org-trello-sync-card
- show web
- Insert description from ~/github/slides/freenode.live2018/trello.txt
- sync card:
- Add checklist:
- [ ] Checklist
- [ ] Backend
- [ ] Frontend
- [ ] Playbook
- sync again and show web
- Assign the card: `org-trello-assign-me` and sync:
`org-trello-sync-card`
- Add card comment `org-trello-add-card-comment`. (NO NEED TO SYNC)
- Archive card: `org-trello-archive-card`
#+END_NOTES
#+ATTR_HTML: :width 50% :height
[[./assets/trello-logo-blue.svg]]
** org-trello
** Setup key and token
#+BEGIN_SRC emacs-lisp -n
;; ~/.emacs.d/.trello/username.el
(setq org-trello-consumer-key "abc..."
org-trello-access-token "def...")
#+END_SRC
http://org-trello.github.io/trello-setup.html
** Connect to the Trello board
#+BEGIN_SRC emacs-lisp -n
(use-package org-trello
:ensure t
:config
(custom-set-variables '(org-trello-files
'("~/trello/myboard.org"))))
#+END_SRC
* Presentation
#+ATTR_HTML: :width 60% :height
#+ATTR_HTML: :align "center"
[[./assets/presentation.svg]]
** LaTeX Beamer
[[https://opensource.com/article/18/4/how-create-latex-documents-emacs][how-create-latex-documents-emacs]]
#+BEGIN_NOTES
- start by creating an empty org file: demo_presentation.org
- Insert empty template using C-c C-e #
- Insert content from content.txt using C-x i
- Let me transform this into a presentation using LaTeX beamer
- org-beamer-export-to-pdf
- Let me insert default beamer templates C-c C-e #
- org-beamer-export-to-pdf
- Insert beamer teamplate from beamer.txt & run `M-x org-beamer-export-to-pdf`
#+END_NOTES
** reveal.js
- https://github.com/yjwen/org-reveal
- [[https://opensource.com/article/18/2/how-create-slides-emacs-org-mode-and-revealjs][https://opensource.com/article/18/2/how-create-slides-emacs-org-mode-and-revealjs]]
#+BEGIN_NOTES
- (Keep the file:///home/psachin/github/slides/emacs_conf_2019/ open in the browser)
- Lets how the same slide can be transformes into reveal.js presentation
- Insert template from reveal.txt
- convert using C-c C-e R R or org-reveal-export-to-html
- Change REVEAL_TRANS from default to linear
#+END_NOTES
** org-tree-slide
https://github.com/takaxp/org-tree-slide
#+BEGIN_NOTES
- M-x org-tree-slide-mode
- C-> & C-<
#+END_NOTES
* Version control
** magit
- https://magit.vc/
- https://opensource.com/article/19/1/how-use-magit
** git-timemachine
https://gitlab.com/pidu/git-timemachine
#+BEGIN_NOTES
magit: Visit github/insights/insights-core and st
git-timemachine: Visit github/manly and M-x git-timemachine, n, p, q
#+END_NOTES
* Agenda
** org-agenda
#+BEGIN_SRC emacs-lisp -n
(setq org-agenda-files '("~/agenda/work/work.org"
"~/agenda/todo/read.org"
"~/agenda/todo/todo.org"))
(setq org-capture-templates
'(("t" "Todo" entry
(file+headline "~/agenda/todo/todo.org" "Tasks")
"* TODO %i%?\n %U\n %a")
("n" "Notes" entry
(file+headline "~/agenda/notes.org" "Notes")
"* %A%?\n %U")
("i" "Insights" entry
(file+headline "~/agenda/work/work.org" "Insights")
"* %u%?")))
#+END_SRC
- https://gitlab.com/psachin/emacs.d/blob/master/mytime.org
#+BEGIN_NOTES
I mostly use org mode to manage my notes and tasks. Time tracking
is simple using org-agenda. This is all the configuration I have
in my Emacs config.
- Add notes: C-c c n
- Create a file foo_bar
- Add task: M-x org-capture (C-c c w) and show how to add tasks
- Show clockin/clockout:
- Add subtasks for the day:
*** Write a parser
*** Review playbook
*** Review a blog
- clock in (C-c C-x C-i)
- clock out (C-c C-x C-o)