mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Implement a standalone HTML exporter
This is mostly a proof of concept right now; it shows that it is possible to create a headless server application that exports a git repository based data file as html. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
0692e24036
commit
226e9a7e85
2 changed files with 59 additions and 0 deletions
|
@ -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})
|
||||
|
|
55
export-html.cpp
Normal file
55
export-html.cpp
Normal file
|
@ -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);
|
||||
}
|
Loading…
Reference in a new issue