├── LICENSE
├── README.org
├── almanac.org
└── index.html
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 3, 29 June 2007
3 |
4 | Copyright (C) 2007 Free Software Foundation, Inc.
5 | Everyone is permitted to copy and distribute verbatim copies
6 | of this license document, but changing it is not allowed.
7 |
8 | Preamble
9 |
10 | The GNU General Public License is a free, copyleft license for
11 | software and other kinds of works.
12 |
13 | The licenses for most software and other practical works are designed
14 | to take away your freedom to share and change the works. By contrast,
15 | the GNU General Public License is intended to guarantee your freedom to
16 | share and change all versions of a program--to make sure it remains free
17 | software for all its users. We, the Free Software Foundation, use the
18 | GNU General Public License for most of our software; it applies also to
19 | any other work released this way by its authors. You can apply it to
20 | your programs, too.
21 |
22 | When we speak of free software, we are referring to freedom, not
23 | price. Our General Public Licenses are designed to make sure that you
24 | have the freedom to distribute copies of free software (and charge for
25 | them if you wish), that you receive source code or can get it if you
26 | want it, that you can change the software or use pieces of it in new
27 | free programs, and that you know you can do these things.
28 |
29 | To protect your rights, we need to prevent others from denying you
30 | these rights or asking you to surrender the rights. Therefore, you have
31 | certain responsibilities if you distribute copies of the software, or if
32 | you modify it: responsibilities to respect the freedom of others.
33 |
34 | For example, if you distribute copies of such a program, whether
35 | gratis or for a fee, you must pass on to the recipients the same
36 | freedoms that you received. You must make sure that they, too, receive
37 | or can get the source code. And you must show them these terms so they
38 | know their rights.
39 |
40 | Developers that use the GNU GPL protect your rights with two steps:
41 | (1) assert copyright on the software, and (2) offer you this License
42 | giving you legal permission to copy, distribute and/or modify it.
43 |
44 | For the developers' and authors' protection, the GPL clearly explains
45 | that there is no warranty for this free software. For both users' and
46 | authors' sake, the GPL requires that modified versions be marked as
47 | changed, so that their problems will not be attributed erroneously to
48 | authors of previous versions.
49 |
50 | Some devices are designed to deny users access to install or run
51 | modified versions of the software inside them, although the manufacturer
52 | can do so. This is fundamentally incompatible with the aim of
53 | protecting users' freedom to change the software. The systematic
54 | pattern of such abuse occurs in the area of products for individuals to
55 | use, which is precisely where it is most unacceptable. Therefore, we
56 | have designed this version of the GPL to prohibit the practice for those
57 | products. If such problems arise substantially in other domains, we
58 | stand ready to extend this provision to those domains in future versions
59 | of the GPL, as needed to protect the freedom of users.
60 |
61 | Finally, every program is threatened constantly by software patents.
62 | States should not allow patents to restrict development and use of
63 | software on general-purpose computers, but in those that do, we wish to
64 | avoid the special danger that patents applied to a free program could
65 | make it effectively proprietary. To prevent this, the GPL assures that
66 | patents cannot be used to render the program non-free.
67 |
68 | The precise terms and conditions for copying, distribution and
69 | modification follow.
70 |
71 | TERMS AND CONDITIONS
72 |
73 | 0. Definitions.
74 |
75 | "This License" refers to version 3 of the GNU General Public License.
76 |
77 | "Copyright" also means copyright-like laws that apply to other kinds of
78 | works, such as semiconductor masks.
79 |
80 | "The Program" refers to any copyrightable work licensed under this
81 | License. Each licensee is addressed as "you". "Licensees" and
82 | "recipients" may be individuals or organizations.
83 |
84 | To "modify" a work means to copy from or adapt all or part of the work
85 | in a fashion requiring copyright permission, other than the making of an
86 | exact copy. The resulting work is called a "modified version" of the
87 | earlier work or a work "based on" the earlier work.
88 |
89 | A "covered work" means either the unmodified Program or a work based
90 | on the Program.
91 |
92 | To "propagate" a work means to do anything with it that, without
93 | permission, would make you directly or secondarily liable for
94 | infringement under applicable copyright law, except executing it on a
95 | computer or modifying a private copy. Propagation includes copying,
96 | distribution (with or without modification), making available to the
97 | public, and in some countries other activities as well.
98 |
99 | To "convey" a work means any kind of propagation that enables other
100 | parties to make or receive copies. Mere interaction with a user through
101 | a computer network, with no transfer of a copy, is not conveying.
102 |
103 | An interactive user interface displays "Appropriate Legal Notices"
104 | to the extent that it includes a convenient and prominently visible
105 | feature that (1) displays an appropriate copyright notice, and (2)
106 | tells the user that there is no warranty for the work (except to the
107 | extent that warranties are provided), that licensees may convey the
108 | work under this License, and how to view a copy of this License. If
109 | the interface presents a list of user commands or options, such as a
110 | menu, a prominent item in the list meets this criterion.
111 |
112 | 1. Source Code.
113 |
114 | The "source code" for a work means the preferred form of the work
115 | for making modifications to it. "Object code" means any non-source
116 | form of a work.
117 |
118 | A "Standard Interface" means an interface that either is an official
119 | standard defined by a recognized standards body, or, in the case of
120 | interfaces specified for a particular programming language, one that
121 | is widely used among developers working in that language.
122 |
123 | The "System Libraries" of an executable work include anything, other
124 | than the work as a whole, that (a) is included in the normal form of
125 | packaging a Major Component, but which is not part of that Major
126 | Component, and (b) serves only to enable use of the work with that
127 | Major Component, or to implement a Standard Interface for which an
128 | implementation is available to the public in source code form. A
129 | "Major Component", in this context, means a major essential component
130 | (kernel, window system, and so on) of the specific operating system
131 | (if any) on which the executable work runs, or a compiler used to
132 | produce the work, or an object code interpreter used to run it.
133 |
134 | The "Corresponding Source" for a work in object code form means all
135 | the source code needed to generate, install, and (for an executable
136 | work) run the object code and to modify the work, including scripts to
137 | control those activities. However, it does not include the work's
138 | System Libraries, or general-purpose tools or generally available free
139 | programs which are used unmodified in performing those activities but
140 | which are not part of the work. For example, Corresponding Source
141 | includes interface definition files associated with source files for
142 | the work, and the source code for shared libraries and dynamically
143 | linked subprograms that the work is specifically designed to require,
144 | such as by intimate data communication or control flow between those
145 | subprograms and other parts of the work.
146 |
147 | The Corresponding Source need not include anything that users
148 | can regenerate automatically from other parts of the Corresponding
149 | Source.
150 |
151 | The Corresponding Source for a work in source code form is that
152 | same work.
153 |
154 | 2. Basic Permissions.
155 |
156 | All rights granted under this License are granted for the term of
157 | copyright on the Program, and are irrevocable provided the stated
158 | conditions are met. This License explicitly affirms your unlimited
159 | permission to run the unmodified Program. The output from running a
160 | covered work is covered by this License only if the output, given its
161 | content, constitutes a covered work. This License acknowledges your
162 | rights of fair use or other equivalent, as provided by copyright law.
163 |
164 | You may make, run and propagate covered works that you do not
165 | convey, without conditions so long as your license otherwise remains
166 | in force. You may convey covered works to others for the sole purpose
167 | of having them make modifications exclusively for you, or provide you
168 | with facilities for running those works, provided that you comply with
169 | the terms of this License in conveying all material for which you do
170 | not control copyright. Those thus making or running the covered works
171 | for you must do so exclusively on your behalf, under your direction
172 | and control, on terms that prohibit them from making any copies of
173 | your copyrighted material outside their relationship with you.
174 |
175 | Conveying under any other circumstances is permitted solely under
176 | the conditions stated below. Sublicensing is not allowed; section 10
177 | makes it unnecessary.
178 |
179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180 |
181 | No covered work shall be deemed part of an effective technological
182 | measure under any applicable law fulfilling obligations under article
183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184 | similar laws prohibiting or restricting circumvention of such
185 | measures.
186 |
187 | When you convey a covered work, you waive any legal power to forbid
188 | circumvention of technological measures to the extent such circumvention
189 | is effected by exercising rights under this License with respect to
190 | the covered work, and you disclaim any intention to limit operation or
191 | modification of the work as a means of enforcing, against the work's
192 | users, your or third parties' legal rights to forbid circumvention of
193 | technological measures.
194 |
195 | 4. Conveying Verbatim Copies.
196 |
197 | You may convey verbatim copies of the Program's source code as you
198 | receive it, in any medium, provided that you conspicuously and
199 | appropriately publish on each copy an appropriate copyright notice;
200 | keep intact all notices stating that this License and any
201 | non-permissive terms added in accord with section 7 apply to the code;
202 | keep intact all notices of the absence of any warranty; and give all
203 | recipients a copy of this License along with the Program.
204 |
205 | You may charge any price or no price for each copy that you convey,
206 | and you may offer support or warranty protection for a fee.
207 |
208 | 5. Conveying Modified Source Versions.
209 |
210 | You may convey a work based on the Program, or the modifications to
211 | produce it from the Program, in the form of source code under the
212 | terms of section 4, provided that you also meet all of these conditions:
213 |
214 | a) The work must carry prominent notices stating that you modified
215 | it, and giving a relevant date.
216 |
217 | b) The work must carry prominent notices stating that it is
218 | released under this License and any conditions added under section
219 | 7. This requirement modifies the requirement in section 4 to
220 | "keep intact all notices".
221 |
222 | c) You must license the entire work, as a whole, under this
223 | License to anyone who comes into possession of a copy. This
224 | License will therefore apply, along with any applicable section 7
225 | additional terms, to the whole of the work, and all its parts,
226 | regardless of how they are packaged. This License gives no
227 | permission to license the work in any other way, but it does not
228 | invalidate such permission if you have separately received it.
229 |
230 | d) If the work has interactive user interfaces, each must display
231 | Appropriate Legal Notices; however, if the Program has interactive
232 | interfaces that do not display Appropriate Legal Notices, your
233 | work need not make them do so.
234 |
235 | A compilation of a covered work with other separate and independent
236 | works, which are not by their nature extensions of the covered work,
237 | and which are not combined with it such as to form a larger program,
238 | in or on a volume of a storage or distribution medium, is called an
239 | "aggregate" if the compilation and its resulting copyright are not
240 | used to limit the access or legal rights of the compilation's users
241 | beyond what the individual works permit. Inclusion of a covered work
242 | in an aggregate does not cause this License to apply to the other
243 | parts of the aggregate.
244 |
245 | 6. Conveying Non-Source Forms.
246 |
247 | You may convey a covered work in object code form under the terms
248 | of sections 4 and 5, provided that you also convey the
249 | machine-readable Corresponding Source under the terms of this License,
250 | in one of these ways:
251 |
252 | a) Convey the object code in, or embodied in, a physical product
253 | (including a physical distribution medium), accompanied by the
254 | Corresponding Source fixed on a durable physical medium
255 | customarily used for software interchange.
256 |
257 | b) Convey the object code in, or embodied in, a physical product
258 | (including a physical distribution medium), accompanied by a
259 | written offer, valid for at least three years and valid for as
260 | long as you offer spare parts or customer support for that product
261 | model, to give anyone who possesses the object code either (1) a
262 | copy of the Corresponding Source for all the software in the
263 | product that is covered by this License, on a durable physical
264 | medium customarily used for software interchange, for a price no
265 | more than your reasonable cost of physically performing this
266 | conveying of source, or (2) access to copy the
267 | Corresponding Source from a network server at no charge.
268 |
269 | c) Convey individual copies of the object code with a copy of the
270 | written offer to provide the Corresponding Source. This
271 | alternative is allowed only occasionally and noncommercially, and
272 | only if you received the object code with such an offer, in accord
273 | with subsection 6b.
274 |
275 | d) Convey the object code by offering access from a designated
276 | place (gratis or for a charge), and offer equivalent access to the
277 | Corresponding Source in the same way through the same place at no
278 | further charge. You need not require recipients to copy the
279 | Corresponding Source along with the object code. If the place to
280 | copy the object code is a network server, the Corresponding Source
281 | may be on a different server (operated by you or a third party)
282 | that supports equivalent copying facilities, provided you maintain
283 | clear directions next to the object code saying where to find the
284 | Corresponding Source. Regardless of what server hosts the
285 | Corresponding Source, you remain obligated to ensure that it is
286 | available for as long as needed to satisfy these requirements.
287 |
288 | e) Convey the object code using peer-to-peer transmission, provided
289 | you inform other peers where the object code and Corresponding
290 | Source of the work are being offered to the general public at no
291 | charge under subsection 6d.
292 |
293 | A separable portion of the object code, whose source code is excluded
294 | from the Corresponding Source as a System Library, need not be
295 | included in conveying the object code work.
296 |
297 | A "User Product" is either (1) a "consumer product", which means any
298 | tangible personal property which is normally used for personal, family,
299 | or household purposes, or (2) anything designed or sold for incorporation
300 | into a dwelling. In determining whether a product is a consumer product,
301 | doubtful cases shall be resolved in favor of coverage. For a particular
302 | product received by a particular user, "normally used" refers to a
303 | typical or common use of that class of product, regardless of the status
304 | of the particular user or of the way in which the particular user
305 | actually uses, or expects or is expected to use, the product. A product
306 | is a consumer product regardless of whether the product has substantial
307 | commercial, industrial or non-consumer uses, unless such uses represent
308 | the only significant mode of use of the product.
309 |
310 | "Installation Information" for a User Product means any methods,
311 | procedures, authorization keys, or other information required to install
312 | and execute modified versions of a covered work in that User Product from
313 | a modified version of its Corresponding Source. The information must
314 | suffice to ensure that the continued functioning of the modified object
315 | code is in no case prevented or interfered with solely because
316 | modification has been made.
317 |
318 | If you convey an object code work under this section in, or with, or
319 | specifically for use in, a User Product, and the conveying occurs as
320 | part of a transaction in which the right of possession and use of the
321 | User Product is transferred to the recipient in perpetuity or for a
322 | fixed term (regardless of how the transaction is characterized), the
323 | Corresponding Source conveyed under this section must be accompanied
324 | by the Installation Information. But this requirement does not apply
325 | if neither you nor any third party retains the ability to install
326 | modified object code on the User Product (for example, the work has
327 | been installed in ROM).
328 |
329 | The requirement to provide Installation Information does not include a
330 | requirement to continue to provide support service, warranty, or updates
331 | for a work that has been modified or installed by the recipient, or for
332 | the User Product in which it has been modified or installed. Access to a
333 | network may be denied when the modification itself materially and
334 | adversely affects the operation of the network or violates the rules and
335 | protocols for communication across the network.
336 |
337 | Corresponding Source conveyed, and Installation Information provided,
338 | in accord with this section must be in a format that is publicly
339 | documented (and with an implementation available to the public in
340 | source code form), and must require no special password or key for
341 | unpacking, reading or copying.
342 |
343 | 7. Additional Terms.
344 |
345 | "Additional permissions" are terms that supplement the terms of this
346 | License by making exceptions from one or more of its conditions.
347 | Additional permissions that are applicable to the entire Program shall
348 | be treated as though they were included in this License, to the extent
349 | that they are valid under applicable law. If additional permissions
350 | apply only to part of the Program, that part may be used separately
351 | under those permissions, but the entire Program remains governed by
352 | this License without regard to the additional permissions.
353 |
354 | When you convey a copy of a covered work, you may at your option
355 | remove any additional permissions from that copy, or from any part of
356 | it. (Additional permissions may be written to require their own
357 | removal in certain cases when you modify the work.) You may place
358 | additional permissions on material, added by you to a covered work,
359 | for which you have or can give appropriate copyright permission.
360 |
361 | Notwithstanding any other provision of this License, for material you
362 | add to a covered work, you may (if authorized by the copyright holders of
363 | that material) supplement the terms of this License with terms:
364 |
365 | a) Disclaiming warranty or limiting liability differently from the
366 | terms of sections 15 and 16 of this License; or
367 |
368 | b) Requiring preservation of specified reasonable legal notices or
369 | author attributions in that material or in the Appropriate Legal
370 | Notices displayed by works containing it; or
371 |
372 | c) Prohibiting misrepresentation of the origin of that material, or
373 | requiring that modified versions of such material be marked in
374 | reasonable ways as different from the original version; or
375 |
376 | d) Limiting the use for publicity purposes of names of licensors or
377 | authors of the material; or
378 |
379 | e) Declining to grant rights under trademark law for use of some
380 | trade names, trademarks, or service marks; or
381 |
382 | f) Requiring indemnification of licensors and authors of that
383 | material by anyone who conveys the material (or modified versions of
384 | it) with contractual assumptions of liability to the recipient, for
385 | any liability that these contractual assumptions directly impose on
386 | those licensors and authors.
387 |
388 | All other non-permissive additional terms are considered "further
389 | restrictions" within the meaning of section 10. If the Program as you
390 | received it, or any part of it, contains a notice stating that it is
391 | governed by this License along with a term that is a further
392 | restriction, you may remove that term. If a license document contains
393 | a further restriction but permits relicensing or conveying under this
394 | License, you may add to a covered work material governed by the terms
395 | of that license document, provided that the further restriction does
396 | not survive such relicensing or conveying.
397 |
398 | If you add terms to a covered work in accord with this section, you
399 | must place, in the relevant source files, a statement of the
400 | additional terms that apply to those files, or a notice indicating
401 | where to find the applicable terms.
402 |
403 | Additional terms, permissive or non-permissive, may be stated in the
404 | form of a separately written license, or stated as exceptions;
405 | the above requirements apply either way.
406 |
407 | 8. Termination.
408 |
409 | You may not propagate or modify a covered work except as expressly
410 | provided under this License. Any attempt otherwise to propagate or
411 | modify it is void, and will automatically terminate your rights under
412 | this License (including any patent licenses granted under the third
413 | paragraph of section 11).
414 |
415 | However, if you cease all violation of this License, then your
416 | license from a particular copyright holder is reinstated (a)
417 | provisionally, unless and until the copyright holder explicitly and
418 | finally terminates your license, and (b) permanently, if the copyright
419 | holder fails to notify you of the violation by some reasonable means
420 | prior to 60 days after the cessation.
421 |
422 | Moreover, your license from a particular copyright holder is
423 | reinstated permanently if the copyright holder notifies you of the
424 | violation by some reasonable means, this is the first time you have
425 | received notice of violation of this License (for any work) from that
426 | copyright holder, and you cure the violation prior to 30 days after
427 | your receipt of the notice.
428 |
429 | Termination of your rights under this section does not terminate the
430 | licenses of parties who have received copies or rights from you under
431 | this License. If your rights have been terminated and not permanently
432 | reinstated, you do not qualify to receive new licenses for the same
433 | material under section 10.
434 |
435 | 9. Acceptance Not Required for Having Copies.
436 |
437 | You are not required to accept this License in order to receive or
438 | run a copy of the Program. Ancillary propagation of a covered work
439 | occurring solely as a consequence of using peer-to-peer transmission
440 | to receive a copy likewise does not require acceptance. However,
441 | nothing other than this License grants you permission to propagate or
442 | modify any covered work. These actions infringe copyright if you do
443 | not accept this License. Therefore, by modifying or propagating a
444 | covered work, you indicate your acceptance of this License to do so.
445 |
446 | 10. Automatic Licensing of Downstream Recipients.
447 |
448 | Each time you convey a covered work, the recipient automatically
449 | receives a license from the original licensors, to run, modify and
450 | propagate that work, subject to this License. You are not responsible
451 | for enforcing compliance by third parties with this License.
452 |
453 | An "entity transaction" is a transaction transferring control of an
454 | organization, or substantially all assets of one, or subdividing an
455 | organization, or merging organizations. If propagation of a covered
456 | work results from an entity transaction, each party to that
457 | transaction who receives a copy of the work also receives whatever
458 | licenses to the work the party's predecessor in interest had or could
459 | give under the previous paragraph, plus a right to possession of the
460 | Corresponding Source of the work from the predecessor in interest, if
461 | the predecessor has it or can get it with reasonable efforts.
462 |
463 | You may not impose any further restrictions on the exercise of the
464 | rights granted or affirmed under this License. For example, you may
465 | not impose a license fee, royalty, or other charge for exercise of
466 | rights granted under this License, and you may not initiate litigation
467 | (including a cross-claim or counterclaim in a lawsuit) alleging that
468 | any patent claim is infringed by making, using, selling, offering for
469 | sale, or importing the Program or any portion of it.
470 |
471 | 11. Patents.
472 |
473 | A "contributor" is a copyright holder who authorizes use under this
474 | License of the Program or a work on which the Program is based. The
475 | work thus licensed is called the contributor's "contributor version".
476 |
477 | A contributor's "essential patent claims" are all patent claims
478 | owned or controlled by the contributor, whether already acquired or
479 | hereafter acquired, that would be infringed by some manner, permitted
480 | by this License, of making, using, or selling its contributor version,
481 | but do not include claims that would be infringed only as a
482 | consequence of further modification of the contributor version. For
483 | purposes of this definition, "control" includes the right to grant
484 | patent sublicenses in a manner consistent with the requirements of
485 | this License.
486 |
487 | Each contributor grants you a non-exclusive, worldwide, royalty-free
488 | patent license under the contributor's essential patent claims, to
489 | make, use, sell, offer for sale, import and otherwise run, modify and
490 | propagate the contents of its contributor version.
491 |
492 | In the following three paragraphs, a "patent license" is any express
493 | agreement or commitment, however denominated, not to enforce a patent
494 | (such as an express permission to practice a patent or covenant not to
495 | sue for patent infringement). To "grant" such a patent license to a
496 | party means to make such an agreement or commitment not to enforce a
497 | patent against the party.
498 |
499 | If you convey a covered work, knowingly relying on a patent license,
500 | and the Corresponding Source of the work is not available for anyone
501 | to copy, free of charge and under the terms of this License, through a
502 | publicly available network server or other readily accessible means,
503 | then you must either (1) cause the Corresponding Source to be so
504 | available, or (2) arrange to deprive yourself of the benefit of the
505 | patent license for this particular work, or (3) arrange, in a manner
506 | consistent with the requirements of this License, to extend the patent
507 | license to downstream recipients. "Knowingly relying" means you have
508 | actual knowledge that, but for the patent license, your conveying the
509 | covered work in a country, or your recipient's use of the covered work
510 | in a country, would infringe one or more identifiable patents in that
511 | country that you have reason to believe are valid.
512 |
513 | If, pursuant to or in connection with a single transaction or
514 | arrangement, you convey, or propagate by procuring conveyance of, a
515 | covered work, and grant a patent license to some of the parties
516 | receiving the covered work authorizing them to use, propagate, modify
517 | or convey a specific copy of the covered work, then the patent license
518 | you grant is automatically extended to all recipients of the covered
519 | work and works based on it.
520 |
521 | A patent license is "discriminatory" if it does not include within
522 | the scope of its coverage, prohibits the exercise of, or is
523 | conditioned on the non-exercise of one or more of the rights that are
524 | specifically granted under this License. You may not convey a covered
525 | work if you are a party to an arrangement with a third party that is
526 | in the business of distributing software, under which you make payment
527 | to the third party based on the extent of your activity of conveying
528 | the work, and under which the third party grants, to any of the
529 | parties who would receive the covered work from you, a discriminatory
530 | patent license (a) in connection with copies of the covered work
531 | conveyed by you (or copies made from those copies), or (b) primarily
532 | for and in connection with specific products or compilations that
533 | contain the covered work, unless you entered into that arrangement,
534 | or that patent license was granted, prior to 28 March 2007.
535 |
536 | Nothing in this License shall be construed as excluding or limiting
537 | any implied license or other defenses to infringement that may
538 | otherwise be available to you under applicable patent law.
539 |
540 | 12. No Surrender of Others' Freedom.
541 |
542 | If conditions are imposed on you (whether by court order, agreement or
543 | otherwise) that contradict the conditions of this License, they do not
544 | excuse you from the conditions of this License. If you cannot convey a
545 | covered work so as to satisfy simultaneously your obligations under this
546 | License and any other pertinent obligations, then as a consequence you may
547 | not convey it at all. For example, if you agree to terms that obligate you
548 | to collect a royalty for further conveying from those to whom you convey
549 | the Program, the only way you could satisfy both those terms and this
550 | License would be to refrain entirely from conveying the Program.
551 |
552 | 13. Use with the GNU Affero General Public License.
553 |
554 | Notwithstanding any other provision of this License, you have
555 | permission to link or combine any covered work with a work licensed
556 | under version 3 of the GNU Affero General Public License into a single
557 | combined work, and to convey the resulting work. The terms of this
558 | License will continue to apply to the part which is the covered work,
559 | but the special requirements of the GNU Affero General Public License,
560 | section 13, concerning interaction through a network will apply to the
561 | combination as such.
562 |
563 | 14. Revised Versions of this License.
564 |
565 | The Free Software Foundation may publish revised and/or new versions of
566 | the GNU General Public License from time to time. Such new versions will
567 | be similar in spirit to the present version, but may differ in detail to
568 | address new problems or concerns.
569 |
570 | Each version is given a distinguishing version number. If the
571 | Program specifies that a certain numbered version of the GNU General
572 | Public License "or any later version" applies to it, you have the
573 | option of following the terms and conditions either of that numbered
574 | version or of any later version published by the Free Software
575 | Foundation. If the Program does not specify a version number of the
576 | GNU General Public License, you may choose any version ever published
577 | by the Free Software Foundation.
578 |
579 | If the Program specifies that a proxy can decide which future
580 | versions of the GNU General Public License can be used, that proxy's
581 | public statement of acceptance of a version permanently authorizes you
582 | to choose that version for the Program.
583 |
584 | Later license versions may give you additional or different
585 | permissions. However, no additional obligations are imposed on any
586 | author or copyright holder as a result of your choosing to follow a
587 | later version.
588 |
589 | 15. Disclaimer of Warranty.
590 |
591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599 |
600 | 16. Limitation of Liability.
601 |
602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610 | SUCH DAMAGES.
611 |
612 | 17. Interpretation of Sections 15 and 16.
613 |
614 | If the disclaimer of warranty and limitation of liability provided
615 | above cannot be given local legal effect according to their terms,
616 | reviewing courts shall apply local law that most closely approximates
617 | an absolute waiver of all civil liability in connection with the
618 | Program, unless a warranty or assumption of liability accompanies a
619 | copy of the Program in return for a fee.
620 |
621 | END OF TERMS AND CONDITIONS
622 |
623 | How to Apply These Terms to Your New Programs
624 |
625 | If you develop a new program, and you want it to be of the greatest
626 | possible use to the public, the best way to achieve this is to make it
627 | free software which everyone can redistribute and change under these terms.
628 |
629 | To do so, attach the following notices to the program. It is safest
630 | to attach them to the start of each source file to most effectively
631 | state the exclusion of warranty; and each file should have at least
632 | the "copyright" line and a pointer to where the full notice is found.
633 |
634 |
635 | Copyright (C)
636 |
637 | This program is free software: you can redistribute it and/or modify
638 | it under the terms of the GNU General Public License as published by
639 | the Free Software Foundation, either version 3 of the License, or
640 | (at your option) any later version.
641 |
642 | This program is distributed in the hope that it will be useful,
643 | but WITHOUT ANY WARRANTY; without even the implied warranty of
644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645 | GNU General Public License for more details.
646 |
647 | You should have received a copy of the GNU General Public License
648 | along with this program. If not, see .
649 |
650 | Also add information on how to contact you by electronic and paper mail.
651 |
652 | If the program does terminal interaction, make it output a short
653 | notice like this when it starts in an interactive mode:
654 |
655 | Copyright (C)
656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657 | This is free software, and you are welcome to redistribute it
658 | under certain conditions; type `show c' for details.
659 |
660 | The hypothetical commands `show w' and `show c' should show the appropriate
661 | parts of the General Public License. Of course, your program's commands
662 | might be different; for a GUI interface, you would use an "about box".
663 |
664 | You should also get your employer (if you work as a programmer) or school,
665 | if any, to sign a "copyright disclaimer" for the program, if necessary.
666 | For more information on this, and how to apply and follow the GNU GPL, see
667 | .
668 |
669 | The GNU General Public License does not permit incorporating your program
670 | into proprietary programs. If your program is a subroutine library, you
671 | may consider it more useful to permit linking proprietary applications with
672 | the library. If this is what you want to do, use the GNU Lesser General
673 | Public License instead of this License. But first, please read
674 | .
675 |
--------------------------------------------------------------------------------
/README.org:
--------------------------------------------------------------------------------
1 | View the almanac in a browser at: https://alphapapa.github.io/org-almanac/
2 |
3 | The =almanac.org= file may be viewed in Emacs directly. It may also be viewed from the GitHub repo pages, but some of the links won't work properly, because it's not currently possible to make links that work in both the GitHub renderer and Org's exporter.
4 |
--------------------------------------------------------------------------------
/almanac.org:
--------------------------------------------------------------------------------
1 | :PROPERTIES:
2 | :ID: 1066e1aa-552a-487a-b53e-0f6c19af293e
3 | :END:
4 | #+TITLE: org-almanac
5 | #+PROPERTY: logging nil
6 | #+PROPERTY: ATTACH_DIR ~/org/data
7 | #+PROPERTY: ATTACH_DIR_INHERIT t
8 | #+OPTIONS: prop:("author" "published") toc:nil
9 |
10 | # This file is exported to HTML at [[file:~/src/emacs/org-almanac/index.html]].
11 |
12 | * [#A] Contents
13 | :PROPERTIES:
14 | :TOC: :include siblings :depth 2 :ignore this
15 | :UNNUMBERED: t
16 | :ID: 795ba95a-2ac7-4e17-86d8-d2afe1b12d1f
17 | :END:
18 | :CONTENTS:
19 | - [[#application][Application]]
20 | - [[#blogging][Blogging]]
21 | - [[#bookmarking][Bookmarking]]
22 | - [[#business][Business]]
23 | - [[#database][Database]]
24 | - [[#fitness][Fitness]]
25 | - [[#meta][Meta]]
26 | - [[#games][Games]]
27 | - [[#miscellaneous][Miscellaneous]]
28 | - [[#presentations][Presentations]]
29 | - [[#project-management][Project Management]]
30 | - [[#research][Research]]
31 | - [[#software][Software]]
32 | - [[#studying][Studying]]
33 | - [[#web-publishing][Web Publishing]]
34 | - [[#writing][Writing]]
35 | - [[#configs][Configs]]
36 | - [[#development][Development]]
37 | - [[#building][Building]]
38 | - [[#performance][Performance]]
39 | - [[#documentation][Documentation]]
40 | - [[#community][Community]]
41 | - [[#manual][Manual]]
42 | - [[#tutorials][Tutorials]]
43 | - [[#features][Features]]
44 | - [[#agenda][Agenda]]
45 | - [[#appearance][Appearance]]
46 | - [[#capture][Capture]]
47 | - [[#clocking][Clocking]]
48 | - [[#exporting][Exporting]]
49 | - [[#lists][Lists]]
50 | - [[#tasks][Tasks]]
51 | - [[#people][People]]
52 | - [[#software-0][Software]]
53 | - [[#features-0][Features]]
54 | - [[#libraries][Libraries]]
55 | - [[#miscellaneous-0][Miscellaneous]]
56 | - [[#tools][Tools]]
57 | - [[#tasks-0][Tasks]]
58 | - [[#videos][Videos]]
59 | - [[#tutorials-0][Tutorials]]
60 | :END:
61 |
62 | * Application
63 | :PROPERTIES:
64 | :TOC: :include descendants :depth 1 :local depth
65 | :ID: 472b843b-7332-4770-8af4-5d36b9ace536
66 | :CUSTOM_ID: application
67 | :END:
68 |
69 | On applying Org to various tasks.
70 |
71 | :CONTENTS:
72 | - [[#blogging][Blogging]]
73 | - [[#bookmarking][Bookmarking]]
74 | - [[#business][Business]]
75 | - [[#database][Database]]
76 | - [[#fitness][Fitness]]
77 | - [[#meta][Meta]]
78 | - [[#games][Games]]
79 | - [[#miscellaneous][Miscellaneous]]
80 | - [[#presentations][Presentations]]
81 | - [[#project-management][Project Management]]
82 | - [[#research][Research]]
83 | - [[#software][Software]]
84 | - [[#studying][Studying]]
85 | - [[#web-publishing][Web Publishing]]
86 | - [[#writing][Writing]]
87 | :END:
88 |
89 | ** Blogging :blogging:
90 | :PROPERTIES:
91 | :ID: 32dc57d5-6810-44a5-9887-4f7813b02880
92 | :TOC: :include descendants :depth 2 :local depth
93 | :CUSTOM_ID: blogging
94 | :END:
95 | :LOGBOOK:
96 | - Note taken on [2020-02-13 Thu 01:22] \\
97 | Originally started [2018-07-31 Tue 19:53].
98 | :END:
99 |
100 | Using Org to publish a blog.
101 |
102 | :CONTENTS:
103 | - [[#articles][Articles]]
104 | - [[#artur-malabarba-how-i-blog-with-emacs-one-year-of-posts-in-a-single-org-file][Artur Malabarba: How I blog with Emacs: One year of posts in a single Org file]]
105 | - [[#bastian-bechtold-blogging-with-emacs][Bastian Bechtold: Blogging with Emacs]]
106 | - [[#dennis-ogbe-blogging-using-org-mode-and-nothing-else][Dennis Ogbe: Blogging using org-mode (and nothing else)]]
107 | - [[#diego-vicente-blogging-with-emacs-and-emacs-only][Diego Vicente: Blogging with Emacs, and Emacs only]]
108 | - [[#duncan-mac-vicar-p-migrating-from-jekyll-to-org-mode-and-github-actions][Duncan Mac-Vicar P.: Migrating from Jekyll to org-mode and Github Actions]]
109 | - [[#john-louis-del-rosario-blogging-with-orgmode][John Louis Del Rosario: Blogging with Orgmode]]
110 | - [[#marcin-borkowski-org-clive---a-new-org-mode-based-blogging-engine][Marcin Borkowski: Org Clive - a new Org-mode-based blogging engine]]
111 | - [[#nicolas-petton-blogging-with-org-mode][Nicolas Petton: Blogging with org-mode]]
112 | - [[#pierre-neidhardt-a-blog-in-pure-orglisp][Pierre Neidhardt: A blog in pure Org/Lisp]]
113 | - [[#rasmus-pank-roulund-blogging-with-org][Rasmus Pank Roulund: Blogging with Org]]
114 | - [[#seth-j-morabito-emacs-blogging-for-fun-and-profit][Seth J. Morabito: Emacs Blogging for Fun and Profit]]
115 | - [[#stig-brautaset][Stig Brautaset]]
116 | - [[#toon-claes][Toon Claes]]
117 | - [[#tyler-grinn-how-this-blog-works][Tyler Grinn: How this blog works]]
118 | - [[#code][Code]]
119 | - [[#defblog-a-web-siteblog-builder-implemented-as-a-wrapper-around-org-project][defblog: A web site/blog builder, implemented as a wrapper around org-project]]
120 | - [[#org-clive-a-simple-and-minimalistic-org-based-static-weblog-generator][org-clive: A simple and minimalistic Org-based static weblog generator]]
121 | - [[#org-export-head-org-mode-to-blog-exporter-converts-each-header-to-a-different-file][org-export-head: Org mode to blog exporter. Converts each header to a different file]]
122 | - [[#discussions][Discussions]]
123 | - [[#multi-page-sitemaps-for-org-publish--emacs][Multi-page sitemaps for org-publish? : emacs]]
124 | - [[#o-blogging-wih-org-mode][{O} blogging wih org-mode]]
125 | - [[#psa-hugo-users-update-to-hugo-v046-to-get-syntax-highlighted-org-mode-blocks-using-chroma--orgmode][{PSA} Hugo users: Update to Hugo v0.46 to get syntax highlighted Org mode blocks using Chroma : orgmode]]
126 | - [[#examples][Examples]]
127 | - [[#a-scripters-notes-kaushal-modis-blog][A Scripter's Notes (Kaushal Modi's blog)]]
128 | - [[#andrea-giugliano-where-parallels-cross][Andrea Giugliano: Where parallels cross]]
129 | - [[#artur-malabarba-endless-parentheses][Artur Malabarba: Endless Parentheses]]
130 | - [[#duncan-mac-vicar-p][Duncan Mac-Vicar P.]]
131 | - [[#juan-reyero][Juan Reyero]]
132 | - [[#mohamed-aziz-knanis-blog][Mohamed Aziz Knani's blog]]
133 | - [[#nicolas-petton][Nicolas Petton]]
134 | - [[#rasmus-pank-roulund-coffee--coding-chronicles][Rasmus Pank Roulund: Coffee & Coding Chronicles]]
135 | - [[#seth-j-morabito-loom-communications][Seth J. Morabito: Loom Communications]]
136 | - [[#stig-brautaset-0][Stig Brautaset]]
137 | - [[#thibault-marin-personal-website-in-org][Thibault Marin: Personal website in org]]
138 | - [[#toon-claes-write-permission][Toon Claes: Write Permission]]
139 | - [[#two-wrongs][Two Wrongs]]
140 | - [[#tyler-grinn][Tyler Grinn]]
141 | :END:
142 |
143 | *** TODO Articles :articles:
144 | :PROPERTIES:
145 | :CUSTOM_ID: articles
146 | :END:
147 | :LOGBOOK:
148 | - State "TODO" from [2020-02-13 Thu 01:07]
149 | :END:
150 |
151 | + [ ] Link these in [[id:819d2bcb-425b-42c3-9e91-4bffd165e1be][Examples]].
152 |
153 | **** [[http://endlessparentheses.com/how-i-blog-one-year-of-posts-in-a-single-org-file.html][Artur Malabarba: How I blog with Emacs: One year of posts in a single Org file]] :ATTACH:
154 | :PROPERTIES:
155 | :Attachments: http%3A%2F%2Fendlessparentheses.com%2Fhow-i-blog-one-year-of-posts-in-a-single-org-file.html--ur4XL8.tar.xz
156 | :ID: aa39dad8-5d0f-43df-be2a-98eac35864cc
157 | :author: Artur Malabarba
158 | :published: [2015-06-26 Fri]
159 | :CUSTOM_ID: artur-malabarba-how-i-blog-with-emacs-one-year-of-posts-in-a-single-org-file
160 | :END:
161 |
162 | **** [[https://bastibe.de/2013-11-13-blogging-with-emacs.html][Bastian Bechtold: Blogging with Emacs]] :ATTACH:
163 | :PROPERTIES:
164 | :Attachments: https%3A%2F%2Fbastibe.de%2F2013-11-13-blogging-with-emacs.html--XVMKSd.tar.xz
165 | :ID: 901a9cbf-4ea0-4734-8104-f771d8f55a5b
166 | :author: Bastian Bechtold
167 | :published: [2013-11-13 Wed]
168 | :CUSTOM_ID: bastian-bechtold-blogging-with-emacs
169 | :END:
170 | :LOGBOOK:
171 | - State "TODO" from [2020-02-13 Thu 01:09]
172 | :END:
173 |
174 | **** [[https://ogbe.net/blog/blogging_with_org.html][Dennis Ogbe: Blogging using org-mode (and nothing else)]] :ATTACH:
175 | :PROPERTIES:
176 | :Attachments: https%3A%2F%2Fogbe.net%2Fblog%2Fblogging_with_org.html--F4bLhg.tar.xz
177 | :ID: ebe8c121-7838-412b-b389-c99684095c29
178 | :author: Dennis Ogbe
179 | :published: [2016-02-01 Mon]
180 | :CUSTOM_ID: dennis-ogbe-blogging-using-org-mode-and-nothing-else
181 | :END:
182 | :LOGBOOK:
183 | - State "TODO" from [2020-02-13 Thu 01:09]
184 | :END:
185 |
186 | **** [[https://diego.codes/post/blogging-with-org/][Diego Vicente: Blogging with Emacs, and Emacs only]] :ATTACH:
187 | :PROPERTIES:
188 | :Attachments: https%3A%2F%2Fdiego.codes%2Fpost%2Fblogging-with-org%2F--lHXuQJ.tar.xz
189 | :ID: 3b1158fe-8510-484e-a492-6b3da3d72771
190 | :author: Diego Vicente
191 | :published: [2018-11-01 Thu]
192 | :CUSTOM_ID: diego-vicente-blogging-with-emacs-and-emacs-only
193 | :END:
194 | :LOGBOOK:
195 | - State "TODO" from [2020-02-13 Thu 01:09]
196 | :END:
197 |
198 | **** [[https://duncan.codes/posts/2019-09-03-migrating-from-jekyll-to-org/][Duncan Mac-Vicar P.: Migrating from Jekyll to org-mode and Github Actions]] :ATTACH:
199 | :PROPERTIES:
200 | :Attachments: https%3A%2F%2Fduncan.codes%2Fposts%2F2019-09-03-migrating-from-jekyll-to-org%2F--YjJ9dw.tar.xz
201 | :ID: 935cd6fc-e50d-4400-ae57-12caf4c46fae
202 | :author: Duncan Mac-Vicar P.
203 | :published: [2019-09-03 Tue]
204 | :CUSTOM_ID: duncan-mac-vicar-p-migrating-from-jekyll-to-org-mode-and-github-actions
205 | :END:
206 |
207 | [2019-09-04 Wed 18:54]
208 |
209 | **** [[https://www.john2x.com/blog/blogging-with-orgmode.html][John Louis Del Rosario: Blogging with Orgmode]] :ATTACH:
210 | :PROPERTIES:
211 | :Attachments: https%3A%2F%2Fwww.john2x.com%2Fblog%2Fblogging-with-orgmode.html--O7ap32.tar.xz
212 | :ID: 373d30df-a6e2-4940-9d72-1fb73ef95d06
213 | :author: John Louis Del Rosario
214 | :published: [2016-04-24 Sun]
215 | :CUSTOM_ID: john-louis-del-rosario-blogging-with-orgmode
216 | :END:
217 | :LOGBOOK:
218 | - State "TODO" from [2020-02-13 Thu 01:09]
219 | :END:
220 |
221 | **** [[https://mbork.pl/2023-07-22_Org_Clive_-_a_new_Org-mode-based_blogging_engine][Marcin Borkowski: Org Clive - a new Org-mode-based blogging engine]]
222 | :PROPERTIES:
223 | :published: [2023-07-22 Sat]
224 | :ID: e81b3cba-4de6-4f22-8b74-fc021da39658
225 | :author: Marcin Borkowski
226 | :CUSTOM_ID: marcin-borkowski-org-clive---a-new-org-mode-based-blogging-engine
227 | :END:
228 |
229 | + See also: [[id:7e35cad6-a190-4545-9f36-8a9ea16c8519][org-clive]]
230 |
231 | #+begin_quote
232 | As I said, this is a very simplistic thing (which is precisely what I wanted). You can skim the README in 5-10 minutes, the example blog in another 5-10 minutes, and you can probably study the whole source code in an hour. One of my favorite features (and one of the main reasons I implemented this myself instead of using one of a few existing solutions) is the fact that the whole blog – the content, the HTML templates, CSS, JavaScript – is defined in a single Org mode file. Of course, I made an exception for images and other binary blobs like fonts – technically, you could also have them in the Org file, but I don’t think it is a very practical idea.
233 |
234 | So, try out Org Clive, and drop me a line if you use it in production! Of course, bug reports and merge requests are welcome – feature requests less so, since I don’t want to spend too much time on it (apart of implementing a few things like RSS or page modification dates).
235 | #+end_quote
236 |
237 | **** [[https://nicolas.petton.fr/blog/blogging-with-org-mode.html][Nicolas Petton: Blogging with org-mode]] :ATTACH:
238 | :PROPERTIES:
239 | :Attachments: https%3A%2F%2Fnicolas.petton.fr%2Fblog%2Fblogging-with-org-mode.html--H2EslR.tar.xz
240 | :ID: 7ece4012-81da-40c5-aab6-440f0c11bad4
241 | :author: Nicolas Petton
242 | :published: [2013-10-15 Tue]
243 | :CUSTOM_ID: nicolas-petton-blogging-with-org-mode
244 | :END:
245 |
246 | **** TODO [[https://ambrevar.xyz/blog-architecture/][Pierre Neidhardt: A blog in pure Org/Lisp]] :website:ATTACH:
247 | :PROPERTIES:
248 | :ID: b917cbde-a7e3-45b5-bc42-883f5eb5f444
249 | :Attachments: https%3A%2F%2Fambrevar.xyz%2Fblog-architecture%2F--EzL0J.zip
250 | :author: Pierre Neidhardt
251 | :CUSTOM_ID: pierre-neidhardt-a-blog-in-pure-orglisp
252 | :END:
253 |
254 | [2018-09-03 Mon 02:17]
255 |
256 | **** [[https://pank.eu/blog/blog-setup.html][Rasmus Pank Roulund: Blogging with Org]] :ATTACH:
257 | :PROPERTIES:
258 | :ID: dbc6f377-99a3-434c-a401-88fca6413f3a
259 | :author: Rasmus Pank Roulund
260 | :published: [2016-03-27 Sun]
261 | :Attachments: https%3A%2F%2Fpank.eu%2Fblog%2Fblog-setup.html--E02Rct.tar.xz
262 | :CUSTOM_ID: rasmus-pank-roulund-blogging-with-org
263 | :END:
264 |
265 | **** [[https://loomcom.com/blog/0110_emacs_blogging_for_fun_and_profit.html][Seth J. Morabito: Emacs Blogging for Fun and Profit]] :ATTACH:
266 | :PROPERTIES:
267 | :ID: e35e3361-dbe1-4a4b-ad8c-9ffc009b334e
268 | :Attachments: https%3A%2F%2Floomcom.com%2Fblog%2F0110_emacs_blogging_for_fun_and_profit.html--u6wvc.zip
269 | :author: Seth J. Morabito
270 | :published: [2018-07-12 Thu]
271 | :CUSTOM_ID: seth-j-morabito-emacs-blogging-for-fun-and-profit
272 | :END:
273 | :LOGBOOK:
274 | - State "TODO" from [2020-02-13 Thu 01:09]
275 | :END:
276 |
277 | **** Stig Brautaset
278 | :PROPERTIES:
279 | :author: Stig Brautaset
280 | :CUSTOM_ID: stig-brautaset
281 | :END:
282 |
283 | ***** TODO [[https://github.com/stig/.emacs.d/blob/master/Blogging.org][.emacs.d/Blogging.org at master · stig/.emacs.d · GitHub]]
284 |
285 | ***** TODO [[https://www.brautaset.org/articles/2017/blogging-with-org-mode.html][Blogging with Org mode]]
286 |
287 | ***** TODO [[https://www.brautaset.org/articles/2017/blogging-with-org-mode-update.html][Blogging with Org mode—update!]]
288 |
289 | ***** TODO [[https://www.brautaset.org/articles/2018/org-mode-rss.html][Creating an RSS feed with Org mode]]
290 |
291 | ***** TODO [[https://www.brautaset.org/articles/2016/how-i-blog-this-week.html][How I Blog (This Week)]]
292 |
293 | ***** TODO [[https://www.brautaset.org/articles/2018/creating-index-entry-from-post.html][Linking Org mode blog posts into the index page]]
294 |
295 | **** Toon Claes
296 | :PROPERTIES:
297 | :author: Toon Claes
298 | :CUSTOM_ID: toon-claes
299 | :END:
300 |
301 | Toon's blog has a unique and appealing custom theme.
302 |
303 | ***** TODO [[https://writepermission.com/org-blogging-clickable-headlines.html][Org mode blogging: Clickable headlines]]
304 | :PROPERTIES:
305 | :published: [2018-12-13 Thu]
306 | :END:
307 |
308 | ***** [[https://writepermission.com/org-blogging-rss-feed.html][Org mode blogging: RSS feed]] :ATTACH:
309 | :PROPERTIES:
310 | :Attachments: https%3A%2F%2Fwritepermission.com%2Forg-blogging-rss-feed.html--qVgqZf.tar.xz
311 | :ID: f09e94be-9628-4dbe-a638-b6a972af7d25
312 | :published: [2018-12-30 Sun]
313 | :END:
314 |
315 | ***** TODO [[https://writepermission.com/org-blogging-unfurling-links.html][Org mode blogging: Unfurling links]]
316 | :PROPERTIES:
317 | :published: [2018-12-26 Wed]
318 | :END:
319 |
320 | **** [[https://blog.tygr.info/emacs/blog.html][Tyler Grinn: How this blog works]]
321 | :PROPERTIES:
322 | :author: Tyler Grinn
323 | :CUSTOM_ID: tyler-grinn-how-this-blog-works
324 | :END:
325 |
326 | #+BEGIN_QUOTE
327 | I write in org mode and export to html. The css is written afterwards instead of modifying the export process. This allows me to use the chrome inspector to quickly optimize an element rather than going through a build-and-test cycle. The element attributes ox adds to each html element are descriptive and unique enough to target quite easily with css selectors.
328 |
329 | I also use the org-info-js script to add keybindings, advanced TOC options, and section folding to the website.
330 |
331 | Dark mode is enabled using dark-mode-toggle and css media queries.
332 |
333 | The built html files are synced to my server using Syncthing and I serve the website using Nginx. All this is done using kubernetes on Digital Ocean. The blog, along with all my org files, is backed up daily using kubernetes VolumeSnapshots.
334 | #+END_QUOTE
335 |
336 | *** TODO Code :code:
337 | :PROPERTIES:
338 | :ID: d4e0b37d-b0fc-497d-8e4f-957b115b5d14
339 | :CUSTOM_ID: code
340 | :END:
341 | :LOGBOOK:
342 | - State "TODO" from [2020-02-13 Thu 01:43]
343 | :END:
344 |
345 | **** [[https://github.com/jphmrst/defblog][defblog: A web site/blog builder, implemented as a wrapper around org-project]]
346 | :PROPERTIES:
347 | :author: John Maraist
348 | :CUSTOM_ID: defblog-a-web-siteblog-builder-implemented-as-a-wrapper-around-org-project
349 | :END:
350 |
351 | #+BEGIN_QUOTE
352 | Declare a simple structured blog to be published with org-publish. This package offers an all-Emacs solution to maintaining a web site (except for uploading via rsync, which defblog triggers through org-publish).
353 | #+END_QUOTE
354 |
355 | + [[https://www.reddit.com/r/emacs/comments/pl4ad7/defblog_a_wrapper_around_orgpublish_for_web/][Announcement on Reddit]]
356 |
357 | **** [[https://gitlab.com/mbork_mbork_pl/org-clive][org-clive: A simple and minimalistic Org-based static weblog generator]]
358 | :PROPERTIES:
359 | :author: Marcin Borkowski
360 | :ID: 7e35cad6-a190-4545-9f36-8a9ea16c8519
361 | :CUSTOM_ID: org-clive-a-simple-and-minimalistic-org-based-static-weblog-generator
362 | :END:
363 |
364 | #+begin_quote
365 | Org Clive is an extremely simple static weblog generator written in Emacs Lisp on top of Org mode.
366 |
367 | + Design goals ::
368 |
369 | - it is as simple as possible so that the code can be easily read, understood, extended and modified if necessary,
370 | - it generates a set of static files (HTML and possibly others) ready to be uploaded to a server,
371 | - the structure and content of the resulting weblog is fully controlled from a single Org mode file.
372 |
373 | + Features ::
374 |
375 | - support for links to other pages via CUSTOM_ID, inline images, HTML templates, RSS
376 | - recent pages and a list of all pages
377 |
378 | + Roadmap ::
379 |
380 | - support for modification dates (in addition to publication dates)
381 | - generating/copying only files that have changed since last time
382 | - page aliases (redirects) - maybe
383 | #+end_quote
384 |
385 | + [[id:e81b3cba-4de6-4f22-8b74-fc021da39658][Marcin Borkowski: Org Clive - a new Org-mode-based blogging engine]]
386 |
387 | **** [[https://github.com/itf/org-export-head][org-export-head: Org mode to blog exporter. Converts each header to a different file]]
388 | :PROPERTIES:
389 | :ID: 48caf68d-5b39-4d87-b464-f496c3811dd1
390 | :author: Ivan Tadeu Ferreira Antunes Filho
391 | :CUSTOM_ID: org-export-head-org-mode-to-blog-exporter-converts-each-header-to-a-different-file
392 | :END:
393 |
394 | + [[https://www.reddit.com/r/emacs/comments/9cslij/single_file_blog_in_org_mode/][Single file Blog in org mode : emacs]]
395 |
396 | *** TODO Discussions :discussions:
397 | :PROPERTIES:
398 | :CUSTOM_ID: discussions
399 | :END:
400 | :LOGBOOK:
401 | - State "TODO" from [2020-02-13 Thu 01:43]
402 | :END:
403 |
404 | **** [[https://www.reddit.com/r/emacs/comments/93harh/multipage_sitemaps_for_orgpublish/][Multi-page sitemaps for org-publish? : emacs]] :ATTACH:
405 | :PROPERTIES:
406 | :ID: 39024027-a5b0-4e0d-9fc1-c41db5549c8f
407 | :Attachments: https%3A%2F%2Fwww.reddit.com%2Fr%2Femacs%2Fcomments%2F93harh%2Fmultipage_sitemaps_for_orgpublish%2F--beLTG.zip
408 | :CUSTOM_ID: multi-page-sitemaps-for-org-publish--emacs
409 | :END:
410 |
411 | **** [[https://lists.gnu.org/archive/html/emacs-orgmode/2019-09/msg00282.html][{O} blogging wih org-mode]]
412 | :PROPERTIES:
413 | :CUSTOM_ID: o-blogging-wih-org-mode
414 | :END:
415 |
416 | **** [[https://www.reddit.com/r/orgmode/comments/93nyaw/psa_hugo_users_update_to_hugo_v046_to_get_syntax/e3fmd62/][{PSA} Hugo users: Update to Hugo v0.46 to get syntax highlighted Org mode blocks using Chroma : orgmode]] :website:
417 | :PROPERTIES:
418 | :CUSTOM_ID: psa-hugo-users-update-to-hugo-v046-to-get-syntax-highlighted-org-mode-blocks-using-chroma--orgmode
419 | :END:
420 |
421 | [2018-08-01 Wed 17:27]
422 |
423 | ***** Article
424 |
425 | #+BEGIN_QUOTE
426 | Yours looks so nice!
427 | #+END_QUOTE
428 |
429 | Thanks!
430 |
431 | #+BEGIN_QUOTE
432 | But I'd like mine to work by keeping entries in a single file (or collecting them from multiple files), rather than storing one entry per file.
433 | #+END_QUOTE
434 |
435 | Why "But"? :) I do exactly that i.e. [[https://gitlab.com/kaushalmodi/kaushalmodi.gitlab.io/blob/master/content-org/scripter-posts.org][multiple posts from one Org file]]. Well, not exactly that. I have a mix of one post per file and multiple posts per file. For example, [[https://gitlab.com/kaushalmodi/kaushalmodi.gitlab.io/blob/master/content-org/notes/nim.org][my Nim notes]] ( [[https://scripter.co/notes/nim/][HTML]]) got too out of hand, and won't suit in the above file. So I kept it separate (and same for other notes).
436 |
437 | #+BEGIN_QUOTE
438 | that's possible, but maybe requires custom code. Do you have any thoughts about that?
439 | #+END_QUOTE
440 |
441 | I am not sure which custom code you are referring to (the subtree-to-file and file-to-file export code is part of =ox-hugo=). If you see any of the Org files, they are normal Org files, with adding of /#+hugo../ keywords and /:EXPORT\_HUGO\_../ properties.
442 |
443 | Or, do you mean how to do the same if not planning to use Hugo?
444 |
445 | *** TODO Examples :examples:
446 | :PROPERTIES:
447 | :ID: 819d2bcb-425b-42c3-9e91-4bffd165e1be
448 | :CUSTOM_ID: examples
449 | :END:
450 | :LOGBOOK:
451 | - State "TODO" from [2020-02-13 Thu 01:43]
452 | :END:
453 |
454 | Blogs and personal Web sites published with Org.
455 |
456 | **** TODO [[https://scripter.co/][A Scripter's Notes (Kaushal Modi's blog)]]
457 | :PROPERTIES:
458 | :CUSTOM_ID: a-scripters-notes-kaushal-modis-blog
459 | :END:
460 |
461 | **** [[https://ag91.github.io/][Andrea Giugliano: Where parallels cross]]
462 | :PROPERTIES:
463 | :author: Andrea Giugliano
464 | :CUSTOM_ID: andrea-giugliano-where-parallels-cross
465 | :END:
466 |
467 | Blog published with the inactive project [[https://github.com/sillykelvin/org-page][org-page]].
468 |
469 | #+BEGIN_QUOTE
470 | Yesterday (or today?) a student, today a software engineer, the day after just a fragment of life.
471 |
472 | I am pulled by curiosity and since I have learned a few useful things, why not to share them?
473 | #+END_QUOTE
474 |
475 | **** [[https://endlessparentheses.com/][Artur Malabarba: Endless Parentheses]]
476 | :PROPERTIES:
477 | :author: Artur Malabarba
478 | :CUSTOM_ID: artur-malabarba-endless-parentheses
479 | :END:
480 |
481 | **** [[https://duncan.codes/][Duncan Mac-Vicar P.]]
482 | :PROPERTIES:
483 | :CUSTOM_ID: duncan-mac-vicar-p
484 | :END:
485 |
486 | **** [[http://juanreyero.com/about/][Juan Reyero]]
487 | :PROPERTIES:
488 | :author: Juan Reyero
489 | :CUSTOM_ID: juan-reyero
490 | :END:
491 |
492 | #+BEGIN_QUOTE
493 | Engineer and programmer, with a PhD in Mechanical Engineering and working at Xaar in Cambridge, UK. Before that I worked at Hewlett Packard's research and development lab since 1996. With over 40 US patents filed, at least 12 of them granted and the rest pending. I am currently working on the data pipeline of a 3D printer.
494 |
495 | My latest personal project is GreaterSkies, selling personalized star charts as a high-quality PDF. You choose the location, date and time, and my Common Lisp engine will create for you a beautiful chart with thousands of stars and the planets as seen from that place and at that time.
496 | #+END_QUOTE
497 |
498 | **** TODO [[http://aziz.tn/blog/2018-07-02-how_do_write_this_website.html][Mohamed Aziz Knani's blog]]
499 | :PROPERTIES:
500 | :CUSTOM_ID: mohamed-aziz-knanis-blog
501 | :END:
502 |
503 | **** [[https://nicolas.petton.fr/][Nicolas Petton]]
504 | :PROPERTIES:
505 | :author: Nicolas Petton
506 | :CUSTOM_ID: nicolas-petton
507 | :END:
508 |
509 | **** [[https://pank.eu/][Rasmus Pank Roulund: Coffee & Coding Chronicles]]
510 | :PROPERTIES:
511 | :author: Rasmus Pank Roulund
512 | :CUSTOM_ID: rasmus-pank-roulund-coffee--coding-chronicles
513 | :END:
514 |
515 | #+BEGIN_QUOTE
516 | I am an economist at the Danish central bank, Nationalbanken, and I recently received a PhD in economics from the European University Institute in Florence.
517 |
518 | I am a supporter of Free Software I contribute to GNU Emacs and in particularly Org mode.
519 | #+END_QUOTE
520 |
521 | **** [[https://loomcom.com/][Seth J. Morabito: Loom Communications]]
522 | :PROPERTIES:
523 | :ID: 5f1d20fd-0ca0-4788-a487-200007752a26
524 | :author: Seth J. Morabito
525 | :CUSTOM_ID: seth-j-morabito-loom-communications
526 | :END:
527 |
528 | See [[id:39024027-a5b0-4e0d-9fc1-c41db5549c8f][Multi-page sitemaps for org-publish? : emacs]]. Also [[id:e35e3361-dbe1-4a4b-ad8c-9ffc009b334e][Emacs Blogging for Fun and Profit]].
529 |
530 | **** [[https://www.brautaset.org/index.html][Stig Brautaset]]
531 | :PROPERTIES:
532 | :author: Stig Brautaset
533 | :CUSTOM_ID: stig-brautaset-0
534 | :END:
535 |
536 | #+BEGIN_QUOTE
537 | I'm a software engineer based in the north east of England. This is my personal site, and opinions expressed here do not reflect those of my employer.
538 |
539 | I'm originally from the west coast of Norway. I studied electronics, and served as a sonar operator on a submarine during compulsory military service, before moving to London to study AI. I graduated from the University of Westminster in 2003, and have been working primarily as a backend software engineer since.
540 |
541 | I build this website in Emacs' Org mode, which can publish static HTML files. Those I deploy on Amazon S3 behind a CloudFront distribution and a free SSL certificate.
542 | #+END_QUOTE
543 |
544 | **** TODO [[https://thibaultmarin.github.io/blog/posts/2016-11-13-Personal_website_in_org.html][Thibault Marin: Personal website in org]] :ATTACH:
545 | :PROPERTIES:
546 | :Attachments: https%3A%2F%2Fthibaultmarin.github.io%2Fblog%2Fposts%2F2016-11-13-Personal_website_in_org.html--WeXar7.tar.xz
547 | :ID: c004d395-cccf-4585-883d-633f6ce42e79
548 | :CUSTOM_ID: thibault-marin-personal-website-in-org
549 | :END:
550 |
551 | **** [[https://writepermission.com/][Toon Claes: Write Permission]]
552 | :PROPERTIES:
553 | :author: Toon Claes
554 | :CUSTOM_ID: toon-claes-write-permission
555 | :END:
556 |
557 | Toon's blog has a unique and appealing custom theme.
558 |
559 | **** TODO [[https://two-wrongs.com/][Two Wrongs]]
560 | :PROPERTIES:
561 | :CUSTOM_ID: two-wrongs
562 | :END:
563 |
564 | **** [[https://blog.tygr.info/][Tyler Grinn]]
565 | :PROPERTIES:
566 | :author: Tyler Grinn
567 | :CUSTOM_ID: tyler-grinn
568 | :END:
569 |
570 | #+BEGIN_QUOTE
571 | I write in org mode and export to html. The css is written afterwards instead of modifying the export process. This allows me to use the chrome inspector to quickly optimize an element rather than going through a build-and-test cycle. The element attributes ox adds to each html element are descriptive and unique enough to target quite easily with css selectors.
572 |
573 | I also use the org-info-js script to add keybindings, advanced TOC options, and section folding to the website.
574 |
575 | Dark mode is enabled using dark-mode-toggle and css media queries.
576 |
577 | The built html files are synced to my server using Syncthing and I serve the website using Nginx. All this is done using kubernetes on Digital Ocean. The blog, along with all my org files, is backed up daily using kubernetes VolumeSnapshots.
578 | #+END_QUOTE
579 |
580 | ** Bookmarking :bookmarking:
581 | :PROPERTIES:
582 | :CUSTOM_ID: bookmarking
583 | :END:
584 |
585 | On using Org to bookmark Web sites.
586 |
587 | *** Articles :articles:
588 |
589 | **** [[https://karl-voit.at/2014/08/10/bookmarks-with-orgmode/][Karl Voit: UOMF: Managing web bookmarks with Org Mode]] :ATTACH:
590 | :PROPERTIES:
591 | :author: Karl Voit
592 | :published: [2014-08-10 Sun]
593 | :updated: [2019-09-25 Wed]
594 | :Attachments: https%3A%2F%2Fkarl-voit.at%2F2014%2F08%2F10%2Fbookmarks-with-orgmode%2F--o6P1UX.tar.xz
595 | :ID: b39872fc-73a5-4937-a5e8-653ce0b24023
596 | :END:
597 |
598 | *** Discussions :discussions:
599 |
600 | **** [[https://www.reddit.com/r/orgmode/comments/iqp0mf/organizing_web_bookmarks_with_orgmode/][Organizing web bookmarks with Org-mode? : orgmode]]
601 |
602 | ** Business :business:
603 | :PROPERTIES:
604 | :CUSTOM_ID: business
605 | :END:
606 |
607 | On using Org to run a business.
608 |
609 | *** Articles :articles:
610 |
611 | **** [[https://bofh.org.uk/2019/02/25/baking-with-emacs/][Running a bakery on Emacs and PostgreSQL]]
612 | :PROPERTIES:
613 | :published: [2019-02-25 Mon]
614 | :author: Piers Cawley
615 | :END:
616 |
617 | Piers shows how he uses Org captures, Babel, and some custom code to help run his bakery.
618 |
619 | #+BEGIN_QUOTE
620 | Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.
621 |
622 | One of the big changes that came with going pro was that suddenly I was having to work out how much stuff I needed to mix to fill the orders I needed. On the face of it, this is really simple, just work out how much dough you need, then work out what quantities to mix to make that much dough. Easy. You can do it with a pencil and paper. Or, in traditional bakers' fashion, by scrawling with your finger on a floured work bench.
623 |
624 | And that’s how I coped for a few weeks early on. But I kept making mistakes, which makes for an inconsistent product (bread is very forgiving, you have to work quite hard to make something that isn’t bread, but consistency matters). I needed to automate.
625 | #+END_QUOTE
626 |
627 | ** Database :database:
628 | :PROPERTIES:
629 | :CUSTOM_ID: database
630 | :END:
631 |
632 | Using Org files like a database.
633 |
634 | *** Tools :tools:
635 |
636 | **** [[https://orgmode.org/worg/org-contrib/org-collector.html][org-collector]]
637 |
638 | =org-collector= is a library in =org-contrib= that collects headline properties into tables with optional pre-processing. Here's a simple example from its documentation:
639 |
640 | Given the following Org buffer:
641 |
642 | #+BEGIN_SRC org
643 | ,* Spending
644 |
645 | ,** December
646 | :PROPERTIES:
647 | :ID: december
648 | :END:
649 |
650 | ,*** Week 1
651 |
652 | ,**** Grocery Store [2008-12-01 Mon]
653 | :PROPERTIES:
654 | :amount: 56.77
655 | :type: food
656 | :END:
657 |
658 | ,**** Athletic club [2008-12-02 Tue]
659 | :PROPERTIES:
660 | :amount: 75.00
661 | :type: health
662 | :END:
663 |
664 | ,*** Week 2
665 |
666 | ,**** Restaurant [2008-12-08 Mon]
667 | :PROPERTIES:
668 | :amount: 30.67
669 | :type: food
670 | :END:
671 |
672 | #+END_SRC
673 |
674 | A report could be generated like so:
675 |
676 | #+BEGIN_SRC org
677 | ,#+BEGIN: propview :id "december" :conds ((string= TYPE "food")) :cols (ITEM AMOUNT)
678 | | "ITEM" | "amount" |
679 | |----------------------------------+----------|
680 | | "Grocery Store [2008-12-01 Mon]" | 56.77 |
681 | | "Restaurant [2008-12-08 Mon]" | 30.67 |
682 | |----------------------------------+----------|
683 | | | |
684 | ,#+END:
685 | #+END_SRC
686 |
687 | **** [[https://github.com/alphapapa/org-ql][org-ql]] :libraries:
688 |
689 | =org-ql= provides a query language for Org files. It offers two syntax styles: Lisp-like sexps and search engine-like keywords.
690 |
691 | It includes three libraries: The =org-ql= library is flexible and may be used as a backend for other tools. The libraries =org-ql-search= and =helm-org-ql= provide interactive search commands and saved views.
692 |
693 | Here are a few examples of the Lisp-side of the library. See the examples and screenshots on its home page for more information.
694 |
695 | #+BEGIN_SRC elisp
696 | ;; Show an agenda-like view, similar to a “traditional” Org Agenda
697 | ;; with Log Mode turned on.
698 | (org-ql-search (org-agenda-files)
699 | '(or (and (not (done))
700 | (or (habit)
701 | (deadline auto)
702 | (scheduled :to today)
703 | (ts-active :on today)))
704 | (closed :on today))
705 | :sort '(date priority todo))
706 |
707 | ;; Show entries that have any timestamp within the past week. Group by
708 | ;; date using org-super-agenda with the :auto-ts group.
709 | (org-ql-search (org-agenda-files)
710 | '(ts :from -7 :to today)
711 | :title "Recent Items"
712 | :sort '(date priority todo)
713 | :super-groups '((:auto-ts t)))
714 |
715 | ;; If you kept a database of music in an Org file, you could run a
716 | ;; query like this to find tracks composed by Chopin that do not have
717 | ;; their key recorded in the database.
718 | (org-ql-search "~/org/music.org"
719 | '(and (property "genre" "classical")
720 | (property "composer" "Chopin")
721 | (not (property "key"))))
722 | #+END_SRC
723 |
724 | ***** TODO org-ql dynamic block demo
725 |
726 | ** Fitness :fitness:
727 | :PROPERTIES:
728 | :CUSTOM_ID: fitness
729 | :END:
730 |
731 | *** Discussions :discussions:
732 |
733 | **** [[https://www.reddit.com/r/orgmode/comments/i2d75e/tracking_my_diet_with_emacs_and_orgmode/][Tracking my diet with Emacs and org-mode : orgmode]]
734 |
735 | **** [[https://www.reddit.com/r/orgmode/comments/i1z6np/ann_orgcaloriesel_a_package_to_log_your_calorific/][{ANN} Org-Calories.el, a package to log your calorific intake and outake {ALPHA} : orgmode]]
736 |
737 | ** Meta :meta:
738 | :PROPERTIES:
739 | :CUSTOM_ID: meta
740 | :END:
741 |
742 | On applying Org to various tasks (as opposed to a specific task).
743 |
744 | *** Discussions :discussions:
745 |
746 | Discussions about applying Org to various tasks.
747 |
748 | + [[https://www.reddit.com/r/emacs/comments/jjxatm/whats_your_job_whats_your_daily_emacs_workflow/][What's your job? What's your daily emacs workflow? : r/emacs]]
749 |
750 | ** Games :games:
751 | :PROPERTIES:
752 | :CUSTOM_ID: games
753 | :END:
754 |
755 | Including using Org to run role-playing games (RPGs).
756 |
757 | *** Articles :articles:
758 |
759 | **** [[https://takeonrules.com/2020/11/09/using-emacs-while-running-online-games/][Using Emacs While Running Online Games // Take on Rules]] :ATTACH:
760 | :PROPERTIES:
761 | :author: Jeremy Friesen
762 | :published: [2020-11-09 Mon]
763 | :Attachments: https%3A%2F%2Fwww.reddit.com%2Fr%2Femacs%2Fcomments%2Fjr7n56%2Fusing_emacs_while_running_online_games_take_on%2F--RII16i.tar.xz
764 | :ID: 2c4c7b3e-e77d-48b0-8eee-5ceb588be664
765 | :END:
766 |
767 | #+BEGIN_QUOTE
768 | On Sunday mornings, I’ve been facilitating a Stars without Number campaign. You can read about it in my New Vistas in the Thel Sector series.
769 |
770 | While I prefer in-person gaming, I’m coming around to having access to my work tools while running a game.
771 | #+END_QUOTE
772 |
773 | Jeremy explains how he use Org for running his RPGs, including exporting notes for publishing, using Org Roam to maintain a wiki, and some custom Emacs functions that bring in data from other utilities he's written.
774 |
775 | ** Miscellaneous :miscellaneous:
776 | :PROPERTIES:
777 | :CUSTOM_ID: miscellaneous
778 | :END:
779 |
780 | *** [[https://gitlab.com/tygrdev/org-real][org-real: Keep track of real things as Org links]]
781 | :PROPERTIES:
782 | :author: Tyler Grinn
783 | :END:
784 |
785 | #+BEGIN_QUOTE
786 | At an abstract level, what this package does is take a one-dimensional description and render it as a three-dimensional ascii drawing. This is similar to how communicating locations of things in real life works: the knowledgeable party forms a one-dimensional sentence that describes a thing and the receiving party forms a three-dimensional image in their mind. This mental image arranges the nouns from the sentence according to the prepositions surrounding them.
787 | #+END_QUOTE
788 |
789 | + [[https://blog.tygr.info/emacs/org-real.html][Announcement]]
790 | - [[https://www.reddit.com/r/orgmode/comments/pl4dpp/im_releasing_the_alpha_version_of_orgreal_today/][I'm releasing the alpha version of org-real today : orgmode]]
791 |
792 | ** Presentations :presentations:
793 | :PROPERTIES:
794 | :CUSTOM_ID: presentations
795 | :END:
796 |
797 | On using Org to give presentations (e.g. PowerPoint-style).
798 |
799 | *** Tools :tools:
800 |
801 | **** [[https://github.com/takaxp/org-tree-slide][org-tree-slide]]
802 | :PROPERTIES:
803 | :author: Takaaki ISHIKAWA
804 | :END:
805 |
806 | #+BEGIN_QUOTE
807 | The main purpose of this elisp is to handle each tree in an org buffer as a slide by simple narrowing. This emacs lisp is a minor mode for Emacs Org-mode.
808 |
809 | Main features:
810 |
811 | - Live editable presentation
812 | - Fast switching of narrowing/widen
813 | - TODO pursuit with narrowing
814 | - Displaying the current number of slides in mode line
815 | - CONTENT view during a presentation
816 | - Slide-in effect
817 | - Slide header from org file’s header
818 | - Countdown timer
819 | #+END_QUOTE
820 |
821 | ** Project Management :project_management:PIM:
822 | :PROPERTIES:
823 | :CUSTOM_ID: project-management
824 | :END:
825 |
826 | On using Org as a Personal Information Manager to manage projects and one's personal life.
827 |
828 | *** Articles :articles:
829 |
830 | **** [#A] [[http://members.optusnet.com.au/~charles57/GTD/Natural_Project_Planning.html][Charles Cave: Natural Project Planning with org-mode (GTD)]] :ATTACH:GTD:
831 | :PROPERTIES:
832 | :Attachments: http%3A%2F%2Fmembers.optusnet.com.au%2F~charles57%2FGTD%2FNatural_Project_Planning.html--1Tbppy.tar.xz
833 | :ID: 58bab4c9-998f-498c-832a-c88f89ca20b9
834 | :author: Charles Cave
835 | :END:
836 |
837 | **** [[http://cachestocaches.com/2020/3/my-organized-life/][Gregory J. Stein: A Guide to My Organizational Workflow: How to Streamline Your Life]] :website:Emacs:Org:ATTACH:
838 | :PROPERTIES:
839 | :Attachments: http%3A%2F%2Fcachestocaches.com%2F2020%2F3%2Fmy-organized-life%2F--2hDjVP.tar.xz
840 | :ID: c5766d44-86f7-4bfc-b2ed-85d496ad6f12
841 | :author: Gregory J. Stein
842 | :published: [2020-03-22 Sun]
843 | :END:
844 | :LOGBOOK:
845 | CLOCK: [2020-04-26 Sun 01:23]--[2020-04-26 Sun 01:23] => 0:00
846 | :END:
847 |
848 | [2020-04-26 Sun 01:23]
849 |
850 | #+BEGIN_QUOTE
851 | Five years ago, my life exploded in complexity. I had just started a new position in a new field. I was planning my wedding. And my inability to say NO to anyone and everyone had culminated in my serving on the board of three graduate student organizations. Inevitably, cracks began to form, and my finite brain started to lose track of tasks. My calendar was sufficient to ensure that I wouldn't miss meetings, but I would often only prepare for those meetings at the eleventh hour. My productivity and the quality of my work both suffered. Something needed to change.
852 |
853 | This guide is devoted to a discussion of the organizational system that I have honed in the time since.Many of the ideas presented here derive from the Getting Things Done methodology, but adapted and expanded to meet my personal needs. With it, I have found that my time is spent more wisely. Better organization means that I can consciously devote effort where it is needed early on, as opposed to scrambling to keep up, and deliver higher quality work without expending more energy.
854 |
855 | You too can streamline your process. This guide is meant to serve as an example of how you might reorganize your workflow and find order through the chaos of your busy life. Yet different lifestyles have different demands: what works for me may not work as well for you. As such, I do not expect that you will replicate this system in its entirety. Instead, I hope you will take inspiration from my system and use elements of it to build a workflow that works for you.
856 | #+END_QUOTE
857 |
858 | **** [[http://howardism.org/Technical/Emacs/getting-more-boxes-done.html][Howard Abrams: Getting Boxes Done, the Code]] :website:ATTACH:
859 | :PROPERTIES:
860 | :Attachments: http%3A%2F%2Fhowardism.org%2FTechnical%2FEmacs%2Fgetting-more-boxes-done.html--sQibSW.tar.xz
861 | :ID: c867cb2c-dd82-43e7-91aa-78e2839056cd
862 | :author: Howard Abrams
863 | :END:
864 | :LOGBOOK:
865 | CLOCK: [2019-01-31 Thu 03:33]--[2019-01-31 Thu 03:33] => 0:00
866 | :END:
867 |
868 | [2019-01-31 Thu 03:33]
869 |
870 | **** [[http://juanreyero.com/article/emacs/org-teams.html][Juan Reyero: Org-mode tricks for team management]] :ATTACH:
871 | :PROPERTIES:
872 | :Attachments: http%3A%2F%2Fjuanreyero.com%2Farticle%2Femacs%2Forg-teams.html--MJBfnq.tar.xz
873 | :ID: 4c4a8249-baf5-47ec-8c36-b4a381095822
874 | :END:
875 |
876 | [2019-07-24 Wed 18:07] Talks about =org-secretary.el=.
877 |
878 | ***** TODO Add some kind of tag about teams and coordinating with others.
879 |
880 | *** Examples :examples:
881 |
882 | **** [[id:cd12e9d7-8598-4fbe-bab2-57c6929df737][Bernt Hansen: Organize your life in plain text!]]
883 |
884 | **** [[https://www.reddit.com/r/emacs/comments/jmpsdl/continuous_professional_development_record_in/][Continuous Professional Development Record in Emacs]] :ATTACH:discussions:
885 | :PROPERTIES:
886 | :Attachments: cpd.org
887 | :ID: 71428924-28ca-4014-bd90-a12c056e8662
888 | :END:
889 |
890 | falloutphil shows how he uses Org documents to track and report on his Continuous Professional Development (CPD) activities in a structured, efficient way.
891 |
892 | + [[https://raw.githubusercontent.com/falloutphil/Misc/master/cpd.org][His cpd.org file]]
893 |
894 | ** Research :research:
895 | :PROPERTIES:
896 | :ID: 83ad9f9c-692f-48f0-94fb-e4ab8836a9d0
897 | :CUSTOM_ID: research
898 | :END:
899 |
900 | Using Org for research.
901 |
902 | *** Discussions :discussions:
903 |
904 | **** [[https://www.reddit.com/r/orgmode/comments/fvckhr/research_work_flow/][Research work flow : Reddit r/orgmode]]
905 |
906 | [2020-04-06 Mon 06:20] Using Org for reproducible research, writing and translating fiction, and managing references.
907 |
908 | *** Tools :tools:
909 |
910 | **** [[https://github.com/cpitclaudel/esh][esh: Use Emacs to highlight source code listings in LaTeX and HTML documents!]] :LaTeX:exporting:HTML:
911 | :PROPERTIES:
912 | :author: Clément Pit-Claudel
913 | :END:
914 |
915 | #+BEGIN_QUOTE
916 | This programs processes TeX source files, adding syntax-highlighting to the contents of specially-delimited environments and macros.
917 | #+END_QUOTE
918 |
919 | ** Software :software:
920 | :PROPERTIES:
921 | :CUSTOM_ID: software
922 | :END:
923 |
924 | On using Org to write and publish usable software applications (really!).
925 |
926 | *** Tools :tools:
927 |
928 | **** [[https://github.com/tgbugs/orgstrap][orgstrap: Bootstrap an Org file using file local variables]]
929 |
930 | #+BEGIN_QUOTE
931 | orgstrap is a specification and tooling for bootstrapping Org files.
932 |
933 | It allows Org files to describe their own requirements, and define their own functionality, making them self-contained standalone computational artifacts dependent only on Emacs or other implementations of the Org Babel protocol in the future.
934 |
935 | orgstrap works with all versions of Emacs since 24.4 and all versions of Org since 8.2.10.
936 | #+END_QUOTE
937 |
938 | ** Studying :studying:
939 | :PROPERTIES:
940 | :CUSTOM_ID: studying
941 | :END:
942 |
943 | On using Org to study various material.
944 |
945 | *** Discussions :discussions:
946 |
947 | **** [[https://www.reddit.com/r/orgmode/comments/fwmkr8/how_can_i_use_orgmode_in_a_better_way_to_plan_my/][How can I use orgmode in a better way to plan my self study courses? : orgmode]] :Reddit:
948 |
949 | [2020-04-08 Wed 10:26] Some anecdotes, links to videos and other guides, and tips.
950 |
951 | *** Tools :tools:
952 |
953 | **** [[https://github.com/l3kn/org-fc][Org Flashcards (org-fc): Spaced Repetition System]]
954 |
955 | #+BEGIN_QUOTE
956 | Org-fc is a spaced-repetition system for Emacs' org-mode. It allows you to mark headlines in a file as "flashcards", turning pieces of knowledge you want to learn into a question-answer test. These cards are reviewed at regular interval. After each review, a Repetition Spacing Algorithm is used to calculate the next interval based on how well you remembered the contents of the card.
957 | #+END_QUOTE
958 |
959 | ** Web Publishing :web_publishing:
960 | :PROPERTIES:
961 | :CUSTOM_ID: web-publishing
962 | :END:
963 |
964 | On publishing Web sites with Org.
965 |
966 | See also: [[id:32dc57d5-6810-44a5-9887-4f7813b02880][Blogging]].
967 |
968 | *** Articles :articles:
969 |
970 | **** [[https://gileschamberlin.wordpress.com/2020/02/25/writing-a-new-org-mode-exporter-back-end/][Writing a new org-mode exporter back-end – Imperfect Software]] :ATTACH:
971 | :PROPERTIES:
972 | :Attachments: https%3A%2F%2Fgileschamberlin.wordpress.com%2F2020%2F02%2F25%2Fwriting-a-new-org-mode-exporter-back-end%2F--rVX3P3.tar.xz
973 | :ID: 689bb9d5-4ea0-4770-bff8-b5f443844179
974 | :author: Giles Chamberlin
975 | :END:
976 |
977 | #+BEGIN_QUOTE
978 | I’ve been maintaining a simple static website for my jujutsu club since 1985. For most of that time it was simply hand coded HTML and CSS. I’ve wanted to update the site for a while to give it a more modern look, and to handle mobile devices better. I also wanted to move away from hand-coding the HTML and so was interested by org-mode’s HTML export capacity.
979 |
980 | The HTML exporter backend that ships with org-mode didn’t produce the structure I was looking for, and I found myself spending an age fighting the CSS to try to produce the appearance I was after in a range of browsers.
981 | #+END_QUOTE
982 |
983 | + [[http://jujutsu.org.uk/][Jujutsu in Warborough]] (the site mentioned in the article)
984 |
985 | *** Examples :examples:
986 |
987 | **** [[http://jujutsu.org.uk/][Jujutsu in Warborough]]
988 | :PROPERTIES:
989 | :author: Giles Chamberlin
990 | :END:
991 |
992 | + [[id:689bb9d5-4ea0-4770-bff8-b5f443844179][Writing a new org-mode exporter back-end – Imperfect Software]]
993 |
994 | **** [[https://www.gnuisnotunix.com/recipes/][M-x recipes]]
995 |
996 | #+BEGIN_QUOTE
997 | I've been working on a cookbook using Emacs Org mode, and org-chef to import recipes. I set it up so that I can export to a printable bifold booklet that I can use in the kitchen, and it exports to my website.
998 | #+END_QUOTE
999 |
1000 | *** Libraries :libraries:
1001 |
1002 | **** [[https://github.com/vascoferreira25/ox-tailwind][ox-tailwind: Org-Mode HTML export back-end with Tailwind.css classes]]
1003 | :PROPERTIES:
1004 | :author: Vasco Ferreira
1005 | :ID: 7e312f8f-0090-4054-83d9-a5fa3154a90e
1006 | :END:
1007 |
1008 | #+BEGIN_QUOTE
1009 | This back-end has the purpose of allowing easy customization of the HTML output. Although it is called Tailwind, the only thing that it does is allowing you to customize the classes of the HTML and exporting a more barebones HTML (It does not create as many divs and sections as the normal HTML export back-end). Instead of using Tailwind.css you can just name the classes of the elements and import your own css (or edit ./css/style.css).
1010 | #+END_QUOTE
1011 |
1012 | ** Writing :writing:
1013 | :PROPERTIES:
1014 | :CUSTOM_ID: writing
1015 | :END:
1016 |
1017 | *** Citations :citations:
1018 | :PROPERTIES:
1019 | :ID: 2d289c68-1138-4054-b2b3-845f9151b426
1020 | :END:
1021 |
1022 | **** [[id:b010ff39-f460-46c2-af8b-5118ffddb229][Tools]]
1023 |
1024 | *** Discussions :discussions:
1025 |
1026 | **** [[https://lucidmanager.org/tags/emacs/][Emacs Writing Studio]]
1027 | :PROPERTIES:
1028 | :author: Peter Prevos
1029 | :ID: 2da01239-8d3d-4f92-b4b4-de3a90536d82
1030 | :END:
1031 |
1032 | #+begin_quote
1033 | Emacs Writing Studio is configuration and a series of articles on how authors can use Emacs to publish articles, books, scripts and websites.
1034 | #+end_quote
1035 |
1036 | See also:
1037 |
1038 | + [[id:a0811ad8-46fb-4ae7-8126-5a1cd5e10712][Emacs Writing Studio: (configuration)]]
1039 | + [[https://old.reddit.com/r/emacs/comments/16k2bxe/introducing_emacs_writing_studio/][Introducing Emacs Writing Studio : emacs]]
1040 |
1041 | **** [[https://www.reddit.com/r/emacs/comments/13no4q3/emacswritten_novel_on_the_german_bestseller_list/][Titus Müller on writing a bestselling novel with Org]]
1042 |
1043 | Titus explains how he used Org to write his bestselling novel, /Der letzte Auftrag/, including organizing his work and exchanging versions with the publisher.
1044 |
1045 | **** [[https://www.reddit.com/r/orgmode/comments/fvckhr/research_work_flow/fmhzxmq/][u/Dysyre on using Org to write and research a novel]]
1046 |
1047 | [2020-04-06 Mon 08:06]
1048 |
1049 | #+BEGIN_QUOTE
1050 | Major tasks, such as research, go in a plain list under TODO. They are hyperlinked to the relevant part of the text with #+NAME: comments. For minor stuff, I just use a comment with an arbitrary prefix (tt), so I can easily I-search (C-s, I think. I use evil) for it. I could automate things with capture, but I haven't gotten around to setting it up.
1051 |
1052 | I use priority tags to measure how far a scene is in production, since they are separate from TODO keywords. Any motifs, items, characters, etc. that need to be tracked, I create a tag/property for. I can then use C-c / together with indirect buffers to filter the information.
1053 | #+END_QUOTE
1054 |
1055 | *** Tools :tools:
1056 |
1057 | **** [[http://github.com/rnkn/binder][Binder: minor mode facilitating multi-file writing projects]]
1058 |
1059 | #+BEGIN_QUOTE
1060 | Binder is global minor mode (and associated major modes) to facilitate working on a writing project in multiple files. It is heavily inspired by the binder feature in the macOS writing app Scrivener. The rationale behind working this way is to split a large writing project into much smaller pieces.
1061 | #+END_QUOTE
1062 |
1063 | **** [[https://github.com/pprevos/emacs-writing-studio/][Emacs Writing Studio: configuration for authors]]
1064 | :PROPERTIES:
1065 | :ID: a0811ad8-46fb-4ae7-8126-5a1cd5e10712
1066 | :author: Peter Prevos
1067 | :END:
1068 |
1069 | + See also: [[id:2da01239-8d3d-4f92-b4b4-de3a90536d82][Emacs Writing Studio (articles)]]
1070 |
1071 | #+begin_quote
1072 | Emacs Writing Studio is configuration and a series of articles on how authors can use Emacs to publish articles, books, scripts and websites.
1073 |
1074 | This Emacs configuration stays as close as humanly bearable to Vanilla Emacs.
1075 |
1076 | - Leverages functionality in Emacs 29.1
1077 | - Standard keyboard shortcuts
1078 | - No configuration for developing software
1079 | - Centred around Org mode
1080 | #+end_quote
1081 |
1082 | * Configs :configs:
1083 | :PROPERTIES:
1084 | :TOC: :depth 0
1085 | :CUSTOM_ID: configs
1086 | :END:
1087 |
1088 | Examples of complete Org configurations.
1089 |
1090 | ** [[https://github.com/alphapapa/alpha-org][alpha-org: A powerful Org configuration]]
1091 |
1092 | ** [[http://doc.norang.ca/org-mode.html][Bernt Hansen: Organize your life in plain text!]]
1093 | :PROPERTIES:
1094 | :author: Bernt Hansen
1095 | :ID: cd12e9d7-8598-4fbe-bab2-57c6929df737
1096 | :END:
1097 | :LOGBOOK:
1098 | - State "SOMEDAY" from [2017-07-29 Sat 01:28]
1099 | :END:
1100 |
1101 | *** TO-WATCH [[http://www.youtube.com/watch?v=II-xYw5VGFM][Bernt Hansen's tutorial]] :refile:video:
1102 | :LOGBOOK:
1103 | - State "TO-WATCH" from [2017-07-29 Sat 01:28]
1104 | :END:
1105 |
1106 | *** TO-WATCH [[http://www.youtube.com/watch?v=II-xYw5VGFM][Video of it and "navi-mode"]] :refile:video:
1107 | :LOGBOOK:
1108 | - State "TO-WATCH" from [2017-07-29 Sat 01:28]
1109 | :END:
1110 |
1111 | ** [[https://justin.abrah.ms/dotfiles/emacs.html][Justin Abrahms]] :ATTACH:
1112 | :PROPERTIES:
1113 | :Attachments: https%3A%2F%2Fjustin.abrah.ms%2Fdotfiles%2Femacs.html--Tkr5Fv.tar.xz
1114 | :ID: a7f7bb0f-c0af-4dfb-8266-2b4b2e201b74
1115 | :author: Justin Abrahms
1116 | :END:
1117 | :LOGBOOK:
1118 | - Note taken on [2020-02-12 Wed 16:05] \\
1119 | Originally captured [2015-09-29 Tue 17:59].
1120 | :END:
1121 |
1122 | ** [[https://writequit.org/eos/eos-org.html][Lee Hinman: Emacs Operating System (EOS) Org config]] :ATTACH:
1123 | :PROPERTIES:
1124 | :author: Lee Hinman
1125 | :Attachments: https%3A%2F%2Fwritequit.org%2Feos%2Feos-org.html--uVK3nG.tar.xz
1126 | :ID: 9a4223f5-6464-4824-bedc-a2cf5c5f405e
1127 | :END:
1128 |
1129 | + [[https://writequit.org/eos/eos.html][The Emacs Operating System (EOS)]]
1130 |
1131 | * Development :development:
1132 | :PROPERTIES:
1133 | :CUSTOM_ID: development
1134 | :END:
1135 |
1136 | Information about Org development.
1137 |
1138 | ** Building :building:
1139 | :PROPERTIES:
1140 | :CUSTOM_ID: building
1141 | :END:
1142 |
1143 | Information about Building Org.
1144 |
1145 | *** Articles :articles:
1146 |
1147 | **** [[https://scripter.co/building-org-development-version/][Kaushal Modi: Building Org Development version]] :website:ATTACH:
1148 | :PROPERTIES:
1149 | :ID: 18b2d867-1cab-41fa-869a-48a866063f55
1150 | :author: Kaushal Modi
1151 | :Attachments: https%3A%2F%2Fscripter.co%2Fbuilding-org-development-version%2F--dEexlf.tar.xz
1152 | :END:
1153 |
1154 | [2017-09-01 Fri 22:30] Kaushal Modi shared this on the Org list.
1155 |
1156 | ** Performance :performance:
1157 | :PROPERTIES:
1158 | :CUSTOM_ID: performance
1159 | :END:
1160 |
1161 | *** [[https://lists.gnu.org/archive/html/bug-gnu-emacs/2019-04/msg01390.html][Eli Zaretskii: How overlays affect performance]] :discussions:overlays:
1162 | :PROPERTIES:
1163 | :ID: 2b206328-65b7-45e5-99b7-0bad7c13f161
1164 | :END:
1165 |
1166 | [2019-12-13 Fri 08:49]
1167 |
1168 | * Documentation :documentation:
1169 | :PROPERTIES:
1170 | :CUSTOM_ID: documentation
1171 | :END:
1172 |
1173 | Other sources of documentation about Org.
1174 |
1175 | ** Community :community:
1176 | :PROPERTIES:
1177 | :CUSTOM_ID: community
1178 | :END:
1179 |
1180 | Community-provided documentation.
1181 |
1182 | *** [#A] [[http://orgmode.org/worg/][Worg]] :bookmark:
1183 | :PROPERTIES:
1184 | :ID: 90fe0f5b-8ecf-4078-81d1-344c537cdf04
1185 | :END:
1186 | :LOGBOOK:
1187 | CLOCK: [2015-08-29 Sat 15:02]--[2015-08-29 Sat 15:04] => 0:02
1188 | :END:
1189 |
1190 | [2015-08-29 Sat 15:02] There's a lot of good stuff here.
1191 |
1192 | *** [[https://github.com/novoid/org-mode-workshop][Karl Voit: org-mode-workshop]]
1193 | :PROPERTIES:
1194 | :ID: b45b62e8-504f-46e4-b61c-5a62ce208e0f
1195 | :author: Karl Voit
1196 | :END:
1197 |
1198 | [2015-08-23 Sun 19:51]
1199 |
1200 | #+BEGIN_QUOTE
1201 | In November 2012, I was lucky enough to be able to conduct a workshop about Emacs Org-mode at Graz University of Technology, Austria. This repository contains all relevant material I collected and created for this and possible future workshops on this great topic.
1202 | #+END_QUOTE
1203 |
1204 | Includes:
1205 |
1206 | + [[https://github.com/novoid/org-mode-workshop/blob/master/workshop.org][Workshop presentation]] :: Outline of presentation given by Karl.
1207 | + [[https://github.com/novoid/org-mode-workshop/blob/master/featureshow/org-mode-teaser.org][Teaser demo]] :: A large document demonstrating many features of Org.
1208 |
1209 | ** [[https://orgmode.org/manual/][Manual]] :bookmark:
1210 | :PROPERTIES:
1211 | :CUSTOM_ID: manual
1212 | :END:
1213 |
1214 | The official Org manual.
1215 |
1216 | ** Tutorials
1217 | :PROPERTIES:
1218 | :CUSTOM_ID: tutorials
1219 | :END:
1220 |
1221 | *** [[id:536f010e-593f-4f28-b8bd-ae36f4a52db1][Videos]]
1222 |
1223 | * Features :built_in:
1224 | :PROPERTIES:
1225 | :TOC: :include descendants :depth 1
1226 | :CUSTOM_ID: features
1227 | :END:
1228 |
1229 | Information about various built-in features of Org. (Related third-party tools may be linked to in the [[id:83d02c10-af55-4b4b-8025-de7bd7f53364][Software]] section.)
1230 |
1231 | :CONTENTS:
1232 | - [[#agenda][Agenda]]
1233 | - [[#appearance][Appearance]]
1234 | - [[#capture][Capture]]
1235 | - [[#clocking][Clocking]]
1236 | - [[#exporting][Exporting]]
1237 | - [[#lists][Lists]]
1238 | - [[#tasks][Tasks]]
1239 | :END:
1240 |
1241 | ** Agenda :agenda:
1242 | :PROPERTIES:
1243 | :ID: f8f18682-8caf-448d-b096-96356e8eb7e9
1244 | :TOC: :include descendants :depth 2 :local (depth)
1245 | :CUSTOM_ID: agenda
1246 | :END:
1247 | :CONTENTS:
1248 | - [[#articles-0][Articles]]
1249 | - [[#third-party-tools][Third-party Tools]]
1250 | - [[#tips][Tips]]
1251 | - [[#exclude-and-include-tags-in-custom-agenda-commands][Exclude and include tags in custom Agenda commands]]
1252 | - [[#include-inactive-timestamps-in-agenda-log][Include inactive timestamps in agenda log]]
1253 | :END:
1254 |
1255 | *** Articles :articles:
1256 | :PROPERTIES:
1257 | :TOC: :depth 0
1258 | :CUSTOM_ID: articles-0
1259 | :END:
1260 |
1261 | **** [[https://blog.aaronbieber.com/2016/09/24/an-agenda-for-life-with-org-mode.html][Aaron Bieber: An Agenda for Life With Org Mode]] :website:ATTACH:
1262 | :PROPERTIES:
1263 | :Attachments: https%3A%2F%2Fblog.aaronbieber.com%2F2016%2F09%2F24%2Fan-agenda-for-life-with-org-mode.html--DP5t1Z.tar.xz
1264 | :ID: ce6907dd-1267-44ed-803d-9e488907d5d9
1265 | :END:
1266 |
1267 | [2019-04-07 Sun 18:09] I think I've seen this before, but I came across it again, and it has some good examples and code.
1268 |
1269 | *** [[id:6a599497-ce37-41b5-8ee4-92d4b2459b0c][Third-party Tools]]
1270 | :PROPERTIES:
1271 | :CUSTOM_ID: third-party-tools
1272 | :END:
1273 |
1274 | *** Tips :tips:
1275 | :PROPERTIES:
1276 | :CUSTOM_ID: tips
1277 | :END:
1278 |
1279 | **** Exclude and include tags in custom Agenda commands
1280 | :PROPERTIES:
1281 | :CUSTOM_ID: exclude-and-include-tags-in-custom-agenda-commands
1282 | :END:
1283 |
1284 | Commands like =org-tags-view= naturally offer the ability to control which tags are used to filter items, but such filtering is less obvious when using daily/weekly Agenda commands. However, doing so is straightforward using the variable =org-agenda-tag-filter=. For example, Org user Stig Brautaset offers [[https://lists.gnu.org/archive/html/emacs-orgmode/2020-02/msg00533.html][this example]]:
1285 |
1286 | #+BEGIN_SRC elisp
1287 | (setq org-agenda-custom-commands
1288 | '(("w" "Work Agenda"
1289 | ((agenda "" ((org-agenda-span 'day)))
1290 | (todo "TODO"
1291 | ((org-agenda-max-entries 5)
1292 | (org-agenda-todo-ignore-scheduled 'all)
1293 | (org-agenda-todo-ignore-deadlines 'all)
1294 | (org-agenda-todo-ignore-timestamp 'all))))
1295 | ((org-agenda-tag-filter '("-@home" "-MAYBE"))))
1296 | ("h" "Home Agenda"
1297 | ((agenda "")
1298 | (todo "TODO"
1299 | ((org-agenda-max-entries 5)
1300 | (org-agenda-todo-ignore-scheduled 'all)
1301 | (org-agenda-todo-ignore-deadlines 'all)
1302 | (org-agenda-todo-ignore-timestamp 'all))))
1303 | ((org-agenda-tag-filter '("-@work" "-MAYBE"))))
1304 | ("m" "Maybe"
1305 | ((todo "PROJ")
1306 | (tags-todo "-PROJ/TODO"))
1307 | ((org-agenda-tag-filter '("+MAYBE"))))
1308 | ("P" "Projects" tags-todo "-MAYBE/PROJ"))))
1309 | #+END_SRC
1310 |
1311 | Alternatives include:
1312 |
1313 | + Using [[https://github.com/alphapapa/org-ql][org-ql]] to build Agenda-like views using queries, like:
1314 |
1315 | #+BEGIN_SRC elisp
1316 | (org-ql-search (org-agenda-files)
1317 | '(and (or (deadline auto)
1318 | (scheduled :to today)
1319 | (ts-active :on today))
1320 | (not (or (todo "MAYBE")
1321 | (tags "@home")))))
1322 | #+END_SRC
1323 |
1324 | + Using [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]] to group and/or discard certain items, like:
1325 |
1326 | #+BEGIN_SRC elisp
1327 | (setq org-agenda-custom-commands
1328 | '(("w" "Work Agenda"
1329 | ((agenda "" ((org-agenda-span 'day)))
1330 | (todo "TODO"
1331 | ((org-agenda-max-entries 5)
1332 | (org-agenda-todo-ignore-scheduled 'all)
1333 | (org-agenda-todo-ignore-deadlines 'all)
1334 | (org-agenda-todo-ignore-timestamp 'all))))
1335 | ((org-super-agenda-groups '((:discard (:tags "@home" :todo "MAYBE"))))))
1336 | ("h" "Home Agenda"
1337 | ((agenda "")
1338 | (todo "TODO"
1339 | ((org-agenda-max-entries 5)
1340 | (org-agenda-todo-ignore-scheduled 'all)
1341 | (org-agenda-todo-ignore-deadlines 'all)
1342 | (org-agenda-todo-ignore-timestamp 'all))))
1343 | ((org-super-agenda-groups '((:discard (:tags "@work" :todo "MAYBE")))))))))
1344 | #+END_SRC
1345 |
1346 | **** Include inactive timestamps in agenda log
1347 | :PROPERTIES:
1348 | :ID: 73c5fb5f-ebed-48bb-a140-de9cca7bf0d6
1349 | :CUSTOM_ID: include-inactive-timestamps-in-agenda-log
1350 | :END:
1351 |
1352 | [2016-09-09 Fri 18:51] To include inactive timestamps in the agenda log view, press ~[~. I'm not sure if I should try to make this the default, or if I should use active timestamps instead.
1353 |
1354 | ** Appearance :appearance:
1355 | :PROPERTIES:
1356 | :ID: 6c7c36b9-4131-4671-a047-8c5e68fd93c9
1357 | :TOC: :include descendants :depth 1 :local depth
1358 | :CUSTOM_ID: appearance
1359 | :END:
1360 | :CONTENTS:
1361 | - [[#articles-1][Articles]]
1362 | - [[#themes][Themes]]
1363 | - [[#tools-0][Tools]]
1364 | :END:
1365 |
1366 | *** Articles :articles:
1367 | :PROPERTIES:
1368 | :CUSTOM_ID: articles-1
1369 | :END:
1370 |
1371 | **** [[https://lepisma.xyz/2017/10/28/ricing-org-mode/][Abhinav Tushar: Ricing up Org Mode]] :ATTACH:themes:
1372 | :PROPERTIES:
1373 | :author: Abhinav Tushar
1374 | :ID: 39efe3b6-201c-48d5-90f0-32aba22dd4fd
1375 | :Attachments: https%3A%2F%2Flepisma.xyz%2F2017%2F10%2F28%2Fricing-org-mode%2F--WxM5vp.tar.xz
1376 | :END:
1377 |
1378 | *************** TODO Add theme to themes.
1379 |
1380 | *************** END
1381 |
1382 | [2019-09-11 Wed 16:41] Shows a very customized, minimal and beautiful Emacs/Org config and theme.
1383 |
1384 | *** [[id:d56c2c3e-3227-4d1d-899c-447103e9e495][Themes]]
1385 | :PROPERTIES:
1386 | :CUSTOM_ID: themes
1387 | :END:
1388 |
1389 | *** [[id:7f7d4194-8457-41e7-8e21-54c4a50a81f4][Tools]]
1390 | :PROPERTIES:
1391 | :CUSTOM_ID: tools-0
1392 | :END:
1393 |
1394 | ** Capture :capture:
1395 | :PROPERTIES:
1396 | :ID: abacb506-4046-4dee-b908-981ff86ab02e
1397 | :CUSTOM_ID: capture
1398 | :END:
1399 |
1400 | *** Tools :tools:
1401 |
1402 | **** org-capture for Firefox :Org:
1403 | :PROPERTIES:
1404 | :ID: ea07c0b3-ea9c-44ac-bd91-d2e3a2fc0557
1405 | :END:
1406 | :LOGBOOK:
1407 | - State "NEXT" from "TODAY" [2016-09-14 Wed 23:08]
1408 | - State "TODAY" from "TODO" [2016-09-14 Wed 23:08]
1409 | :END:
1410 |
1411 | [2015-08-19 Wed 13:35] http://chadok.info/firefox-org-capture/ Looks nice, should try it. [[gnus:gmane.emacs.orgmode#6sw6c7wpxkt8gd.fsf@dhcp-10-92-132-216.hmco.com][Here's]] a good thread about it on the org-mode list.
1412 |
1413 | ** Clocking :clocking:
1414 | :PROPERTIES:
1415 | :CUSTOM_ID: clocking
1416 | :END:
1417 |
1418 | *** Articles :articles:
1419 |
1420 | **** [[http://sachachua.com/blog/2007/12/clocking-time-with-emacs-org/][Sacha Chua: Clocking Time with Emacs Org]] :ATTACH:
1421 | :PROPERTIES:
1422 | :author: Sacha Chua
1423 | :Attachments: http%3A%2F%2Fsachachua.com%2Fblog%2F2007%2F12%2Fclocking-time-with-emacs-org%2F--KE5mUB.tar.xz
1424 | :ID: 6244157d-ce7a-480d-9f2b-d16537cf052f
1425 | :END:
1426 |
1427 | [2015-08-29 Sat 14:03]
1428 |
1429 | ** Exporting :exporting:
1430 | :PROPERTIES:
1431 | :TOC: :include descendants :depth 2 :local (depth)
1432 | :ID: 24cb4cc0-65d4-468e-83b1-ba8361d85b9e
1433 | :CUSTOM_ID: exporting
1434 | :END:
1435 | :CONTENTS:
1436 | - [[#headings][Headings]]
1437 | - [[#excluding-and-including][Excluding and including]]
1438 | - [[#properties][Properties]]
1439 | - [[#themes-0][Themes]]
1440 | :END:
1441 |
1442 | + [[https://orgmode.org/org.html#Export-Settings][Official documentation]]
1443 |
1444 | *** Headings
1445 | :PROPERTIES:
1446 | :CUSTOM_ID: headings
1447 | :END:
1448 |
1449 | **** Excluding and including
1450 | :PROPERTIES:
1451 | :CUSTOM_ID: excluding-and-including
1452 | :END:
1453 |
1454 | To /exclude/ certain headings from being exported, use a =:noexport:= tag on them, like:
1455 |
1456 | #+BEGIN_SRC org
1457 | ,* Heading 1
1458 |
1459 | This heading will be exported.
1460 |
1461 | ,* Heading 2 :noexport:
1462 |
1463 | This heading will not.
1464 | #+END_SRC
1465 |
1466 | To /include/ certain headings (i.e. to exclude all headings by default), use an =:export= tag, like:
1467 |
1468 | #+BEGIN_SRC org
1469 | ,* Heading 1
1470 |
1471 | This heading will not be exported.
1472 |
1473 | ,* Heading 2 :export:
1474 |
1475 | This heading will be.
1476 | #+END_SRC
1477 |
1478 | The manual explains these export option keywords:
1479 |
1480 | #+BEGIN_QUOTE
1481 | + =SELECT_TAGS= :: The default value is ~("export")~. When a tree is tagged with ~export~ (=org-export-select-tags=), Org selects that tree and its sub-trees for export. Org excludes trees with ~noexport~ tags, see below. When selectively exporting files with ~export~ tags set, Org does not export any text that appears before the first headline.
1482 |
1483 | + =EXCLUDE_TAGS= :: The default value is ~("noexport")~. When a tree is tagged with ~noexport~ (=org-export-exclude-tags=), Org excludes that tree and its sub-trees from export. Entries tagged with ~noexport~ are unconditionally excluded from the export, even if they have an ~export~ tag. Even if a sub-tree is not exported, Org executes any code blocks contained there.
1484 | #+END_QUOTE
1485 |
1486 | *** Properties
1487 | :PROPERTIES:
1488 | :CUSTOM_ID: properties
1489 | :END:
1490 |
1491 | [2020-02-13 Thu 01:31] To export drawers with specific properties, use this syntax:
1492 |
1493 | #+BEGIN_SRC org
1494 | ,#+OPTIONS: prop:("property1" "property2")
1495 |
1496 | ,* Subtree
1497 | :PROPERTIES:
1498 | :EXPORT_OPTIONS: prop:("property1" "property2")
1499 | :END:
1500 |
1501 | To set this option for a subtree, use a drawer like the one above.
1502 | #+END_SRC
1503 |
1504 | Alternatively, to export a single property at a specific place, you can use an Org macro, like:
1505 |
1506 | #+BEGIN_SRC org
1507 | {{{property(property1)}}}
1508 | #+END_SRC
1509 |
1510 | *** [[id:5b5140cd-00d2-4f31-8a3d-ff7e2edc9395][Themes]]
1511 | :PROPERTIES:
1512 | :CUSTOM_ID: themes-0
1513 | :END:
1514 |
1515 | ** Lists :lists:
1516 | :PROPERTIES:
1517 | :ID: fe8bafae-9312-46f4-a3c6-3cf4b9c2867b
1518 | :CUSTOM_ID: lists
1519 | :END:
1520 |
1521 | *** [[http://pragmaticemacs.com/emacs/org-mode-start-a-numbered-list-from-any-number/][Start a numbered list from any number | Pragmatic Emacs]] :website:
1522 | :PROPERTIES:
1523 | :ID: c36a3dc9-494a-42f5-a305-76615af5f86d
1524 | :END:
1525 |
1526 | [2016-03-21 Mon 20:38]
1527 |
1528 | #+BEGIN_QUOTE
1529 | This trick is in the org-mode manual but it’s worth a quick mention in its own right. If you want to start a numbered list in org-mode from a number other than 1, then put [@N] at the start of the first item, where N is the number you want to start with. So for
1530 | example,
1531 |
1532 | 1) item 1
1533 | 2) item 2
1534 |
1535 | This text would interrupt the list and the next item would be 1) on a
1536 | new list
1537 |
1538 | 3) [@3] This will be item 3 thanks to [@3]
1539 | 4) and this will be item 4
1540 | #+END_QUOTE
1541 |
1542 | ** Tasks :tasks:
1543 | :PROPERTIES:
1544 | :ID: 8179f17e-b7ea-445e-9350-551de01904eb
1545 | :CUSTOM_ID: tasks
1546 | :END:
1547 |
1548 | *** Disable TODO-state logging for a file :logging:
1549 | :PROPERTIES:
1550 | :ID: ba39fd28-013b-4bae-ae75-276f66049b41
1551 | :END:
1552 |
1553 | [2018-06-11 Mon 06:42] I found [[https://www.reddit.com/r/orgmode/comments/4ekcy9/howto_disable_todostate_logging_for_a_file/][this page]] on Google, which I apparently posted to Reddit two years ago:
1554 |
1555 | #+BEGIN_QUOTE
1556 | If you use TODO-state logging by default but want to disable it for a file, add this line at the top of the file:
1557 |
1558 | #+BEGIN_SRC org
1559 | #+PROPERTY: LOGGING nil
1560 | #+END_SRC
1561 | Note: It must be capitalized exactly as shown.
1562 |
1563 | It took some searching of the manual and some trial-and-error to find the right combination. Maybe this will save someone else the trouble someday. :)
1564 | #+END_QUOTE
1565 |
1566 | * TODO People :people:
1567 | :PROPERTIES:
1568 | :CUSTOM_ID: people
1569 | :END:
1570 | :LOGBOOK:
1571 | - State "TODO" from [2020-02-13 Thu 01:09]
1572 | :END:
1573 |
1574 | People in the Org community.
1575 |
1576 | + [ ] Gather list from =author= property.
1577 |
1578 | * Software :software:third_party:
1579 | :PROPERTIES:
1580 | :ID: 83d02c10-af55-4b4b-8025-de7bd7f53364
1581 | :TOC: :include descendants :depth 2 :local depth
1582 | :CUSTOM_ID: software-0
1583 | :END:
1584 |
1585 | Org-related third-party software.
1586 |
1587 | :CONTENTS:
1588 | - [[#features-0][Features]]
1589 | - [[#agenda-0][Agenda]]
1590 | - [[#appearance-0][Appearance]]
1591 | - [[#exporting-0][Exporting]]
1592 | - [[#lists-0][Lists]]
1593 | - [[#libraries][Libraries]]
1594 | - [[#miscellaneous-0][Miscellaneous]]
1595 | - [[#parsing][Parsing]]
1596 | - [[#tools][Tools]]
1597 | - [[#citations][Citations]]
1598 | :END:
1599 |
1600 | ** Features
1601 | :PROPERTIES:
1602 | :CUSTOM_ID: features-0
1603 | :END:
1604 |
1605 | Organized by related Org features.
1606 |
1607 | *** Agenda :agenda:
1608 | :PROPERTIES:
1609 | :ID: 6a599497-ce37-41b5-8ee4-92d4b2459b0c
1610 | :CUSTOM_ID: agenda-0
1611 | :END:
1612 |
1613 | **** [[https://github.com/alphapapa/org-super-agenda][org-super-agenda: Supercharge daily/weekly agenda by grouping items]]
1614 | :PROPERTIES:
1615 | :ID: 5a922670-2f5f-450d-925b-c6f5c04eba10
1616 | :END:
1617 |
1618 | *** Appearance :appearance:
1619 | :PROPERTIES:
1620 | :ID: 7f7d4194-8457-41e7-8e21-54c4a50a81f4
1621 | :CUSTOM_ID: appearance-0
1622 | :END:
1623 |
1624 | **** Bullets
1625 |
1626 | ***** [[https://github.com/dw-github-mirror/org-superstar-mode][org-superstar-mode]]
1627 | :PROPERTIES:
1628 | :author: D. Williams
1629 | :END:
1630 |
1631 | #+BEGIN_QUOTE
1632 | Prettify headings and plain lists in org-mode. This package is a direct descendant of =org-bullets=, with most of the code base completely rewritten.
1633 | #+END_QUOTE
1634 |
1635 | **** Themes :themes:
1636 | :PROPERTIES:
1637 | :ID: d56c2c3e-3227-4d1d-899c-447103e9e495
1638 | :END:
1639 |
1640 | ***** [[https://github.com/kunalb/poet][poet]]: An Emacs theme well-suited for modes using variable pitch, particularly org-mode and markdown-mode
1641 | :PROPERTIES:
1642 | :author: Kunal Bhalla
1643 | :END:
1644 |
1645 | *** Exporting :exporting:
1646 | :PROPERTIES:
1647 | :CUSTOM_ID: exporting-0
1648 | :END:
1649 |
1650 | **** Themes :themes:
1651 | :PROPERTIES:
1652 | :ID: 5b5140cd-00d2-4f31-8a3d-ff7e2edc9395
1653 | :END:
1654 |
1655 | ***** [[https://github.com/alphapapa/org-html-theme-darksun][org-html-theme-darksun: A Solarized Dark version of the Bigblow Org HTML export theme]] :HTML:
1656 | :PROPERTIES:
1657 | :author: Adam Porter
1658 | :END:
1659 |
1660 | ***** [[https://github.com/fniessen/org-html-themes][org-html-themes: Framework including two themes, Bigblow and ReadTheOrg]] :HTML:
1661 | :PROPERTIES:
1662 | :author: Fabrice Niessen
1663 | :END:
1664 |
1665 | *** Lists :lists:
1666 | :PROPERTIES:
1667 | :CUSTOM_ID: lists-0
1668 | :END:
1669 |
1670 | **** [[https://github.com/dfeich/org-listcruncher][org-listcruncher: Parse list contents into tables]] :tables:
1671 | :PROPERTIES:
1672 | :ID: c98e39ee-69c5-40ff-a53d-b825804e8ba7
1673 | :END:
1674 |
1675 | [2018-09-07 Fri 17:28]
1676 |
1677 | ** Libraries :libraries:
1678 | :PROPERTIES:
1679 | :ID: 0f8c9aca-c80e-41e6-b1fc-10b9c69c7f14
1680 | :TOC: :depth 0
1681 | :CUSTOM_ID: libraries
1682 | :END:
1683 |
1684 | Libraries to be used by other packages, not necessarily related to a specific, user-facing Org feature.
1685 |
1686 | *** CHECK [[https://github.com/l3kn/org-el-cache][org-el-cache: Persistent cache for data derived from org-elements]] :website:Emacs:Org:
1687 | SCHEDULED: <2020-02-23 Sun>
1688 | :PROPERTIES:
1689 | :ID: e52c02f9-9739-46f5-8a85-6330b32768ab
1690 | :END:
1691 | :LOGBOOK:
1692 | - State "CHECK" from [2020-02-09 Sun 09:03]
1693 | CLOCK: [2020-02-08 Sat 08:28]--[2020-02-08 Sat 08:28] => 0:00
1694 | :END:
1695 |
1696 | [2020-02-08 Sat 08:28]
1697 |
1698 | *** [[https://bitbucket.org/zck/org-parser.el][org-parser.el]]
1699 | :PROPERTIES:
1700 | :ID: 8b84ad58-a8b4-448f-8703-5c600866e05e
1701 | :END:
1702 |
1703 | This may be a useful alternative to =org-element-parse-buffer=. Also see [[https://www.reddit.com/r/orgmode/comments/6t8niz/orgparser_parses_orgfiles_into_structured/][Reddit thread]].
1704 |
1705 | ** Miscellaneous :miscellaneous:
1706 | :PROPERTIES:
1707 | :CUSTOM_ID: miscellaneous-0
1708 | :END:
1709 |
1710 | *** Parsing :parsing:
1711 | :PROPERTIES:
1712 | :CUSTOM_ID: parsing
1713 | :END:
1714 |
1715 | Related to parsing Org files.
1716 |
1717 | **** [[https://common-lisp.net/project/cl-org-mode/][CL-ORG-MODE : A Parser of org-mode outlines]] :Lisp:Common_Lisp:
1718 |
1719 | #+BEGIN_QUOTE
1720 | /abstract/: CL-ORG-MODE is a parser for org-mode files that uses an extensible CLOS-based recursive descent parser to create a tree of org-mode nodes. Also included is a (primitive) system for literate programming using org-mode.
1721 | #+END_QUOTE
1722 |
1723 | **** [[https://gitlab.com/olymk2/cl-org][cl-org: Clojure(script) Org mode parser]] :Clojure:
1724 |
1725 | #+BEGIN_QUOTE
1726 | Clojure(script) library that can be used in JS or Java or likely any JVM based language. This library will parse Org files into a mini-DSL which you can transform easily into Hiccup. It has a default translation to built-in if you do not require customization.
1727 | #+END_QUOTE
1728 |
1729 | **** [[https://github.com/Ferada/cl-org-mode-parser][cl-org-mode-parser: Parsing org-mode files]] :Lisp:Common_Lisp:
1730 |
1731 | #+BEGIN_QUOTE
1732 | There are actually a lot of other packages for the same purpose. The aim of this one is to parse org-mode files via a SAX-like event interface into e.g. CLOS-based documents and to offer some options with regards to parsed elements, interning of tags and similar things.
1733 |
1734 | The parser is currently line- and regex-based, however it might be feasible to use a parser generator instead. For that the syntax description at worg is canonical and should probably be used.
1735 | #+END_QUOTE
1736 |
1737 | **** [[https://github.com/fosskers/org-mode][fosskers/org-mode: Haskell parser for Emacs org-mode files]] :Haskell:
1738 |
1739 | #+BEGIN_QUOTE
1740 | The org-mode suite of libraries allow one to parse text in Emacs Org Mode format and manipulate it into other useful types.
1741 | #+END_QUOTE
1742 |
1743 | **** [[https://github.com/niklasfasching/go-org][go-org: Org mode parser with HTML & pretty-printed Org rendering and static site generator]] :Go:
1744 |
1745 | #+BEGIN_QUOTE
1746 | + the goal for the html export is to produce sensible html output, not to exactly reproduce the output of org-html-export.
1747 | + the goal for the parser is to support a reasonable subset of Org mode. Org mode is huge and I like to follow the 80/20 rule.
1748 | #+END_QUOTE
1749 |
1750 | **** [[https://github.com/tgbugs/laundry][laundry: Org mode for Racket]] :Scheme:Racket:
1751 |
1752 | #+BEGIN_QUOTE
1753 | An attempt to specify a formal grammar for Org syntax. It is implemented using Racket’s ~#lang brag~.
1754 | #+END_QUOTE
1755 |
1756 | **** [[https://github.com/mooz/org-js][org-js: A parser and converter for org-mode notation]] :JavaScript:
1757 |
1758 | #+BEGIN_QUOTE
1759 | Parser and converter for org-mode notation written in JavaScript. For working example, see [[http://mooz.github.com/org-js/editor/][http://mooz.github.com/org-js/editor/]].
1760 | #+END_QUOTE
1761 |
1762 | **** [[https://github.com/daitangio/org-mode-parser][org-mode-parser: An Org mode parser for Node.js]] :JavaScript:
1763 |
1764 | #+BEGIN_QUOTE
1765 | This node.js module implements an org-mode file format parser.
1766 | #+END_QUOTE
1767 |
1768 | + A fork, updated more recently: [[https://gitlab.com/raisethisbarn/org-mode-parse][Raise / org-mode-parse · GitLab]]
1769 |
1770 | **** [[https://github.com/200ok-ch/org-parser][org-parser: a Clojure-based parser for the Org mode markup language]] :Clojure:
1771 |
1772 | #+BEGIN_QUOTE
1773 | It documents the syntax in a standard and machine readable notation (EBNF). And the reference implementation is done in a way that it runs on the established virtual machines of Java and JavaScript. Hence, org-parser can be used from all programming languages running on those virtual machines. org-parser provides a higher-level data structure that is easy to consume for an application working with Org mode data. Even if your application is not running on the Java or JavaScript virtual machines, you can embed org-parser as a command-line application. Lastly, org-parser brings a strong test suite to document the reference implementation in yet another unambiguous way.
1774 |
1775 | It is our aim that org-parser can be the foundation on which many Org mode applications in many different languages can be built. The applications using org-parser can then focus on implementing user facing features and don’t have to worry about the implementation of the Org syntax itself.
1776 | #+END_QUOTE
1777 |
1778 | **** [[https://github.com/org-rs/org-rs][org-rs: org-mode parser rewrite in Rust]] :Rust:
1779 |
1780 | #+BEGIN_QUOTE
1781 | Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc...
1782 |
1783 | Unfortunately Org was originally developed for Emacs and therefore available only inside Emacs. It is a huge limiting factor for Org's development and popularization. Because of that it is not as popular outside of Emacs community as it should be.
1784 |
1785 | Many attempts were made to fix this. It all starts with a parser. But because Org's syntax is not trivial and in fact most of it is context-sensitive with only a few context-free elements, it is quite easy to get it wrong. Some Org parsers have chosen to focus on a restricted subset of Org's syntax like org-ruby or pandoc. More ambitious projects try to cover all features but since Org does not have a formal specification1 they rely on observed Org's behavior in Emacs or author's intuition. As a result they rarely get finished.
1786 |
1787 | But the absence of a good a spec and the complexity of the grammar are not show stoppers. Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint!
1788 | #+END_QUOTE
1789 |
1790 | **** [[https://github.com/amake/org_parser][org_parser: An org-mode parser for Dart]] :Dart:
1791 |
1792 | #+BEGIN_QUOTE
1793 | This package allows you to parse raw Org Mode documents into a structured in-memory representation. This parser was developed for an application that is halfway between pretty-printing and evaluating/interpreting, so in many cases the parsed structure does not split out constituent parts as thoroughly as needed for some applications.
1794 | #+END_QUOTE
1795 |
1796 | **** [[https://github.com/orgapp/orgajs][orgajs: parse org-mode content into AST]] :JavaScript:
1797 |
1798 | #+BEGIN_QUOTE
1799 | Orga is a flexible org-mode syntax parser. It parses org content into AST (Abstract Syntax Tree 🌲).
1800 | #+END_QUOTE
1801 |
1802 | + [[https://www.reddit.com/r/orgmode/comments/7wjmwr/orga_the_ultimate_orgmode_parser_in_javascript/][Reddit discussion (2018)]]
1803 |
1804 | **** [[https://github.com/karlicoss/orgparse][orgparse: Python module for reading Emacs org-mode files]] :Python:
1805 |
1806 | **** [[https://github.com/perlancar/perl-Org-Parser][perl-Org-Parser]] :Perl:
1807 |
1808 | + [[https://metacpan.org/pod/Org::Parser][Org::Parser - Parse Org documents - metacpan.org]]
1809 |
1810 | ** Tools :tools:
1811 | :PROPERTIES:
1812 | :CUSTOM_ID: tools
1813 | :END:
1814 |
1815 | *** Citations :citations:
1816 | :PROPERTIES:
1817 | :ID: b010ff39-f460-46c2-af8b-5118ffddb229
1818 | :CUSTOM_ID: citations
1819 | :END:
1820 |
1821 | **** TODO [[https://github.com/jkitchin/org-ref][org-ref]]: modules for citations, cross-references, and bibliographies, and useful BibTeX tools :citations:bibliographies:cross_references:
1822 | :PROPERTIES:
1823 | :author: John Kitchin
1824 | :END:
1825 |
1826 | * Tasks
1827 | :PROPERTIES:
1828 | :TOC: :depth 0
1829 | :CUSTOM_ID: tasks-0
1830 | :END:
1831 |
1832 | Tasks related to this document.
1833 |
1834 | ** TODO Move attachments from data dir to parent data dir :noexport:
1835 |
1836 | [2020-02-13 Thu 18:54] Org 9.0.5 doesn't correctly inherit =ATTACH_DIR= properties set in =#+PROPERTY= lines. Newer versions of Org look like they do. So after I upgrade Org, I'll have to move attachments from this =pub/data= dir to the parent =data= dir.
1837 |
1838 | ** TODO Recursive sort function
1839 |
1840 | Should probably support subtree-specific sort functions.
1841 |
1842 | ** Resources to add
1843 |
1844 | *** [[https://daryl.wakatara.com/a-better-gtd-and-crm-flow-for-emacs-org-mode/][Daryl Manning | A better GTD and CRM flow for emacs org-mode]]
1845 |
1846 | *** [[https://github.com/alhassy/org-special-block-extras][GitHub - alhassy/org-special-block-extras: A number of new custom blocks and link types for Emacs' Org-mode ^_^]]
1847 |
1848 | *** [[https://www.youtube.com/watch?v=0g9BcZvQbXU][Consistent Technical Documents Using Emacs and Org Mode - YouTube]]
1849 |
1850 | This is an excellent demonstration of using Org and Org Babel to produce technical documentation.
1851 |
1852 | *** [[https://www.labri.fr/perso/nrougier/GTD/index.html][Get Things Done with Emacs]]
1853 |
1854 | *** [[https://bofh.org.uk/2019/02/25/baking-with-emacs/][Running a bakery on Emacs and PostgreSQL // Just a Summary]]
1855 |
1856 | *** [[https://karl-voit.at/2020/05/03/current-org-files/][UOMF: My Current Org Mode Files and Heading Structure]]
1857 |
1858 | Karl Voit describes his entire Org system.
1859 |
1860 | + [[https://www.reddit.com/r/emacs/comments/gcsazi/my_current_org_mode_files_and_heading_structure/][Reddit discussion]]
1861 |
1862 | *** [[https://www.reddit.com/r/orgmode/comments/gcnum4/using_orgmode_to_keep_track_of_events/][Using org-mode to keep track of events (particularly birthdays) : orgmode]]
1863 |
1864 | Shows 4 specific ways Org can be used to track birthdays, etc.
1865 |
1866 | ** TODO Sort by timestamp function
1867 |
1868 | Should support timestamps in property values.
1869 |
1870 | ** TODO Issue tracker
1871 |
1872 | [2020-11-09 Mon 01:15] Found this "recipe" laying around in an "org-cookbook" file I started and then forgot about: [[id:6074e74c-ede5-4c2e-9833-4ab7efa13397][Issue tracker]]. There's an image attachment that I could add here, too.
1873 |
1874 | #+BEGIN_SRC org
1875 | /Originally [[https://www.reddit.com/r/orgmode/comments/biqhjc/using_orgmode_as_a_quickanddirty_issue_tracker/][posted]] on Reddit by [[https://www.reddit.com/user/argtri][argtri]]./
1876 |
1877 | 1. Create file =issues.org=.
1878 | 2. Add settings to file:
1879 |
1880 | ,#+BEGIN_SRC org
1881 | ,,#+AUTHOR: Your Name
1882 | ,,#+STARTUP:indent
1883 | ,,#+OPTIONS: num:nil toc:nil
1884 | ,,#+TODO: ONCE(o) EPISODIC ONGOING POTENTIAL | RESOLVED IMPROVED UNRESOLVABLE TOLERATED INACTIVE
1885 | ,,#+TODO: MALFUNCTION DAMAGE | REPAIRED REPLACED DISCARDED
1886 | ,,#+TITLE: Issue Tracker
1887 | ,#+END_SRC
1888 |
1889 | 3. Add template to ~org-capture-templates~:
1890 |
1891 | ,#+BEGIN_SRC elisp
1892 | ("i" "issue" entry
1893 | (file+olp+datetree "~ /org/issues.org")
1894 | "* ONCE %?" :time-prompt t)
1895 | ,#+END_SRC
1896 |
1897 | Example:
1898 |
1899 | [[images/issue-tracker.png]]
1900 |
1901 | #+END_SRC
1902 |
1903 | * Videos :videos:
1904 | :PROPERTIES:
1905 | :CUSTOM_ID: videos
1906 | :END:
1907 |
1908 | Videos about Org.
1909 |
1910 | ** Tutorials :tutorial:
1911 | :PROPERTIES:
1912 | :ID: 536f010e-593f-4f28-b8bd-ae36f4a52db1
1913 | :CUSTOM_ID: tutorials-0
1914 | :END:
1915 |
1916 | Video tutorials.
1917 |
1918 | *** [[https://www.youtube.com/playlist?list=PLVtKhBrRV_ZkPnBtt_TD1Cs9PJlU0IIdE][Rainer König: Org-mode tutorials]]
1919 | :PROPERTIES:
1920 | :author: Rainer König
1921 | :END:
1922 |
1923 | Rainer's series of 39 videos explains Org features and application in a straightforward, detailed way.
1924 |
1925 | * [#C] COMMENT Config :noexport:
1926 | :PROPERTIES:
1927 | :TOC: :ignore (this descendants)
1928 | :END:
1929 |
1930 | ** File-local variables
1931 | :PROPERTIES:
1932 | :ID: 33e473b2-98e5-4ae5-9902-53db37d04618
1933 | :END:
1934 |
1935 | # Local Variables:
1936 | # eval: (require 'org-make-toc)
1937 | # eval: (unpackaged/org-export-html-with-useful-ids-mode 1)
1938 | # org-make-toc-link-type-fn: org-make-toc--link-entry-org
1939 | # before-save-hook: ((lambda () (unpackaged/org-fix-blank-lines t)) (lambda () (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p)))) org-make-toc)
1940 | # after-save-hook: (lambda nil (copy-file "org.org" "~/src/emacs/org-almanac/almanac.org" t) (when (org-html-export-to-html) (rename-file "org.html" "~/src/emacs/org-almanac/index.html" t)))
1941 | # org-export-with-title: t
1942 | # org-export-with-broken-links: mark
1943 | # org-id-link-to-org-use-id: t
1944 | # org-export-initial-scope: buffer
1945 | # eval: (real-auto-save-mode -1)
1946 | # org-make-toc-insert-custom-ids: t
1947 | # org-make-toc-link-type-fn: org-make-toc--link-entry-github
1948 | # End:
1949 |
1950 |
--------------------------------------------------------------------------------