sismics docs -> teedy

This commit is contained in:
Benjamin Gamard 2019-02-12 13:57:54 +01:00
parent a86af9736b
commit 868a74c184
48 changed files with 118 additions and 119 deletions

View File

@ -1,27 +1,27 @@
<h3 align="center"> <h3 align="center">
<img src="https://www.sismicsdocs.com/img/github-title.png" alt="Sismics Docs" width=500 /> <img src="https://teedy.io/img/github-title.png" alt="Teedy" width=500 />
</h3> </h3>
[![Twitter: @sismicsdocs](https://img.shields.io/badge/contact-@sismicsdocs-blue.svg?style=flat)](https://twitter.com/sismicsdocs) [![Twitter: @teedyio](https://img.shields.io/badge/contact-@teedyio-blue.svg?style=flat)](https://twitter.com/teedyio)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) [![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
[![Build Status](https://secure.travis-ci.org/sismics/docs.png)](http://travis-ci.org/sismics/docs) [![Build Status](https://secure.travis-ci.org/sismics/docs.png)](http://travis-ci.org/sismics/docs)
Docs is an open source, lightweight document management system for individuals and businesses. Teedy is an open source, lightweight document management system for individuals and businesses.
**Discuss it on [Product Hunt](https://www.producthunt.com/posts/sismics-docs) 🦄** **Discuss it on [Product Hunt](https://www.producthunt.com/posts/sismics-docs) 🦄**
<hr /> <hr />
<h2 align="center"> <h2 align="center">
We just launched a Cloud version of Sismics Docs! Head to <a href="https://www.sismicsdocs.com/">sismicsdocs.com</a> for more informations Sismics Docs is now called Teedy! You can still find our cloud and support offer on <a href="https://teedy.io">teedy.io</a>
</h2> </h2>
<hr /> <hr />
![New!](https://www.sismicsdocs.com/img/laptop-demo.png?20180301) ![New!](https://teedy.io/img/laptop-demo.png?20180301)
Demo Demo
---- ----
A demo is available at [demo.sismicsdocs.com](https://demo.sismicsdocs.com) A demo is available at [demo.teedy.io](https://demo.teedy.io)
- Guest login is enabled with read access on all documents - Guest login is enabled with read access on all documents
- "admin" login with "admin" password - "admin" login with "admin" password
- "demo" login with "password" password - "demo" login with "password" password
@ -58,13 +58,13 @@ Features
Install with Docker Install with Docker
------------------- -------------------
From a Docker host, run this command to download and install Sismics Docs. The server will run on <http://[your-docker-host-ip]:8100>. From a Docker host, run this command to download and install Teedy. The server will run on <http://[your-docker-host-ip]:8100>.
**The default admin password is "admin". Don't forget to change it before going to production.** **The default admin password is "admin". Don't forget to change it before going to production.**
docker run --rm --name sismics_docs_latest -d -e DOCS_BASE_URL='http://[your-docker-host-ip]:8100' -p 8100:8080 -v sismics_docs_latest:/data sismics/docs:latest docker run --rm --name teedy_latest -d -e DOCS_BASE_URL='http://[your-docker-host-ip]:8100' -p 8100:8080 -v teedy_latest:/data sismics/docs:latest
<img src="http://www.newdesignfile.com/postpic/2011/01/green-info-icon_206509.png" width="16px" height="16px"> **Note:** You will need to change [your-docker-host-ip] with the IP address or FQDN of your docker host e.g. <img src="http://www.newdesignfile.com/postpic/2011/01/green-info-icon_206509.png" width="16px" height="16px"> **Note:** You will need to change [your-docker-host-ip] with the IP address or FQDN of your docker host e.g.
FQDN: http://docs.sismics.com FQDN: http://docs.mycompany.com
IP: http://192.168.100.10 IP: http://192.168.100.10
Manual installation Manual installation
@ -81,12 +81,12 @@ Manual installation
The latest release is downloadable here: <https://github.com/sismics/docs/releases> in WAR format. The latest release is downloadable here: <https://github.com/sismics/docs/releases> in WAR format.
**The default admin password is "admin". Don't forget to change it before going to production.** **The default admin password is "admin". Don't forget to change it before going to production.**
How to build Docs from the sources How to build Teedy from the sources
---------------------------------- ----------------------------------
Prerequisites: JDK 8 with JCE, Maven 3, Tesseract 3 or 4 Prerequisites: JDK 8 with JCE, Maven 3, Tesseract 3 or 4
Docs is organized in several Maven modules: Teedy is organized in several Maven modules:
- docs-core - docs-core
- docs-web - docs-web
@ -126,15 +126,15 @@ The `master` branch is the default and base branch for the project. It is used f
Community Community
--------- ---------
Get updates on Sismics Docs' development and chat with the project maintainers: Get updates on Teedy's development and chat with the project maintainers:
- Follow [@sismicsdocs on Twitter](https://twitter.com/sismicsdocs) - Follow [@teedyio on Twitter](https://twitter.com/teedyio)
- Read and subscribe to [The Official Sismics Docs Blog](https://blog.sismicsdocs.com/) - Read and subscribe to [The Official Teedy Blog](https://blog.teedy.io/)
- Check the [Official Website](https://www.sismicsdocs.com) - Check the [Official Website](https://teedy.io)
- Join us [on Facebook](https://www.facebook.com/sismicsdocs) - Join us [on Facebook](https://www.facebook.com/teedyio)
License License
------- -------
Docs is released under the terms of the GPL license. See `COPYING` for more Teedy is released under the terms of the GPL license. See `COPYING` for more
information or see <http://opensource.org/licenses/GPL-2.0>. information or see <http://opensource.org/licenses/GPL-2.0>.

View File

@ -15,7 +15,7 @@
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/AppTheme" > android:theme="@style/AppTheme">
<activity <activity
android:name=".activity.LoginActivity" android:name=".activity.LoginActivity"
android:label="@string/app_name" android:label="@string/app_name"

View File

@ -1,6 +1,7 @@
package com.sismics.docs; package com.sismics.docs;
import android.app.Application; import android.app.Application;
import android.support.v7.app.AppCompatDelegate;
import com.sismics.docs.model.application.ApplicationContext; import com.sismics.docs.model.application.ApplicationContext;
import com.sismics.docs.util.PreferenceUtil; import com.sismics.docs.util.PreferenceUtil;
@ -22,5 +23,7 @@ public class MainApplication extends Application {
// TODO Provide documents to intent action get content // TODO Provide documents to intent action get content
super.onCreate(); super.onCreate();
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
} }
} }

View File

@ -63,14 +63,13 @@ public class DocListFragment extends Fragment {
recyclerView.setAdapter(adapter); recyclerView.setAdapter(adapter);
recyclerView.setHasFixedSize(true); recyclerView.setHasFixedSize(true);
recyclerView.setLongClickable(true); recyclerView.setLongClickable(true);
recyclerView.addItemDecoration(new DividerItemDecoration(getResources().getDrawable(R.drawable.abc_list_divider_mtrl_alpha)));
// Configure the LayoutManager // Configure the LayoutManager
final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager); recyclerView.setLayoutManager(layoutManager);
// Configure the swipe refresh layout // Configure the swipe refresh layout
swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout); swipeRefreshLayout = view.findViewById(R.id.swipeRefreshLayout);
swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright, swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
android.R.color.holo_green_light, android.R.color.holo_green_light,
android.R.color.holo_orange_light, android.R.color.holo_orange_light,
@ -194,7 +193,7 @@ public class DocListFragment extends Fragment {
private void loadDocuments(final View view, final boolean reset) { private void loadDocuments(final View view, final boolean reset) {
if (view == null) return; if (view == null) return;
final View progressBar = view.findViewById(R.id.progressBar); final View progressBar = view.findViewById(R.id.progressBar);
final TextView documentsEmptyView = (TextView) view.findViewById(R.id.documentsEmptyView); final TextView documentsEmptyView = view.findViewById(R.id.documentsEmptyView);
if (reset) { if (reset) {
loading = true; loading = true;

View File

@ -156,7 +156,7 @@ public class OkHttpUtil {
public static OkHttpClient buildClient(final Context context) { public static OkHttpClient buildClient(final Context context) {
// One-time header computation // One-time header computation
if (userAgent == null) { if (userAgent == null) {
userAgent = "Sismics Docs Android " + ApplicationUtil.getVersionName(context) + "/Android " + Build.VERSION.RELEASE + "/" + Build.MODEL; userAgent = "Teedy Android " + ApplicationUtil.getVersionName(context) + "/Android " + Build.VERSION.RELEASE + "/" + Build.MODEL;
} }
if (acceptLanguage == null) { if (acceptLanguage == null) {

View File

@ -29,7 +29,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="sans-serif-light" android:fontFamily="sans-serif-light"
android:textColor="#212121" android:textColor="?android:attr/textColorPrimary"
android:text="Test" android:text="Test"
android:textSize="16sp" android:textSize="16sp"
android:ellipsize="end" android:ellipsize="end"
@ -46,7 +46,7 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="sans-serif-light" android:fontFamily="sans-serif-light"
android:textColor="#777777" android:textColor="?android:attr/textColorPrimary"
android:text="test2" android:text="test2"
android:textSize="16sp" android:textSize="16sp"
android:maxLines="1" android:maxLines="1"
@ -69,7 +69,7 @@
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:textColor="#777777" android:textColor="?android:attr/textColorPrimary"
android:fontFamily="sans-serif-light"/> android:fontFamily="sans-serif-light"/>
</RelativeLayout> </RelativeLayout>

View File

@ -9,23 +9,22 @@
<android.support.design.widget.CoordinatorLayout <android.support.design.widget.CoordinatorLayout
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/overview_coordinator_layout" android:id="@+id/overview_coordinator_layout"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout <android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="wrap_content">
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="enterAlways|scroll|snap" />
</android.support.design.widget.AppBarLayout>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme"
app:layout_scrollFlags="enterAlways|scroll|snap" />
</android.support.design.widget.AppBarLayout>
<fragment <fragment
android:id="@+id/main_fragment" android:id="@+id/main_fragment"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@ -11,7 +11,7 @@
<!-- App --> <!-- App -->
<string name="drawer_open">Navigationsleiste öffnen</string> <string name="drawer_open">Navigationsleiste öffnen</string>
<string name="drawer_close">Navigationsleiste schließen</string> <string name="drawer_close">Navigationsleiste schließen</string>
<string name="login_explain"><![CDATA[Um zu beginnen, müssen Sie Sismics Docs Server herunterladen und installieren <a href="https://github.com/sismics/docs">github.com/sismics/docs</a>, sowie die Login-Daten unten eingeben]]></string> <string name="login_explain"><![CDATA[Um zu beginnen, müssen Sie Teedy Server herunterladen und installieren <a href="https://github.com/sismics/docs">github.com/sismics/docs</a>, sowie die Login-Daten unten eingeben]]></string>
<string name="server">Server</string> <string name="server">Server</string>
<string name="username">Username</string> <string name="username">Username</string>
<string name="password">Password</string> <string name="password">Password</string>
@ -83,7 +83,7 @@
<string name="file_delete_failure">Netzwerkfehler beim Löschen der Datei</string> <string name="file_delete_failure">Netzwerkfehler beim Löschen der Datei</string>
<string name="file_deleting_message">Lösche Datei</string> <string name="file_deleting_message">Lösche Datei</string>
<string name="error_reading_file">Fehler beim Lesen der Datei</string> <string name="error_reading_file">Fehler beim Lesen der Datei</string>
<string name="upload_notification_title">Sismics Docs</string> <string name="upload_notification_title">Teedy</string>
<string name="upload_notification_message">Neue Datei in das Dokument hochladen</string> <string name="upload_notification_message">Neue Datei in das Dokument hochladen</string>
<string name="upload_notification_error">Fehler beim Hochladen der neuen Datei</string> <string name="upload_notification_error">Fehler beim Hochladen der neuen Datei</string>
<string name="delete_file">Aktuelle Datei löschen</string> <string name="delete_file">Aktuelle Datei löschen</string>
@ -119,9 +119,9 @@
<string name="export_comments">Kommentare exportieren</string> <string name="export_comments">Kommentare exportieren</string>
<string name="export_metadata">Metadaten exportieren</string> <string name="export_metadata">Metadaten exportieren</string>
<string name="mm">mm</string> <string name="mm">mm</string>
<string name="download_file_title">Sismics Docs Datei Export</string> <string name="download_file_title">Teedy Datei Export</string>
<string name="download_document_title">Sismics Docs Dokumentenexport</string> <string name="download_document_title">Teedy Dokumentenexport</string>
<string name="download_pdf_title">Sismics Docs PDF Export</string> <string name="download_pdf_title">Teedy PDF Export</string>
<string name="latest_activity">Letzte Aktivität</string> <string name="latest_activity">Letzte Aktivität</string>
<string name="activity">Aktivitäten</string> <string name="activity">Aktivitäten</string>
<string name="email">E-Mail</string> <string name="email">E-Mail</string>

View File

@ -11,7 +11,7 @@
<!-- App --> <!-- App -->
<string name="drawer_open">Ouvrir le menu de navigation</string> <string name="drawer_open">Ouvrir le menu de navigation</string>
<string name="drawer_close">Fermer le menu de navigation</string> <string name="drawer_close">Fermer le menu de navigation</string>
<string name="login_explain"><![CDATA[Pour commencer, vous devez télécharger et installer le serveur Sismics Docs sur <a href="https://github.com/sismics/docs">github.com/sismics/docs</a> et entrer son URL ci-dessous]]></string> <string name="login_explain"><![CDATA[Pour commencer, vous devez télécharger et installer le serveur Teedy sur <a href="https://github.com/sismics/docs">github.com/sismics/docs</a> et entrer son URL ci-dessous]]></string>
<string name="server">Serveur</string> <string name="server">Serveur</string>
<string name="username">Nom d\'utilisateur</string> <string name="username">Nom d\'utilisateur</string>
<string name="password">Mot de passe</string> <string name="password">Mot de passe</string>
@ -83,7 +83,7 @@
<string name="file_delete_failure">Erreur réseau lors de la suppression du fichier</string> <string name="file_delete_failure">Erreur réseau lors de la suppression du fichier</string>
<string name="file_deleting_message">Suppression du fichier</string> <string name="file_deleting_message">Suppression du fichier</string>
<string name="error_reading_file">Erreur lors de la lecture du fichier</string> <string name="error_reading_file">Erreur lors de la lecture du fichier</string>
<string name="upload_notification_title">Sismics Docs</string> <string name="upload_notification_title">Teedy</string>
<string name="upload_notification_message">Envoi du nouveau fichier</string> <string name="upload_notification_message">Envoi du nouveau fichier</string>
<string name="upload_notification_error">Erreur lors de l\'envoi du nouveau fichier</string> <string name="upload_notification_error">Erreur lors de l\'envoi du nouveau fichier</string>
<string name="delete_file">Supprimer ce fichier</string> <string name="delete_file">Supprimer ce fichier</string>
@ -119,9 +119,9 @@
<string name="export_comments">Exporter les commentaires</string> <string name="export_comments">Exporter les commentaires</string>
<string name="export_metadata">Exporter les métadonnées</string> <string name="export_metadata">Exporter les métadonnées</string>
<string name="mm">mm</string> <string name="mm">mm</string>
<string name="download_file_title">Export de fichier Sismics Docs</string> <string name="download_file_title">Export de fichier Teedy</string>
<string name="download_document_title">Export de document Sismics Docs</string> <string name="download_document_title">Export de document Teedy</string>
<string name="download_pdf_title">Export PDF Sismics Docs</string> <string name="download_pdf_title">Export PDF Teedy</string>
<string name="latest_activity">Activité récente</string> <string name="latest_activity">Activité récente</string>
<string name="activity">Activité</string> <string name="activity">Activité</string>
<string name="email">E-mail</string> <string name="email">E-mail</string>

View File

@ -9,10 +9,10 @@
<string name="validate_error_alphanumeric">Only letters and numbers</string> <string name="validate_error_alphanumeric">Only letters and numbers</string>
<!-- App --> <!-- App -->
<string name="app_name" translatable="false">Sismics Docs</string> <string name="app_name" translatable="false">Teedy</string>
<string name="drawer_open">Open navigation drawer</string> <string name="drawer_open">Open navigation drawer</string>
<string name="drawer_close">Close navigation drawer</string> <string name="drawer_close">Close navigation drawer</string>
<string name="login_explain"><![CDATA[To start, you must download and install Sismics Docs Server on <a href="https://github.com/sismics/docs">github.com/sismics/docs</a> and enter its below]]></string> <string name="login_explain"><![CDATA[To start, you must download and install Teedy Server on <a href="https://github.com/sismics/docs">github.com/sismics/docs</a> and enter its below]]></string>
<string name="server">Server</string> <string name="server">Server</string>
<string name="username">Username</string> <string name="username">Username</string>
<string name="password">Password</string> <string name="password">Password</string>
@ -87,7 +87,7 @@
<string name="file_delete_failure">Network error while deleting the current file</string> <string name="file_delete_failure">Network error while deleting the current file</string>
<string name="file_deleting_message">Deleting file</string> <string name="file_deleting_message">Deleting file</string>
<string name="error_reading_file">Error while reading the file</string> <string name="error_reading_file">Error while reading the file</string>
<string name="upload_notification_title">Sismics Docs</string> <string name="upload_notification_title">Teedy</string>
<string name="upload_notification_message">Uploading the new file to the document</string> <string name="upload_notification_message">Uploading the new file to the document</string>
<string name="upload_notification_error">Error uploading the new file</string> <string name="upload_notification_error">Error uploading the new file</string>
<string name="delete_file">Delete current file</string> <string name="delete_file">Delete current file</string>
@ -123,9 +123,9 @@
<string name="export_comments">Export comments</string> <string name="export_comments">Export comments</string>
<string name="export_metadata">Export metadata</string> <string name="export_metadata">Export metadata</string>
<string name="mm">mm</string> <string name="mm">mm</string>
<string name="download_file_title">Sismics Docs file export</string> <string name="download_file_title">Teedy file export</string>
<string name="download_document_title">Sismics Docs document export</string> <string name="download_document_title">Teedy document export</string>
<string name="download_pdf_title">Sismics Docs PDF export</string> <string name="download_pdf_title">Teedy PDF export</string>
<string name="latest_activity">Latest activity</string> <string name="latest_activity">Latest activity</string>
<string name="activity">Activity</string> <string name="activity">Activity</string>
<string name="email">E-mail</string> <string name="email">E-mail</string>

View File

@ -1,12 +1,12 @@
<resources> <resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <style name="AppTheme" parent="Theme.AppCompat.DayNight">
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
</style> </style>
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar"> <style name="AppTheme.NoActionBar" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="windowActionBar">false</item> <item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item> <item name="windowNoTitle">true</item>
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
@ -14,7 +14,7 @@
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>
</style> </style>
<style name="AppThemeDark" parent="Theme.AppCompat.NoActionBar"> <style name="AppThemeDark" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item> <item name="colorAccent">@color/colorAccent</item>

View File

@ -22,9 +22,9 @@ public class DirectoryUtil {
*/ */
public static Path getBaseDataDirectory() { public static Path getBaseDataDirectory() {
Path baseDataDir = null; Path baseDataDir = null;
if (StringUtils.isNotBlank(EnvironmentUtil.getDocsHome())) { if (StringUtils.isNotBlank(EnvironmentUtil.getTeedyHome())) {
// If the docs.home property is set then use it // If the docs.home property is set then use it
baseDataDir = Paths.get(EnvironmentUtil.getDocsHome()); baseDataDir = Paths.get(EnvironmentUtil.getTeedyHome());
} else if (EnvironmentUtil.isUnitTest()) { } else if (EnvironmentUtil.isUnitTest()) {
// For unit testing, use a temporary directory // For unit testing, use a temporary directory
baseDataDir = Paths.get(System.getProperty("java.io.tmpdir")); baseDataDir = Paths.get(System.getProperty("java.io.tmpdir"));

View File

@ -124,11 +124,11 @@ public class EmailUtil {
// Application name // Application name
Config themeConfig = configDao.getById(ConfigType.THEME); Config themeConfig = configDao.getById(ConfigType.THEME);
String appName = "Sismics Docs"; String appName = "Teedy";
if (themeConfig != null) { if (themeConfig != null) {
try (JsonReader reader = Json.createReader(new StringReader(themeConfig.getValue()))) { try (JsonReader reader = Json.createReader(new StringReader(themeConfig.getValue()))) {
JsonObject themeJson = reader.readObject(); JsonObject themeJson = reader.readObject();
appName = themeJson.getString("name", "Sismics Docs"); appName = themeJson.getString("name", "Teedy");
} }
} }

View File

@ -15,7 +15,7 @@ public class EnvironmentUtil {
private static String MAC_OS_USER_HOME = System.getProperty("user.home"); private static String MAC_OS_USER_HOME = System.getProperty("user.home");
private static String DOCS_HOME = System.getProperty("docs.home"); private static String TEEDY_HOME = System.getProperty("docs.home");
/** /**
* In a web application context. * In a web application context.
@ -90,8 +90,8 @@ public class EnvironmentUtil {
* *
* @return Home directory * @return Home directory
*/ */
public static String getDocsHome() { public static String getTeedyHome() {
return DOCS_HOME; return TEEDY_HOME;
} }
/** /**

View File

@ -22,9 +22,9 @@ const prefs = new preferences('com.sismics.docs.importer',{
}); });
// Welcome message // Welcome message
console.log('Sismics Docs Importer 1.0.0, https://www.sismicsdocs.com' + console.log('Teedy Importer 1.0.0, https://teedy.io' +
'\n\n' + '\n\n' +
'This program let you import files from your system to Sismics Docs' + 'This program let you import files from your system to Teedy' +
'\n'); '\n');
// Ask for the base URL // Ask for the base URL
@ -33,7 +33,7 @@ const askBaseUrl = () => {
{ {
type: 'input', type: 'input',
name: 'baseUrl', name: 'baseUrl',
message: 'What is the base URL of your Docs? (eg. https://docs.mycompany.com)', message: 'What is the base URL of your Teedy? (eg. https://teedy.mycompany.com)',
default: prefs.importer.baseUrl default: prefs.importer.baseUrl
} }
]).then(answers => { ]).then(answers => {
@ -42,12 +42,12 @@ const askBaseUrl = () => {
// Test base URL // Test base URL
const spinner = ora({ const spinner = ora({
text: 'Checking connection to Docs', text: 'Checking connection to Teedy',
spinner: 'flips' spinner: 'flips'
}).start(); }).start();
request(answers.baseUrl + '/api/app', function (error, response) { request(answers.baseUrl + '/api/app', function (error, response) {
if (!response || response.statusCode !== 200) { if (!response || response.statusCode !== 200) {
spinner.fail('Connection to Docs failed: ' + error); spinner.fail('Connection to Teedy failed: ' + error);
askBaseUrl(); askBaseUrl();
return; return;
} }
@ -82,7 +82,7 @@ const askCredentials = () => {
// Test credentials // Test credentials
const spinner = ora({ const spinner = ora({
text: 'Checking connection to Docs', text: 'Checking connection to Teedy',
spinner: 'flips' spinner: 'flips'
}).start(); }).start();
request.post({ request.post({

View File

@ -1,7 +1,7 @@
{ {
"name": "docs-importer", "name": "teedy-importer",
"version": "1.5.1", "version": "1.5.1",
"description": "Import files to Sismics Docs", "description": "Import files to Teedy",
"bin": "main.js", "bin": "main.js",
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"

View File

@ -26,7 +26,7 @@ import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.ThreadLocalRandom;
/** /**
* Stress app for Sismics Docs. * Stress app for Teedy.
* *
* @author bgamard * @author bgamard
*/ */

View File

@ -82,7 +82,7 @@ public class ThemeResource extends BaseResource {
public Response get() { public Response get() {
JsonObject themeConfig = getThemeConfig(); JsonObject themeConfig = getThemeConfig();
JsonObjectBuilder json = Json.createObjectBuilder(); JsonObjectBuilder json = Json.createObjectBuilder();
json.add("name", themeConfig.getString("name", "Sismics Docs")); json.add("name", themeConfig.getString("name", "Teedy"));
json.add("color", themeConfig.getString("color", "#ffffff")); json.add("color", themeConfig.getString("color", "#ffffff"));
json.add("css", themeConfig.getString("css", "")); json.add("css", themeConfig.getString("css", ""));
return Response.ok().entity(json.build()).build(); return Response.ok().entity(json.build()).build();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -5,7 +5,7 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0" version="3.0"
metadata-complete="true"> metadata-complete="true">
<display-name>Docs</display-name> <display-name>Teedy</display-name>
<!-- Proper loader/unloader of ImageIO plugins --> <!-- Proper loader/unloader of ImageIO plugins -->
<listener> <listener>

View File

@ -1,4 +1,4 @@
The web client and Android application for **Sismics Docs** are only examples The web client and Android application for **Teedy** are only examples
of what is possible with the provided REST API. Everything you see in those apps are of what is possible with the provided REST API. Everything you see in those apps are
accessible using the API. accessible using the API.
@ -6,8 +6,8 @@ This documentation is divided in two parts. The first will get you started on es
steps like authentication and the second part is a full reference of every endpoints. steps like authentication and the second part is a full reference of every endpoints.
## API URL ## API URL
The base URL depends on your server. If your instance of Docs is accessible through The base URL depends on your server. If your instance of Teedy is accessible through
`https://docs.mycompany.com`, then the base API URL is `https://docs.mycompany.com/api`. `https://teedy.mycompany.com`, then the base API URL is `https://teedy.mycompany.com/api`.
## Verbs and status codes ## Verbs and status codes
The API uses restful verbs. The API uses restful verbs.

View File

@ -9,8 +9,8 @@
"url": "git://github.com/sismics/docs.git" "url": "git://github.com/sismics/docs.git"
}, },
"apidoc": { "apidoc": {
"name": "Sismics Docs API", "name": "Teedy API",
"title": "Sismics Docs API", "title": "Teedy API",
"url": "/api", "url": "/api",
"template": { "template": {
"withCompare": false, "withCompare": false,

View File

@ -1,7 +1,7 @@
'use strict'; 'use strict';
/** /**
* Sismics Docs application. * Teedy application.
*/ */
angular.module('docs', angular.module('docs',
// Dependencies // Dependencies

View File

@ -29,7 +29,7 @@ angular.module('docs').controller('SettingsConfig', function($scope, $rootScope,
// Update the theme // Update the theme
$scope.update = function () { $scope.update = function () {
$scope.theme.name = $scope.theme.name.length === 0 ? 'Sismics Docs' : $scope.theme.name; $scope.theme.name = $scope.theme.name.length === 0 ? 'Teedy' : $scope.theme.name;
Restangular.one('theme').post('', $scope.theme).then(function () { Restangular.one('theme').post('', $scope.theme).then(function () {
var stylesheet = $('#theme-stylesheet')[0]; var stylesheet = $('#theme-stylesheet')[0];
stylesheet.href = stylesheet.href.replace(/\?.*|$/, '?' + new Date().getTime()); stylesheet.href = stylesheet.href.replace(/\?.*|$/, '?' + new Date().getTime());

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html ng-app="docs"> <html ng-app="docs">
<head> <head>
<title ng-bind-template="{{ pageTitle ? pageTitle : appName }}">Sismics Docs</title> <title ng-bind-template="{{ pageTitle ? pageTitle : appName }}">Teedy</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@ -121,15 +121,11 @@
<span class="icon-bar"></span> <span class="icon-bar"></span>
</button> </button>
<div class="hidden-xs navbar-text navbar-logo">
<img src="../api/theme/image/logo" />
</div>
<a class="navbar-brand" href="#"> <a class="navbar-brand" href="#">
<span ng-if="appName == 'Sismics Docs'"> <span ng-if="appName == 'Teedy'">
<span style="color: #e43935;">Sismics</span> <span style="color: #2aabd2;">Docs</span> <span style="color: #2aabd2;">teedy</span>
</span> </span>
<span ng-if="appName != 'Sismics Docs'" style="color: #888;">{{ appName }}</span> <span ng-if="appName != 'Teedy'" style="color: #888;">{{ appName }}</span>
</a> </a>
</div> </div>

View File

@ -1,7 +1,7 @@
/**! /**!
* ======================================================================= * ================================================================
* Sismics Docs patch applied to encode filenames with encodeURIComponent. * Teedy patch applied to encode filenames with encodeURIComponent.
* ======================================================================= * ================================================================
* *
* AngularJS file upload directives and services. Supoorts: file upload/drop/paste, resume, cancel/abort, * AngularJS file upload directives and services. Supoorts: file upload/drop/paste, resume, cancel/abort,
* progress, resize, thumbnail, preview, validation and CORS * progress, resize, thumbnail, preview, validation and CORS

View File

@ -466,9 +466,9 @@
}, },
"feedback": { "feedback": {
"title": "Geben Sie uns Feedback", "title": "Geben Sie uns Feedback",
"message": "Irgendwelche Vorschläge oder Fragen zu Sismics Docs? Wir hören Ihnen gerne zu!", "message": "Irgendwelche Vorschläge oder Fragen zu Teedy? Wir hören Ihnen gerne zu!",
"sent_title": "Feedback gesendet", "sent_title": "Feedback gesendet",
"sent_message": "Vielen Dank für Ihr Feedback! Es wird uns helfen, Sismics Docs noch besser zu machen." "sent_message": "Vielen Dank für Ihr Feedback! Es wird uns helfen, Teedy noch besser zu machen."
}, },
"import": { "import": {
"title": "Wird importiert", "title": "Wird importiert",

View File

@ -471,9 +471,9 @@
}, },
"feedback": { "feedback": {
"title": "Give us a feedback", "title": "Give us a feedback",
"message": "Any suggestion or question about Sismics Docs? We listen to you!", "message": "Any suggestion or question about Teedy? We listen to you!",
"sent_title": "Feedback sent", "sent_title": "Feedback sent",
"sent_message": "Thank you for your feedback! It will help us make Sismics Docs even better." "sent_message": "Thank you for your feedback! It will help us make Teedy even better."
}, },
"import": { "import": {
"title": "Importing", "title": "Importing",
@ -567,11 +567,11 @@
"onboarding": { "onboarding": {
"step1": { "step1": {
"title": "First time?", "title": "First time?",
"description": "If it's your first time on Sismics Docs, click the Next button, otherwise feel free to close me." "description": "If it's your first time on Teedy, click the Next button, otherwise feel free to close me."
}, },
"step2": { "step2": {
"title": "Documents", "title": "Documents",
"description": "Sismics Docs is organized in documents and each document contains multiple files." "description": "Teedy is organized in documents and each document contains multiple files."
}, },
"step3": { "step3": {
"title": "Files", "title": "Files",

View File

@ -471,9 +471,9 @@
}, },
"feedback": { "feedback": {
"title": "Donnez-nous votre avis", "title": "Donnez-nous votre avis",
"message": "Vous avez des suggestions ou des questions à propos de Sismics Docs ? Nous vous écoutons !", "message": "Vous avez des suggestions ou des questions à propos de Teedy ? Nous vous écoutons !",
"sent_title": "Avis envoyé", "sent_title": "Avis envoyé",
"sent_message": "Merci pour votre avis ! Cela nous aidera à améliorer Sismics Docs." "sent_message": "Merci pour votre avis ! Cela nous aidera à améliorer Teedy."
}, },
"import": { "import": {
"title": "Import en cours", "title": "Import en cours",
@ -567,11 +567,11 @@
"onboarding": { "onboarding": {
"step1": { "step1": {
"title": "Première fois ici ?", "title": "Première fois ici ?",
"description": "Si vous utilisez Sismics Docs pour la première fois, cliquez sur le bouton Suivant. Sinon, n'hésitez pas à me fermer." "description": "Si vous utilisez Teedy pour la première fois, cliquez sur le bouton Suivant. Sinon, n'hésitez pas à me fermer."
}, },
"step2": { "step2": {
"title": "Documents", "title": "Documents",
"description": "Sismics Docs est organisé en documents et chaque document contient plusieurs fichiers." "description": "Teedy est organisé en documents et chaque document contient plusieurs fichiers."
}, },
"step3": { "step3": {
"title": "Fichiers", "title": "Fichiers",

View File

@ -404,9 +404,9 @@
}, },
"feedback": { "feedback": {
"title": "Оставьте нам ваше мнение", "title": "Оставьте нам ваше мнение",
"message": "Любое предложение или вопрос о Sismics Docs? Мы слушаем вас!", "message": "Любое предложение или вопрос о Teedy? Мы слушаем вас!",
"sent_title": "Обратная связь отправлена", "sent_title": "Обратная связь отправлена",
"sent_message": "Спасибо за ваш отзыв! Это поможет нам улучшить работу Sismics Docs." "sent_message": "Спасибо за ваш отзыв! Это поможет нам улучшить работу Teedy."
}, },
"import": { "import": {
"title": "Импорт", "title": "Импорт",

View File

@ -404,9 +404,9 @@
}, },
"feedback": { "feedback": {
"title": "欢迎提供反馈意见", "title": "欢迎提供反馈意见",
"message": "您是否对Sismics Docs有任何建议或疑问?我们愿意倾听您的反馈意见!", "message": "您是否对Teedy有任何建议或疑问?我们愿意倾听您的反馈意见!",
"sent_title": "反馈意见已发送", "sent_title": "反馈意见已发送",
"sent_message": "非常感谢您的反馈意见!这将帮我们进一步改进Sismics Docs从而更好的为您提供服务。" "sent_message": "非常感谢您的反馈意见!这将帮我们进一步改进Teedy从而更好的为您提供服务。"
}, },
"import": { "import": {
"title": "输入", "title": "输入",

View File

@ -404,9 +404,9 @@
}, },
"feedback": { "feedback": {
"title": "歡迎提供反饋意見", "title": "歡迎提供反饋意見",
"message": "對Sismics Docs文檔管理系統有任何建議或疑問?我們靜候您的反饋意見!", "message": "對Teedy文檔管理系統有任何建議或疑問?我們靜候您的反饋意見!",
"sent_title": "反饋已發送", "sent_title": "反饋已發送",
"sent_message": "感謝您的反饋意見!這將幫助我們進一步優化Sismics Docs文檔管理系統以便更好的為您提供服務。" "sent_message": "感謝您的反饋意見!這將幫助我們進一步優化Teedy文檔管理系統以便更好的為您提供服務。"
}, },
"import": { "import": {
"title": "輸入", "title": "輸入",

View File

@ -1,6 +1,6 @@
{ {
"name": "Sismics Docs", "name": "Teedy",
"short_name": "Sismics Docs", "short_name": "Teedy",
"theme_color": "#2ab2dc", "theme_color": "#2ab2dc",
"background_color": "#ffffff", "background_color": "#ffffff",
"display": "standalone", "display": "standalone",

View File

@ -22,7 +22,7 @@
<div class="row mt-30 mb-19" ng-if="secret"> <div class="row mt-30 mb-19" ng-if="secret">
<div class="col-sm-3"> <div class="col-sm-3">
<p translate="settings.security.secret_key" translate-values="{ secret: secret }"></p> <p translate="settings.security.secret_key" translate-values="{ secret: secret }"></p>
<qrcode data="otpauth://totp/Sismics%20Docs?secret={{ secret }}" size="200"></qrcode> <qrcode data="otpauth://totp/Teedy?secret={{ secret }}" size="200"></qrcode>
<p class="text-danger"> <p class="text-danger">
<strong>{{ 'settings.security.secret_key_warning' | translate }}</strong> <strong>{{ 'settings.security.secret_key_warning' | translate }}</strong>
</p> </p>

View File

@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html ng-app="share"> <html ng-app="share">
<head> <head>
<title ng-bind-template="{{ appName }}">Sismics Docs</title> <title ng-bind-template="{{ appName }}">Teedy</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@ -49,11 +49,12 @@
<body translate-cloak ng-cloak> <body translate-cloak ng-cloak>
<div class="navbar navbar-inverse" role="navigation"> <div class="navbar navbar-inverse" role="navigation">
<div class="navbar-header"> <div class="navbar-header">
<div class="hidden-xs navbar-text navbar-logo"> <a class="navbar-brand" href="#">
<img src="../api/theme/image/logo" /> <span ng-if="appName == 'Teedy'">
</div> <span style="color: #2aabd2;">teedy</span>
</span>
<a class="navbar-brand" href="#"> {{ appName }}</a> <span ng-if="appName != 'Teedy'" style="color: #888;">{{ appName }}</span>
</a>
</div> </div>
</div> </div>

View File

@ -678,7 +678,8 @@ input[readonly].share-link {
} }
.navbar-brand { .navbar-brand {
font-weight: 500; font-weight: 600;
font-family: "Open Sans", sans-serif;
} }
.nav > li { .nav > li {

View File

@ -37,7 +37,7 @@ public class TestThemeResource extends BaseJerseyTest {
// Get the theme configuration anonymously // Get the theme configuration anonymously
JsonObject json = target().path("/theme").request() JsonObject json = target().path("/theme").request()
.get(JsonObject.class); .get(JsonObject.class);
Assert.assertEquals("Sismics Docs", json.getString("name")); Assert.assertEquals("Teedy", json.getString("name"));
Assert.assertEquals("#ffffff", json.getString("color")); Assert.assertEquals("#ffffff", json.getString("color"));
Assert.assertEquals("", json.getString("css")); Assert.assertEquals("", json.getString("css"));