Releases: nus-mtp/sashimi-note
Scroll sync, iOS fix, webworker
1. File Manager
- User can now view the Features list from https://sashimi-note.herokuapp.com/features
- Fixed iOS double click not begin registered. #391
- Fixed iPhone SE / iPhone 5 layout not being displayed properly #391
- Added nudging on rename text field when there is an error #396
2. Content
- Added a basic scroll sync support for all view mode (Slides, Pages, HTML) #393
- Wrap markdown-it parsing and rendering into a web worker thread. #377
Markdown parsing will not hung up the UI anymore. - Enhance performance of rendering diagrams slightly #388
3. Database
- Adding of default features.md text on first creation
- Fixed rename of folder path
- DateTime is changed to long format
Sashimi Note v0.1.5 marks the final release for NUS CS3284.
Improved UI, ASCII Math, better support for mobile
1. File manager
1.1 More consistent and better UI
Many elements such as buttons, logo and input field are now aligned correctly.
1.2 Grid Views
1.3 Improved UI for mobile
The user interface on the mobile view are less cluttered.
File manager | Editor | Viewer |
---|---|---|
1.4 More features
-
File manager will now properly display the folder path.
Clicking on the path name will navigate you to the respective folder. -
The folder id in the url will now be correctly resolved. e.g.
https://sashimi-note.herokuapp.com/?folder=1
will navigate you
to folder with the id 1. -
An empty folder will show a sad sashimi to tell you there is nothing inside.
Check it out! -
Subtle animation is added to the folders and files when they first come into view.
-
List view will automatically be display on mobile view
2. Content
2.1 More markdown features
2.1.1 Support for ASCII Math #354
```math
1+1=2
a^2 + b^2 = c^2
P(A | B) = (P(B | A)P(A)) / P(B)
varphi = int_0^10 x^2 dx
```
2.1.2 Create Diagrams with markdown
Added diagram supports for js-sequence, flowchart.js, graphviz, mermaid.
js-sequence
flowchart.js
graphviz
mermaid
2.2 Improved user interface
- Split screen mode for editor and viewer mode is not disabled for mobile view (screen < 768px)
- Added indication to which view mode you are currently in (highlighted in orange)
2.3. Reworked the implementation behind View component
- The viewer components (Slide, Pages, HTML) are now wrapped inside an
iframe
#346 - Styling of the document no longer affect the entire application.
- Printing is re-implemented and can be enabled wtih
CTRL + P
- Document in Slides mode can now be navigated with arrow keys
3. Database
- New file that get created no longer has a '.md' file extension
- SQL statement injection is now handled
- Fix deleting of folders
- Renaming of folders and files are allowed
4. Development
File manager is here!
1. Persistence Storage with indexedDB
- refreshing the page will not make you lose your data
- In-browser storage in IndexedDB (your data are stored locally in your browser only)
2. Search is now supported
2.1 Support partial search
- Search with
A..Z
a..z
0..9
or even other characters like in Chinese搜寻
2.2 Support 'SQL-syntax' search
- Search with
%
to represent keywords of any length ie.apple%bear
will return search forapplebear
,apple123bear
,applecarebear
...etc - search with
_
to represent unknown keyword of length 1. ie.apple_
will return search forapple1
,applebear
but NOTapple
3. Additional features
Pan, zoom and scroll on Pages, touch support, styling with CSS
1. Pan and zoom in Pages and Slides view
Click on the image to see the animation- Pages and Slides view now support panning and zooming with mouse or touchscreen.
- Pages and Slides view will automatically be resized on app launched and after a window resized.
- Panning and zooming with mouse / touch input support inertia (done with Interact.js)
2. Styling with CSS
CSS can now be written inside a <style>
tag or using in-line styling on the element itself. You will now have better control over the styling of your own documents with CSS.
3. More intelligent auto page breaking mechanism
Page break will be created using the 4 conditions below:
3.1 Starting of new topic/chapter
- We will denote the presense of <H1> tag as start of new topic/chapter
- then apply page break before all <H1> tag.
3.2 If a header tag is located at the bottom of the page
- We will denote the area located within 18% at the bottom of the page to be the "bottom"
- Any headers that is located within this region will be pushed to the next page.
3.3 If a header tag is the last element in a page, it will be moved to the next page
3.4. When the user manually write <br page>
.
New UI, more markdown features, Pages and Slide mode
1. Refreshed UI
- includes favicon, logo and themes for the webapp
- includes UI for the file manager (to be expanded in the next milestone)
- includes new styling for editor and viewer
- includes an interactive editor and viewer
- different view mode is available
edit
,edit and view
,view only
- different view mode is available
2. Viewer
2.1 Features
- includes syntax highlighting for code block #187
- includes support for Katex Math rendering #187
- includes XSS filtering for the HTML generated on the Viewer #187
2.2 Conditional rendering
- includes conditional rendering capability. try typing
- Inline mode
=>hide Answer: 42 <=
- Block mode
-
fileName:tutorial The answer for question A ==>hide:tutorial $= 12.4 ms$ <==
- for detailed implementation see #196
- Inline mode
2.3 Page renderer
- includes Pages and Slides mode where the HTML is paginated into paper size (A4 and Screen) #199
- includes capability to print the Pages document via the native browser's print dialog box #199
- includes page break before heading H1 and H2
- includes
<pagebreak>
for user to manually add page break in Pages mode