1 #if !defined( MARKDOWN_H )
5 * An implementation of markdown objects.
6 * Copyright (C) 2018 Michael Goehler
8 * This file is part of mdp.
10 * This program is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
24 * enum: line_bitmask which enumerates markdown formating bits
26 * struct: deck_t the root object representing a deck of slides
27 * struct: slide_t a linked list element of type slide contained in a deck
28 * struct: line_t a linked list element of type line contained in a slide
30 * function: new_deck to initialize a new deck
31 * function: new_slide to initialize a new linked list of type slide
32 * function: next_slide to extend a linked list of type slide by one element
33 * function: new_line to initialize a new linked list of type line
34 * function: next_line to extend a linked list of type line by one element
35 * function: free_line to free a line elements memory
36 * function: free_deck to free a deck's memory
56 IS_UNORDERED_LIST_EXT,
62 typedef struct _line_t {
71 typedef struct _slide_t {
73 struct _slide_t *prev;
74 struct _slide_t *next;
80 typedef struct _deck_t {
88 line_t *next_line(line_t *prev);
90 slide_t *next_slide(slide_t *prev);
92 void free_line(line_t *l);
93 void free_deck(deck_t *);
95 #endif // !defined( MARKDOWN_H )