favicon, svg, cleanup
|
@ -56,7 +56,7 @@ div#logo p{
|
|||
margin-bottom: 0px;
|
||||
}
|
||||
div#logo {
|
||||
background-image: url('images/gpxpod.png');
|
||||
background-image: url('images/gpxedit.png');
|
||||
width: 65px;
|
||||
background-size: 65px 65px;
|
||||
background-repeat: no-repeat;
|
||||
|
|
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 15 KiB |
19
img/app.svg
|
@ -19,7 +19,7 @@
|
|||
enable-background="new 0 0 512 512"
|
||||
xml:space="preserve"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="marker.svg"><metadata
|
||||
sodipodi:docname="app.svg"><metadata
|
||||
id="metadata9"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
|
@ -32,13 +32,13 @@
|
|||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1627"
|
||||
inkscape:window-height="951"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="718"
|
||||
id="namedview5"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.3037281"
|
||||
inkscape:cx="218.74462"
|
||||
inkscape:cy="239.15819"
|
||||
inkscape:zoom="0.92187498"
|
||||
inkscape:cx="277.35326"
|
||||
inkscape:cy="367.53914"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
|
@ -47,6 +47,11 @@
|
|||
id="path3"
|
||||
style="fill:#b3b3b3" /><path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ff0000;stroke-width:0.87785804;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:1.75571607, 0.87785804;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="M 248.91673,509.24858 C 230.56801,500.07962 190.87269,454.55414 154.79361,401.30133 109.09773,333.85411 77.634458,268.76261 67.562633,220.8371 64.476451,206.15189 63.704442,185.37191 65.653374,169.44602 70.933923,126.29547 89.916923,87.289393 120.53926,56.667063 142.55287,34.653457 168.02941,18.997898 197.14663,9.5911583 c 20.07226,-6.4846296 36.32789,-8.96099834 58.799,-8.9573893 15.82056,0.002539 25.20235,0.8786925 38.58779,3.6036552 29.27974,5.9606698 57.25814,19.1024518 81.56571,38.3123618 7.16255,5.660455 23.62029,22.091106 29.14775,29.099766 27.68995,35.110068 42.05754,75.520398 42.11426,118.450638 0.0195,14.72113 -1.17042,24.05266 -5.0755,39.80466 -11.10768,44.80527 -40.59037,104.78432 -81.74458,166.29964 -43.60715,65.18186 -89.02708,115.3374 -104.44742,115.3374 -1.42318,0 -4.65279,-1.03199 -7.17691,-2.29331 z m 17.32829,-189.48636 c 45.4822,-4.02553 84.13475,-30.21804 104.50975,-70.81996 14.09646,-28.09048 17.18704,-60.24088 8.76327,-91.16176 -12.35905,-45.36594 -50.51518,-81.408176 -96.45838,-91.114479 -22.97888,-4.854691 -45.10067,-3.602599 -67.45932,3.818196 -67.1219,22.277628 -103.60883,95.090683 -81.20728,162.056633 14.25716,42.61957 49.88481,74.72409 93.7963,84.52101 14.09633,3.14498 24.60623,3.89074 38.05566,2.70036 z"
|
||||
d="M 248.91673,509.24858 C 230.56801,500.07962 190.87269,454.55414 154.79361,401.30133 109.09773,333.85411 77.634458,268.76261 67.562633,220.8371 64.476451,206.15189 63.704442,185.37191 65.653374,169.44602 70.933923,126.29547 89.916923,87.289393 120.53926,56.667063 142.55287,34.653457 168.02941,18.997898 197.14663,9.5911583 c 20.07226,-6.4846296 36.32789,-8.96099834 58.799,-8.9573893 15.82056,0.002539 25.20235,0.8786925 38.58779,3.6036552 29.27974,5.9606698 57.25814,19.1024518 81.56571,38.3123618 7.16255,5.660455 23.62029,22.091106 29.14775,29.099766 27.68995,35.110068 42.05754,75.520398 42.11426,118.450638 0.0195,14.72113 -1.17042,24.05266 -5.0755,39.80466 -11.10768,44.80527 -40.59037,104.78432 -81.74458,166.29964 -43.60715,65.18186 -89.02708,115.3374 -104.44742,115.3374 -1.42318,0 -4.65279,-1.03199 -7.17691,-2.29331 z"
|
||||
id="path3333"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="sssssssssssssss" /><path
|
||||
style="fill:#000000"
|
||||
d="m 206.68845,335.92576 c -3.95443,-3.78626 -3.78004,-8.1268 0.47218,-11.7533 l 3.46099,-2.95167 -3.46099,-3.31381 c -4.2079,-4.02897 -4.3395,-6.38061 -0.60422,-10.79732 l 2.85673,-3.37791 48.08465,0 48.08464,0 2.85673,3.37791 c 3.73528,4.41671 3.60368,6.76835 -0.60423,10.79732 l -3.46098,3.31381 3.46098,2.95167 c 4.25223,3.6265 4.42662,7.96704 0.4722,11.7533 -2.86426,2.74246 -4.9813,2.86169 -50.80934,2.86169 -45.82805,0 -47.94509,-0.11919 -50.80934,-2.86169 z m 11.95513,-43.60515 c 0,-9.1776 -24.18164,-46.63112 -49.90907,-77.30122 l -9.60204,-11.44677 10.113,-10.01591 c 14.38175,-14.24374 29.69775,-37.27303 45.67705,-68.68054 11.31828,-22.24626 28.37971,-61.259659 36.29292,-82.988998 1.12669,-3.093888 1.59616,17.244785 1.68119,72.835828 l 0.11805,77.12835 -5.78027,4.73732 c -6.75405,5.53535 -8.56585,11.46004 -5.58999,18.27946 7.47115,17.12056 33.80624,12.5531 33.78055,-5.85879 -0.008,-5.24096 -4.98888,-12.93883 -9.70451,-14.99607 l -3.73951,-1.63133 0.11808,-77.39366 c 0.085,-55.77571 0.55461,-76.194637 1.68119,-73.101108 7.91322,21.729339 24.97462,60.742738 36.29291,82.988998 15.97931,31.40751 31.29528,54.4368 45.67705,68.68054 l 10.11299,10.01591 -9.60205,11.44677 c -25.72751,30.6701 -49.90913,68.12362 -49.90913,77.30122 l 0,3.5415 -38.8542,0 -38.85421,0 0,-3.5415 z"
|
||||
id="path3205"
|
||||
inkscape:connector-curvature="0" /></svg>
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
img/favicon.ico
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
img/favicon.png
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -24,7 +24,7 @@ function load_map() {
|
|||
+'&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal'
|
||||
+'&TILEMATRIXSET=PM&TILEMATRIX={z}&TILECOL={x}&TILEROW={y}' ;
|
||||
}
|
||||
// change it if you deploy GPXPOD
|
||||
// change it if you deploy GPXEDIT
|
||||
var API_KEY = 'ljthe66m795pr2v2g8p7faxt';
|
||||
var ign = new L.tileLayer ( geopUrl(API_KEY,'GEOGRAPHICALGRIDSYSTEMS.MAPS'),
|
||||
{ attribution:'© <a href="http://www.ign.fr/">IGN-France</a>',
|
||||
|
@ -172,7 +172,7 @@ function load_map() {
|
|||
|
||||
gpxedit.minimapControl = new L.Control.MiniMap(
|
||||
osmfr2,
|
||||
{ toggleDisplay: true, position:'bottomleft' }
|
||||
{ toggleDisplay: true, position:'bottomright' }
|
||||
).addTo(gpxedit.map);
|
||||
gpxedit.minimapControl._toggleDisplayButtonClicked();
|
||||
|
||||
|
@ -184,7 +184,7 @@ function load_map() {
|
|||
gpxedit.map.addLayer(gpxedit.editableLayers);
|
||||
|
||||
var options = {
|
||||
position: 'topright',
|
||||
position: 'bottomleft',
|
||||
draw: {
|
||||
polyline: {
|
||||
shapeOptions: {
|
||||
|
@ -396,9 +396,32 @@ function parseGpx(xml){
|
|||
});
|
||||
}
|
||||
|
||||
/*
|
||||
* get key events
|
||||
*/
|
||||
function checkKey(e){
|
||||
e = e || window.event;
|
||||
var kc = e.keyCode;
|
||||
console.log(kc);
|
||||
|
||||
if (kc === 0 || kc === 176 || kc === 192){
|
||||
e.preventDefault();
|
||||
gpxedit.searchControl._toggle();
|
||||
}
|
||||
if (kc === 161 || kc === 223){
|
||||
e.preventDefault();
|
||||
gpxedit.minimapControl._toggleDisplayButtonClicked();
|
||||
}
|
||||
if (kc === 60 || kc === 220){
|
||||
e.preventDefault();
|
||||
$('#sidebar').toggleClass('collapsed');
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
gpxedit.username = $('p#username').html();
|
||||
load_map();
|
||||
document.onkeydown = checkKey;
|
||||
|
||||
$('body').on('click','button.popupOkButton', function(e) {
|
||||
var id = parseInt($(this).attr('layerid'));
|
||||
|
@ -419,7 +442,7 @@ $(document).ready(function(){
|
|||
alert(gpxText);
|
||||
});
|
||||
|
||||
parseGpx('<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="GpxEdit Owncloud/Nextcloud app" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd"> <metadata> <time>2016-11-01T14:18:24Z</time> </metadata> <trk> <name>droit</name> <trkseg> <trkpt lat="1" lon="3"> </trkpt> <trkpt lat="2" lon="3"> </trkpt> <trkpt lat="3" lon="3"> </trkpt> </trkseg> </trk> <trk> <name>yeye</name> <trkseg> <trkpt lat="7.449624260197829" lon="10.063476562500002"> </trkpt> <trkpt lat="11.005904459659451" lon="9.931640625000002"> </trkpt> <trkpt lat="9.665738395188692" lon="14.721679687500002"> </trkpt> </trkseg></trk><wpt lat="23.07973176244989" lon="40.42968750000001"><name>unnamed</name><desc>plop</desc></wpt><extensions/> </gpx>');
|
||||
parseGpx('<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="GpxEdit Owncloud/Nextcloud app" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd"> <metadata> <time>2016-11-01T14:18:24Z</time> </metadata> <trk> <name>droit</name><desc>plop\nplap</desc> <trkseg> <trkpt lat="1" lon="3"> </trkpt> <trkpt lat="2" lon="3"> </trkpt> <trkpt lat="3" lon="3"> </trkpt> </trkseg> </trk> <trk> <name>yeye</name> <trkseg> <trkpt lat="7.449624260197829" lon="10.063476562500002"> </trkpt> <trkpt lat="11.005904459659451" lon="9.931640625000002"> </trkpt> <trkpt lat="9.665738395188692" lon="14.721679687500002"> </trkpt> </trkseg></trk><wpt lat="23.07973176244989" lon="40.42968750000001"><name>unnamed</name><desc>plop</desc></wpt><extensions/> </gpx>');
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
<!-- Nav tabs -->
|
||||
<ul class="sidebar-tabs" role="tablist">
|
||||
<li class="active" title="<?php p($l->t('Folder and tracks selection')); ?>"><a href="#ho" role="tab"><i class="fa fa-bars"></i></a></li>
|
||||
<li title="<?php p($l->t('Settings')); ?>"><a href="#settings" role="tab"><i class="fa fa-gear"></i></a></li>
|
||||
<li title="<?php p($l->t('About GpxEdit')); ?>"><a href="#help" role="tab"><i class="fa fa-question"></i></a></li>
|
||||
</ul>
|
||||
<!-- Tab panes -->
|
||||
|
@ -11,7 +10,7 @@
|
|||
<form name="choosedir" method="get" action="?">
|
||||
<div id="logofolder">
|
||||
<div id="logo">
|
||||
<!--p align="center"><img src="gpxpod.png"/></p-->
|
||||
<!--p align="center"><img src="gpxedit.png"/></p-->
|
||||
<div>
|
||||
<p>v
|
||||
<?php
|
||||
|
@ -63,100 +62,9 @@ p($_['username']);
|
|||
echo '</p>'."\n";
|
||||
|
||||
?>
|
||||
</div>
|
||||
<div class="sidebar-pane" id="settings">
|
||||
<h1 class="sectiontitle"><?php p($l->t('Settings and extra actions')); ?></h1>
|
||||
<hr/>
|
||||
<br/>
|
||||
<div id="filtertabtitle">
|
||||
<h3 class="sectiontitle"><?php p($l->t('Filters')); ?></h3>
|
||||
<button id="clearfilter" class="filterbutton">
|
||||
<i class="fa fa-trash" aria-hidden="true" style="color:red;"></i>
|
||||
<?php p($l->t('Clear')); ?>
|
||||
</button>
|
||||
<button id="applyfilter" class="filterbutton">
|
||||
<i class="fa fa-check" aria-hidden="true" style="color:green;"></i>
|
||||
<?php p($l->t('Apply')); ?>
|
||||
</button>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
<ul id="filterlist" class="disclist">
|
||||
<li>
|
||||
<b><?php p($l->t('Date')); ?></b><br/>
|
||||
<?php p($l->t('min')); ?> : <input type="text" id="datemin"><br/>
|
||||
<?php p($l->t('max')); ?> : <input type="text" id="datemax">
|
||||
</li>
|
||||
<li>
|
||||
<b><?php p($l->t('Distance (m)'));?></b><br/>
|
||||
<?php p($l->t('min')); ?> : <input id="distmin"><br/>
|
||||
<?php p($l->t('max')); ?> : <input id="distmax">
|
||||
</li>
|
||||
<li>
|
||||
<b><?php p($l->t('Cumulative elevation gain (m)')); ?></b><br/>
|
||||
<?php p($l->t('min')); ?> : <input id="cegmin"><br/>
|
||||
<?php p($l->t('max')); ?> : <input id="cegmax">
|
||||
</li>
|
||||
</ul>
|
||||
<br/>
|
||||
<hr/>
|
||||
<br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Custom tile servers')); ?></h3>
|
||||
<br/>
|
||||
<div id="tileserveradd">
|
||||
<?php p($l->t('Server name (for example \'my custom server\')')); ?> :
|
||||
<input type="text" id="tileservername"><br/>
|
||||
<?php p($l->t('Server url (\'http://tile.server.org/cycle/{z}/{x}/{y}.png\')')); ?> :
|
||||
<input type="text" id="tileserverurl"><br/>
|
||||
<button id="addtileserver"><i class="fa fa-plus-circle" aria-hidden="true" style="color:green;"></i> <?php p($l->t('Add')); ?></button>
|
||||
</div>
|
||||
<br/>
|
||||
<div id="tileserverlist">
|
||||
<h2><?php p($l->t('Your servers')); ?></h2>
|
||||
<ul class="disclist">
|
||||
<?php
|
||||
if (count($_['tileservers']) > 0){
|
||||
foreach($_['tileservers'] as $name=>$url){
|
||||
echo '<li name="';
|
||||
p($name);
|
||||
echo '" title="';
|
||||
p($url);
|
||||
echo '">';
|
||||
p($name);
|
||||
echo '<button><i class="fa fa-trash" aria-hidden="true" style="color:red;"></i> ';
|
||||
p($l->t('Delete'));
|
||||
echo '</button></li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<br/>
|
||||
<hr/>
|
||||
<br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Python output')); ?></h3>
|
||||
<p id="python_output" ></p>
|
||||
<br/>
|
||||
<hr/>
|
||||
<br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Clean files')); ?></h3>
|
||||
<button id="cleanall"><i class="fa fa-trash" aria-hidden="true" style="color:red;"></i> <?php p($l->t('Delete all markers and geojson files')); ?></button>
|
||||
<button id="clean"><i class="fa fa-trash" aria-hidden="true" style="color:red;"></i> <?php p($l->t('Delete markers and geojson files for existing gpx')); ?></button>
|
||||
<div id="clean_results"></div>
|
||||
<div id="deleting"><p>
|
||||
<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>
|
||||
<?php p($l->t('deleting')); ?></p>
|
||||
</div>
|
||||
<div id="linkdialog" style="display:none;" title="Public link">
|
||||
<label id="linklabel" for="linkinput"></label>
|
||||
<br/>
|
||||
<input id="linkinput" type="text"></input>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="sidebar-pane" id="help">
|
||||
<h1 class="sectiontitle"><?php p($l->t('About GpxPod')); ?></h1>
|
||||
<h1 class="sectiontitle"><?php p($l->t('About GpxEdit')); ?></h1>
|
||||
<hr/><br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Shortcuts')); ?> :</h3>
|
||||
<ul class="disclist">
|
||||
|
@ -167,68 +75,21 @@ if (count($_['tileservers']) > 0){
|
|||
<br/><hr/><br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Features')); ?> :</h3>
|
||||
<ul class="disclist">
|
||||
<li>View :
|
||||
<ul class="circlist">
|
||||
<li>Click on marker cluster to zoom in.</li>
|
||||
<li>Click on track line or track marker to show popup with track stats
|
||||
and a link to draw track elevation profile.</li>
|
||||
<li>In main sidebar tab, the table lists all track that fits into
|
||||
current map bounds. This table is kept up to date when you zoom or move.</li>
|
||||
<li>Sidebar table columns are sortable.</li>
|
||||
<li>In sidebar table and track popup, click on track links to download
|
||||
the GPX file.</li>
|
||||
<li>"Transparency" option : enable sidebar transparency when hover on
|
||||
table rows to display track overviews.</li>
|
||||
<li>"Display markers" option : hide all map markers. Sidebar table still
|
||||
lists available tracks in current map bounds.</li>
|
||||
<li>Auto popup : toggle popup opening when drawing a track</li>
|
||||
<li>Auto zoom : toggle zoom when changing folder or drawing a track</li>
|
||||
<li>Dynamic table : Always show all tracks if disabled. Otherwise
|
||||
, update the table when zooming or moving the map view.</li>
|
||||
<li>Track coloration : color each track segment depending on elevation or speed or slope.</li>
|
||||
<li>Browser timezone detection.</li>
|
||||
<li>Manual timezone setting.</li>
|
||||
<li>Several criterias to list tracks in sidebar table</li>
|
||||
<li>Filter visible tracks by length, date, cumulative elevation gain.</li>
|
||||
<li>Add personnal custom tile servers.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>Share :
|
||||
<ul class="circlist">
|
||||
<li>Share track : In sidebar table, [p] link near the track name is a public link which
|
||||
works only if the track (or one of its parent directories) is shared in
|
||||
"Files" app with public without password.</li>
|
||||
<li>Share folder : Near the selected folder, the [p] link is a public link to currently selected folder.
|
||||
This link will work only if the folder is shared in "Files" app with public without password.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>Other :
|
||||
<ul class="circlist">
|
||||
<li>Ability to clean old files produced by old GpxPod versions.</li>
|
||||
<li>Pre-process tracks with SRTM.py (if installed and found
|
||||
on server's system) to correct elevations.
|
||||
This can be done on a single track (with a link in track popup) or on a whole folder (with scan type).</li>
|
||||
<li>Convert KML and TCX files to gpx if GpsBabel is found on server's system.</li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>Many leaflet plugins are active :
|
||||
<ul class="circlist">
|
||||
<li>Markercluster</li>
|
||||
<li>Elevation (modified to display time when hover on graph)</li>
|
||||
<li>Sidebar-v2</li>
|
||||
<li>Control Geocoder (search in nominatim DB)</li>
|
||||
<li>Minimap (bottom-left corner of map)</li>
|
||||
<li>MousePosition</li>
|
||||
<li>Draw</li>
|
||||
<li>MeasureControl</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<br/><hr/><br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Documentation')); ?></h3>
|
||||
<a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxpod-oc/wikis/home">
|
||||
<a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxedit-oc/wikis/home">
|
||||
<i class="fa fa-gitlab" aria-hidden="true"></i>
|
||||
Project wiki
|
||||
</a>
|
||||
|
@ -237,10 +98,10 @@ if (count($_['tileservers']) > 0){
|
|||
<br/><hr/><br/>
|
||||
<h3 class="sectiontitle"><?php p($l->t('Source management')); ?></h3>
|
||||
<ul class="disclist">
|
||||
<li><a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxpod-oc">
|
||||
<li><a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxedit-oc">
|
||||
<i class="fa fa-gitlab" aria-hidden="true"></i>
|
||||
Gitlab project main page</a></li>
|
||||
<li><a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxpod-oc/issues">
|
||||
<li><a class="toplink" target="_blank" href="https://gitlab.com/eneiluj/gpxedit-oc/issues">
|
||||
<i class="fa fa-gitlab" aria-hidden="true"></i>
|
||||
Gitlab project issue tracker</a></li>
|
||||
</ul>
|
||||
|
@ -249,7 +110,6 @@ if (count($_['tileservers']) > 0){
|
|||
<h3 class="sectiontitle"><?php p($l->t('Authors')); ?> :</h3>
|
||||
<ul class="disclist">
|
||||
<li>Julien Veyssier</li>
|
||||
<li>Fritz Kleinschroth (german translation)</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
|