Skip to content

Commit

Permalink
ground base
Browse files Browse the repository at this point in the history
  • Loading branch information
XilinJia committed Dec 16, 2023
1 parent 9ac03d6 commit 2ca64ee
Show file tree
Hide file tree
Showing 136 changed files with 1,649 additions and 3,995 deletions.
26 changes: 13 additions & 13 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ There are also a few forks of existing packages under the "fork-*" name.

## Required dependencies

- Install Node 16+. On Windows, also install the build tools - https://nodejs.org/en/
- Install Node 16+. On Windows, also install the build tools - <https://nodejs.org/en/>
- [Enable Yarn](https://yarnpkg.com/getting-started/install): `corepack enable`
- macOS: Install Cocoapods - `brew install cocoapods`. Apple Silicon [may require libvips](https://github.com/XilinJia/Xilinota/pull/5966#issuecomment-1007158597) - `brew install vips`.
- Linux: Install dependencies - `sudo apt install build-essential libnss3 libsecret-1-dev python rsync`
Expand All @@ -29,55 +29,55 @@ Make sure the path to the project directory does not contain spaces or the build

Before doing anything else, from the root of the project, run:

yarn install
yarn install

Then you can test the various applications:

## Testing the desktop application

cd packages/app-desktop
yarn start
cd packages/app-desktop
yarn start

You can also run it under WSL 2. To do so, [follow these instructions](https://www.beekeeperstudio.io/blog/building-electron-windows-ubuntu-wsl2) to setup your environment.

## Testing the Terminal application

cd packages/app-cli
yarn start
cd packages/app-cli
yarn start

## Testing the Mobile application

First you need to setup React Native to build projects with native code. For this, follow the instructions in the [Setting up the development environment](https://reactnative.dev/docs/environment-setup) tutorial, in the "React Native CLI Quickstart" tab.

Then, for **Android**:

cd packages/app-mobile/android
./gradlew installDebug # or gradlew.bat installDebug on Windows
cd packages/app-mobile/android
./gradlew installDebug # or gradlew.bat installDebug on Windows

On **iOS**, open the file `ios/Xilinota.xcworkspace` on XCode and run the app from there.

Normally the **bundler** should start automatically with the application. If it doesn't, run `yarn start` from `packages/app-mobile`.

## Building the clipper

cd packages/app-clipper/popup
npm run watch # To watch for changes
cd packages/app-clipper/popup
npm run watch # To watch for changes

To test the extension please refer to the relevant pages for each browser: [Firefox](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Your_first_WebExtension#Trying_it_out) / [Chrome](https://developer.chrome.com/docs/extensions/mv3/getstarted/). Please note that the extension in dev mode will only connect to a dev instance of the desktop app (and vice-versa).

## Watching files

To make changes to the application, you'll need to rebuild any TypeScript file you've changed. The simplest way to do this is to watch for changes from the root of the project. Simply run this command, and it should take care of the rest:

yarn run watch
yarn run watch

Running `yarn run tsc` would have the same effect, but without watching.

## Running an application with additional parameters

You can specify additional parameters when running the desktop or CLI application. To do so, add `--` to the `yarn start` command, followed by your flags. For example:

yarn start --debug
yarn start --debug

## TypeScript

Expand All @@ -100,4 +100,4 @@ It still requires you to quit the application each time you want it to rebuild,

# Troubleshooting

Please read for the [Build Troubleshooting Document](https://github.com/XilinJia/Xilinota/blob/dev/readme/build_troubleshooting.md) for various tips on how to get the build working.
Please read for the [Build Troubleshooting Document](https://github.com/XilinJia/Xilinota/blob/main/readme/build_troubleshooting.md) for various tips on how to get the build working.
10 changes: 5 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Xilinota is available in multiple languages thanks to the help of its users. You

# Contributing to Xilinota's code

If you want to start contributing to the project's code, please follow these guidelines before creating a pull request:
If you want to start contributing to the project's code, please follow these guidelines before creating a pull request:

- The top post of the pull request should contain a full, self-contained explanation of the feature: what it does, how it does it, with examples of usage and screenshots. Also explain why you want to add this - what problem does it solve. Do not simply add a text `Implement feature #4345` or link to forum posts, because the information there will most likely be outdated or confusing (multiple discussions and opinions). The pull request needs to be self-contained.
- Bug fixes are always welcome. Start by reviewing the [list of bugs](https://github.com/XilinJia/Xilinota/issues?q=is%3Aissue+is%3Aopen+label%3Abug)
Expand All @@ -40,11 +40,11 @@ If you want to start contributing to the project's code, please follow these gui
- Pull requests that address multiple issues will most likely stall and eventually be closed. This is because we might be fine with one of the changes but not with others and untangling that kind of pull request is too much hassle both for maintainers and the person who submitted it. So most of the time someone gives up and the PR gets closed. So please keep the pull request focused on one issue.
- **Do not mark your reviewer's comments as "resolved"**. If you do that, the comments will be hidden and the reviewer will not know what are the pending issues in the pull request. Only the reviewer should resolve the comments.

Building the apps is relatively easy - please [see the build instructions](https://github.com/XilinJia/Xilinota/blob/dev/BUILD.md) for more details.
Building the apps is relatively easy - please [see the build instructions](https://github.com/XilinJia/Xilinota/blob/main/BUILD.md) for more details.

## Signing the Individual Contributor License Agreement

All contributors to the project must sign our [Individual Contributor License Agreement](https://github.com/XilinJia/Xilinota/blob/dev/readme/cla.md).
All contributors to the project must sign our [Individual Contributor License Agreement](https://github.com/XilinJia/Xilinota/blob/main/readme/cla.md).

## Coding style

Expand Down Expand Up @@ -89,11 +89,11 @@ To add a test, simply create a new file with an extension `.test.ts` in the same

### Setting the testing environment

Many utility functions are available under the package `@xilinota/lib/testing/test-utils`. Have a look for example at [Note.test.ts](https://github.com/XilinJia/Xilinota/blob/dev/packages/lib/models/Note.test.ts) to see how to setup test units with database support and synchroniser support. Note that this is not needed for all tests - if you just have a simple functions to test you won't need that extra setup.
Many utility functions are available under the package `@xilinota/lib/testing/test-utils`. Have a look for example at [Note.test.ts](https://github.com/XilinJia/Xilinota/blob/main/packages/lib/models/Note.test.ts) to see how to setup test units with database support and synchroniser support. Note that this is not needed for all tests - if you just have a simple functions to test you won't need that extra setup.

### Testing React Hooks

To test React Hooks please use the package `@testing-library/react-hooks`. See [useLayoutItemSizes.test.ts](https://github.com/XilinJia/Xilinota/blob/dev/packages/app-desktop/gui/ResizableLayout/utils/useLayoutItemSizes.test.ts) for an example.
To test React Hooks please use the package `@testing-library/react-hooks`. See [useLayoutItemSizes.test.ts](https://github.com/XilinJia/Xilinota/blob/main/packages/app-desktop/gui/ResizableLayout/utils/useLayoutItemSizes.test.ts) for an example.

### If it is not possible to add tests

Expand Down
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![](./Assets/XilinotaLogoBlue.png)

<img width="100" src="https://raw.githubusercontent.com/xilinjia/xilinota/dev/Assets/LinuxIcons/256x256.png" align="left" style="margin-right:15px"/>
<img width="100" src="https://raw.githubusercontent.com/xilinjia/xilinota/main/Assets/LinuxIcons/256x256.png" align="left" style="margin-right:15px"/>

is a free and open source (FOSS) note-taking and to-do project delivering applications running on multiple platforms (Linux, Windows, MacOS, Android, and iOS), capable of handling large number of notes organised in notebooks, and syncing notes across the platforms in various ways.

Expand All @@ -12,15 +12,15 @@ The aim of this project is to extend and enhance features in various directions,

Majority of notable features from Joplin remain, including importing notes from various other software like Evernote, saving web-pages from a web-clipper, working with notes in standard markdown format, using links with anything possible, full-text searching, extending with community plugins and themes.

To know more about Joplin, refer to https://joplinapp.org/
To know more about Joplin, refer to <https://joplinapp.org/>

## To start

You can install the app and run it afresh, or, as it's compatible with Joplin's database, you may also choose with continue with what you have in Joplin. To do that, simply copy and rename the two config directories under (on Linux) ~/.config to Xilinota and xilinota-desktop, respectively.

## New feature #1: Notes and markdown files

The central belief of this feature is that the notes are valuable properties of yours, likely an extension of your mind. Xilinota keeps the notes and notebooks in a straight-forward file structure, with notes stored in markdown files each having the title as the file name. The files and folders are maintained up-to-date with the internal database. This gives you better access to and use of your notes outside of Xilinota. You can create, add, edit, or delete the files with your favorite tools on your system, and the content of these files will be synced into Xilinota when you start it. And, in any case when you change your mind about the choice of applications, the notes are in text form and you can easily adopt new ways of management.
The central belief of this feature is that the notes are valuable properties of yours, likely an extension of your mind. Xilinota keeps the notes and notebooks in a straight-forward file structure, with notes stored in markdown files each having the title as the file name. The files and folders are maintained up-to-date with the internal database. This gives you better access to and use of your notes outside of Xilinota. You can create, add, edit, or delete the files with your favorite tools on your system, and the content of these files will be synced into Xilinota when you start it. And, in any case when you change your mind about the choice of applications, the notes are in text form and you can easily adopt new ways of management.

#### Disktop application

Expand Down Expand Up @@ -86,7 +86,6 @@ Embedded resources (images) are not sent or synced. I plan to do on-demand-tran

Sending notes (and sending notebooks from mobile) are to all connected devices at the moment. So if you want to send to a specific device now, ensure that Xilinota is not running on other devices.


## Other notable new features

### Virtual notebooks
Expand Down Expand Up @@ -119,8 +118,6 @@ I've tested the apps on Linux and Android. I don't have executables built for M

## Special note

This project is re-branded on 11/14/2023. Nomenclatures described above will appear in newer uploads. Existing files uploaded before this re-branding still bear those of Joplin.

Due to mass renaming (as Joplin is a trademarked name) in the re-branding, some links might become invalid. Those will be gradually repaired.
This project is re-branded on 11/14/2023. Due to mass renaming (as Joplin is a trademarked name) in the re-branding, some links might become invalid. Those will be gradually repaired.

As this is a fork from Joplin with substantial new development, it's imaginable that the organization of Joplin does not provide any assistance on issues related to this project.
As this is a fork from Joplin with substantial new development, it's imaginable that the organization of Joplin does not provide any assistance on issues related to this project.
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Only the latest version is supported with security updates.

## Reporting a Vulnerability

Please [contact support](https://raw.githubusercontent.com/xilinjia/xilinota/dev/Assets/AdresseSupport.png) **with a proof of concept** that shows the security vulnerability. Please do not contact us without this proof of concept, as we cannot fix anything without this.
Please [contact support](https://raw.githubusercontent.com/xilinjia/xilinota/main/Assets/AdresseSupport.png) **with a proof of concept** that shows the security vulnerability. Please do not contact us without this proof of concept, as we cannot fix anything without this.

For general opinions on what makes an app more or less secure, please use the forum.

Expand Down
2 changes: 1 addition & 1 deletion packages/app-cli/app/command-apidoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class Command extends BaseCommand {
lines.push('');
lines.push('In the documentation below, the token will not be specified every time however you will need to include it.');
lines.push('');
lines.push('If needed you may also [request the token programmatically](https://github.com/XilinJia/Xilinota/blob/dev/readme/spec/clipper_auth.md)');
lines.push('If needed you may also [request the token programmatically](https://github.com/XilinJia/Xilinota/blob/main/readme/spec/clipper_auth.md)');
lines.push('');

lines.push('# Using the API');
Expand Down
4 changes: 2 additions & 2 deletions packages/app-cli/tests/support/pluginRepo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This is the official Xilinota Plugin Repository

## Installation

To install any of these plugins, open the desktop application, then go to the "Plugins" section in the [Configuration screen](https://github.com/XilinJia/Xilinota/blob/dev/readme/config_screen.md). You can then search for any plugin and install it from there.
To install any of these plugins, open the desktop application, then go to the "Plugins" section in the [Configuration screen](https://github.com/XilinJia/Xilinota/blob/main/readme/config_screen.md). You can then search for any plugin and install it from there.

## Plugins

Expand All @@ -18,7 +18,7 @@ This repository contains the following plugins:
[🏠](https://github.com/JackGruber/joplin-plugin-copytags) | Copy Tags | 0.3.2 | Plugin to extend the Xilinota tagging menu with a coppy all tags and tagging list with more control. | JackGruber
[🏠](https://discourse.xilinotaapp.org/t/go-to-note-tag-or-notebook-via-highlighting-text-in-editor/12731) | Create and go to #tags and @notebooks | 1.3.4 | Go to tag,notebook or note via links or via text | a
[🏠](https://github.com/benji300/xilinota-favorites) | Favorites | 1.0.0 | Save any notebook, note, to-do, tag, or search as favorite in an extra panel view for quick access. (v1.0.0) | Benji300
[🏠](https://github.com/XilinJia/Xilinota/tree/dev/packages/plugins/ToggleSidebars) | Note list and side bar toggle buttons | 1.0.2 | Adds buttons to toggle note list and sidebar | Laurent Cozic
[🏠](https://github.com/XilinJia/Xilinota/tree/main/packages/plugins/ToggleSidebars) | Note list and side bar toggle buttons | 1.0.2 | Adds buttons to toggle note list and sidebar | Laurent Cozic
[🏠](https://github.com/JackGruber/joplin-plugin-note-overview) | Note overview | 1.0.0 | A note overview is created based on the defined search and the specified fields | JackGruber
[🏠](https://github.com/benji300/xilinota-note-tabs) | Note Tabs | 1.1.1 | Allows to open several notes at once in tabs and pin them. (v1.1.1) | Benji300
[🏠](https://github.com/JackGruber/joplin-plugin-backup) | Simple Backup | 0.3.0 | Plugin to create manual and automatic backups | JackGruber
Expand Down
4 changes: 2 additions & 2 deletions packages/app-cli/tests/support/pluginRepo/manifests.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
"name": "Note list and side bar toggle buttons",
"description": "Adds buttons to toggle note list and sidebar",
"author": "Laurent Cozic",
"homepage_url": "https://github.com/XilinJia/Xilinota/tree/dev/packages/plugins/ToggleSidebars",
"repository_url": "https://github.com/XilinJia/Xilinota/tree/dev/packages/plugins/ToggleSidebars",
"homepage_url": "https://github.com/XilinJia/Xilinota/tree/main/packages/plugins/ToggleSidebars",
"repository_url": "https://github.com/XilinJia/Xilinota/tree/main/packages/plugins/ToggleSidebars",
"_publish_hash": "sha256:e0d833b7ef1bb8f02ee4cb861ef1989621358c45a5614911071302dc0527a3b4",
"_publish_commit": "dev:1b5b2342fc25717b77ad9f1627c1a334e5bbae54",
"_npm_package_name": "@xilinota/joplin-plugin-toggle-sidebars"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"name": "Note list and side bar toggle buttons",
"description": "Adds buttons to toggle note list and sidebar",
"author": "Laurent Cozic",
"homepage_url": "https://github.com/XilinJia/Xilinota/tree/dev/packages/plugins/ToggleSidebars",
"repository_url": "https://github.com/XilinJia/Xilinota/tree/dev/packages/plugins/ToggleSidebars",
"homepage_url": "https://github.com/XilinJia/Xilinota/tree/main/packages/plugins/ToggleSidebars",
"repository_url": "https://github.com/XilinJia/Xilinota/tree/main/packages/plugins/ToggleSidebars",
"_publish_hash": "sha256:e0d833b7ef1bb8f02ee4cb861ef1989621358c45a5614911071302dc0527a3b4",
"_publish_commit": "dev:1b5b2342fc25717b77ad9f1627c1a334e5bbae54",
"_npm_package_name": "@xilinota/joplin-plugin-toggle-sidebars"
Expand Down
4 changes: 2 additions & 2 deletions packages/doc-builder/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ const config = {
sidebarPath: require.resolve('./sidebars.js'),
breadcrumbs: false,
editUrl: (params) => {
return `https://github.com/XilinJia/Xilinota/tree/dev/readme/${params.docPath}`;
return `https://github.com/XilinJia/Xilinota/tree/main/readme/${params.docPath}`;
},
},
blog: {
Expand All @@ -59,7 +59,7 @@ const config = {
path: 'news',
routeBasePath: 'news',
editUrl: (params) => {
return `https://github.com/XilinJia/Xilinota/tree/dev/readme/news/${params.blogPath}`;
return `https://github.com/XilinJia/Xilinota/tree/main/readme/news/${params.blogPath}`;
},
},
theme: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Pod::Spec.new do |s|
s.description = <<-DESC
react-native-alarm-notification
DESC
s.homepage = "https://github.com/XilinJia/Xilinota/tree/dev/packages/react-native-alarm-notification"
s.homepage = "https://github.com/XilinJia/Xilinota/tree/main/packages/react-native-alarm-notification"
s.license = { :type => "MIT", :file => "LICENSE" }
s.authors = { "Chukwuemeka Ihedoro" => "[email protected]" }
s.platforms = { :ios => "9.0" }
Expand Down
2 changes: 1 addition & 1 deletion packages/react-native-saf-x/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"repository": "https://github.com/jd1378/react-native-saf-x",
"author": "Javad Mnjd (https://github.com/jd1378)",
"license": "AGPL-3.0-or-later",
"homepage": "https://github.com/XilinJia/Xilinota/tree/dev/packages/react-native-saf-x",
"homepage": "https://github.com/XilinJia/Xilinota/tree/main/packages/react-native-saf-x",
"publishConfig": {
"access": "public"
},
Expand Down
2 changes: 1 addition & 1 deletion packages/renderer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "@xilinota/renderer",
"version": "2.13.1",
"description": "The Xilinota note renderer, used the mobile and desktop application",
"repository": "https://github.com/XilinJia/Xilinota/tree/dev/packages/renderer",
"repository": "https://github.com/XilinJia/Xilinota/tree/main/packages/renderer",
"main": "index.js",
"types": "index.d.ts",
"publishConfig": {
Expand Down
Loading

0 comments on commit 2ca64ee

Please sign in to comment.