Skip to content
Snippets Groups Projects
Commit ce89d6ac authored by Jonathan Schöbel's avatar Jonathan Schöbel
Browse files

docs: collect commit messages #5

Up to (and including) commit 90bc356b
'Merge branch 'master' into feature/validator'
parent 6b81acb7
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,36 @@ configure.ac:
--enable-tests=yes, if check is present, and like --enable-tests=no
otherwise.
.gitlab-ci.yml:
This package uses a gitlab repository for version control and
also has some ci jobs. The package is setup, as the files
generated via autoreconf are not included in the vcs. Then the
package is compiled and tested. Furthermore, a release is
created and uploaded. It is accompanied by a tag naming this
nightly release. Note, that adding a tag triggers the pipeline
again, which would result in an error, as a release with the
same name can't be added twice. This is prevented with an
execution rule.
These releases are manually deleted from time to time, as they
take up space.
For uploading and creating the release, the tar-name is needed.
That's why for this there are separate shell scripts in which
configure substitutes some variables.
Note, that separating the work into different stages, using a
makefile, to determine what should be compiled, using git and
gitlab's behaviour, doesn't always works as intended. The
library used to be always recompiled, even if it has already
been compiled in the previous stage, because on git checkout,
which is done at every stage, the files get the timestamp of
the checkout-time, but the already build files, coming from
artifacts, have older times, thus resulting in a recompilation.
This is fixed with setting the timestamp of every file to the
last change git knows of.
Actually some bugs were already found due to testing the
package in another environment.
main.c:
As this project is about a library, a main.c would not be
expected. It contains a small demo program using the library.
......@@ -347,6 +377,47 @@ Fragment:
missing, as it depends on still not implemented functionality
of SH_Text.
The TextFragment is used to implement the text between and
outside html tags. Currently, it is still very rudimentary in,
that it doesn't support any operations at all and just has a
function to expose a internal text.
While this function is necessary to manipulate the content of a
TextFragment, the TextFragment should abstract the semantics of
Text. While simple wrapper functions for appending are to be
added, methods purely manipulating the text, i.e. relying on
the text's contents, wont get wrapper functions. Thus this
function is still needed until a more sophisticated approach is
implemented.
Some basic text functionality is already supported via wrapper
functions.
Note that wrapper functions aren't tested in unit tests.
When a newline is encountered in the text, a <br /> is inserted
and for wrap mode also a newline and an indent is inserted.
Note, that the indent is still missing at the front where it
can't be inserted yet as SH_Text is still lacking basic
functionality.
The html generation for both TextFragment and NodeFragment
combined is tested. As the encoding semantics of the
TextFragments are neither defined nor implemented, some tests
are marked as XFAIL.
What is still missing is the proper treatment of embed text.
This should be indented and breaked at 72/79/80. Also newlines
and special chars should be replaced on generation, maybe also
giving some way of preventing XSS. Regarding the NodeFragment
there should be some adjustments to further adjust the styling,
which of course should also be reflected by TextFragment. This
should also include the generation of self-closing tags.
Furthermore the html generation should be based on a single
text object, to which is added to. This will later on also
enable to directly send generated parts over the network while
still generating some data.
Validator:
Validator serves as an syntax checker, i.e. it can be requested
whether a tag is allowed.
......@@ -458,6 +529,33 @@ Text:
is returned.
It was tried to implement the text in terms of multiple text
segments.
While it would be preferable, it doesn't seam to be possible to
abstract over the internals of text_segment. That's why only
some basic functionality is moved, but whether more is to
follow, is not known yet.
A text_segment allocates memory in terms of chunks, this is now
also done, when created from a string, but this means that we
can't rely on strdup any more, as it takes care of the
allocation. Calling malloc ourselves shouldn't be such an
overhead as at least glibc's strdup performs the exact same
steps. Actually we should be spare a strlen call now, so it
should be more performant.
The copy_and_replace function replaces a single character with
a string, while copying. This may be replaced by an elaborate
function as manipulating a text normally means that
manipulating is deferred until needed, which this function
contradicts to.
Also there is the concept of a text mark.
A mark will be used to point to a specific location inside of a
text. Currently it can't do anything and isn't even used.
Tests:
Tests are done using check, allowing to integrate the tests
into the GNU Autotools.
......
......@@ -34,7 +34,7 @@ FILE_NAME_1=134;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2F
FILE_NAME_2=1737;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fconfigure.ac;0;8
FILE_NAME_3=73;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2FMakefile.am;0;8
FILE_NAME_4=19;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Fmain.c;0;8
FILE_NAME_5=23257;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
FILE_NAME_5=3555;None;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fdocs%2Fcommit_messages.txt;0;8
FILE_NAME_6=1867;Make;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2FMakefile.am;0;8
FILE_NAME_7=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.c;0;8
FILE_NAME_8=18;C;0;EUTF-8;1;1;0;%2Fhome%2Fjonathan%2FDokumente%2Fprojekte%2Fprgm%2Finternet%2Fweb%2FSeFHT%2Fsrc%2Flib%2Fsefht%2Fcms.h;0;8
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment