summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--export-html.cpp55
2 files changed, 59 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 16e0c6430..d1b59c849 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -444,6 +444,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_dependencies(${SUBSURFACE_TARGET} generate_qtconf)
endif()
+# build an automated html exporter
+add_executable(export-html EXCLUDE_FROM_ALL export-html.cpp qt-init.cpp qthelper.cpp ${SUBSURFACE_RESOURCES})
+target_link_libraries(export-html subsurface_corelib ${SUBSURFACE_LINK_LIBRARIES})
+
# QTest based tests
macro(TEST NAME FILE)
add_executable(${NAME} EXCLUDE_FROM_ALL tests/${FILE} ${SUBSURFACE_RESOURCES})
diff --git a/export-html.cpp b/export-html.cpp
new file mode 100644
index 000000000..041c52807
--- /dev/null
+++ b/export-html.cpp
@@ -0,0 +1,55 @@
+/* Dirk Hohndel, 2015 */
+
+#include <QString>
+#include <QCommandLineParser>
+#include <QDebug>
+
+#include "qt-gui.h"
+#include "dive.h"
+#include "save-html.h"
+#include "stdio.h"
+#include "git2.h"
+#include "subsurfacestartup.h"
+#include "divelogexportlogic.h"
+
+QTranslator *qtTranslator, *ssrfTranslator;
+
+int main(int argc, char **argv)
+{
+ QApplication *application = init_qt(&argc, &argv);
+ git_libgit2_init();
+ setup_system_prefs();
+ prefs = default_prefs;
+ init_qt_late();
+
+ QCommandLineParser parser;
+ QCommandLineOption sourceDirectoryOption(QStringList() << "s" << "source",
+ "Read git repository from <directory>",
+ "directory");
+ parser.addOption(sourceDirectoryOption);
+ QCommandLineOption outputDirectoryOption(QStringList() << "u" << "output",
+ "Write HTML files into <directory>",
+ "directory");
+ parser.addOption(outputDirectoryOption);
+
+ parser.process(*application);
+
+ QString source = parser.value(sourceDirectoryOption);
+ QString output = parser.value(outputDirectoryOption);
+
+ if (source.isEmpty() || output.isEmpty()) {
+ qDebug() << "need --source and --output";
+ exit(1);
+ }
+ qDebug() << source << output;
+ fprintf(stderr, "parse_file returned %d\n", parse_file(qPrintable(source)));
+
+ struct htmlExportSetting hes;
+ hes.themeFile = "sand.css";
+ hes.exportPhotos = true;
+ hes.selectedOnly = false;
+ hes.listOnly = false;
+ hes.yearlyStatistics = true;
+ exportHtmlInitLogic(output, &hes);
+ exit(0);
+}