xy2z / pinedocs Goto Github PK
View Code? Open in Web Editor NEWA fast and lightweight site for viewing files
License: GNU General Public License v3.0
A fast and lightweight site for viewing files
License: GNU General Public License v3.0
When creating a folder with a name like .test
it should not be listed on the left side but should be accessible through a direct link.
if config.yaml doesn't exist, php should create it by copying config-example.yaml to config.yaml
public/index.md should contain a welcome and more detailed setup guide. And tips (ex. F key is for searching)
content/* should be gitignored
Update readme setup guide, skip the config steps.
Merge settings, since no setting no longer is required. Config-example.yaml, readme and code.
with --dev
with level 4 or 5.
When browsing to a new file, the browsing position on the file should be saved in JS (not cookies) so when the user clicks back to the file, it is at the same scroll position.
Should also work when using the browsers back/forward navigation.
Make 2 new logos, 1 for light background and 1 for dark background.
The shadow doesn't look cool :)
Also find a new font...
Right now it's only filenames
Or cannot be read. Right now it's just php error messages.
Add a example config for apache2 in the /examples
dir.
Since docker hub autobuild is disabled on master branch after the price changes, we dont need the develop branch, its easier to just focus on the master branch, and then manually build images on each release in docker hub from the master branch.
Make a Dockerfile
Find images correctly with a relative path to render the image correctly in markdown.
Example:
┌────────────────────────────┐
│ │
│ # Here an image │
│ ![Image](Folder1/pic.png)│
│ │
Root └────────┬───────────────────┘
│ │
│ │
│ │
├───file.md ◄──────────┘
│
│
└───Folder1
│
│
└─────pic.png
Show a message explaining that the file is too big and that can be downloaded.
The question is how to know if the files is too big. I think if the file exceeds php_memory_limit the file is too big, but i'm not 100%.
To latest version
To make it easier (for non Docker users) to setup, use this package https://packagist.org/packages/symfony/yaml to read the Yaml file.
And remove YAML Pecl as requirement and from wiki.
Hello,
I really like the project, but I think that one important thing is missing, the support of LaTeX for mathematical formulas in markdown files (or even KaTeX?).
Like
Is this a feature that is planned for the future?
Support .flac audio files.
Hey there,
how would one go about adding images to a document that are available in the filesystem?
I tried everything, but I just can't get it to work.
What I tried so far:
/index.md
/giphy.gif
Inside index.md:
![welcome2](giphy.gif)
![welcome2](/giphy.gif)
![welcome2](./giphy.gif)
But whatever I do, I always receive a 404.
When I checked the developer tools in Firefox,
I saw how the markdown files are retrieved:
/?&action=get_file_data&relative_path=index.md
When I replaced index.md with giphy.gif, It did load the image file.
There may be some confusion about the difference between a theme and a color-scheme, so 'theme' should be renamed to 'layout'.
No programming skills required for this issue.
README.md
and config/config-example.yaml
files.highlight_theme
should not be changed.If you have any problems let me know.
SVG images are not rendered...
See src/PineDocsFile.php
and public/js/PineDocs.js
"render_file" method.
It works on dev, but not when i deploy on docker.
For some reason the whole /icons
dir is forbidden and /icons/favicon.ico
returns not found...
PR is ready at #166 but it needs testing
Files that can't be rendered in a browser (like a .docx, .dll, .exe etc) should be downloaded automatically to the user on click.
Use PHP's readfile() and setting the header to attachment.
Remember to validate the user doesn't have access to anything outside content dir!
This could also be a fix for large files that can't be sent through ajax.
New setting to render the menu links and dirs as uppercase/lowercase/ucfirst/ucwords/
This need styling
If a user goes to a /#doesnotexist
link and the file doesn't exists, it currently shows a blank page.
It should show a 404 error message.
A search field above the menu for filtering filenames and directories (not content).
The filtering should be instant, via JS, so no search button is needed.
Pressing the 'F' should focus on the field.
Pressing esc while in the field, the value should be cleared and the complete menu should be shown.
Would it be possible to also blacklist root folder? I tried with 1.1.5
hide_folders_in_navigation
- *
but then app stopped to work completely. The purpose is to have shorter URLs, whereas with subfolder there's extra depth in URLs and I would very much prefer no public content only direct links for everything including root folder. Or is it possible already?
Is it possible to add support for PDF display?
For each code block (<pre><code>
) there should be added a "copy" icon in the top right position.
When you click the icon, it should copy the content of the code block.
Should also include a tooltip that says "Copy" on hover and then "Copied!" on click.
It should work exactly like this page: https://www.ngxs.io/recipes/authentication
Please use SVG for the icon
Are there any plans to add mermaidJS in the future?
If @xy2z is ok with that I can try to add it to PineDocs
A new boolean config setting for rendering top folders as categories or folders.
Folders is how it is now - a tree view
A "categories" rendering example could be: https://docs.gitbook.com/
So if a folder is named "Getting started" all files are rendered below, without an option to show/hide files.
config name could be something like nav_folder_tree
(default true)
When clicking the '*' on the keyboard, all directories including subdirectories should open up.
See public/js/PineDocs.js
set_events
method.
Hello, it would be handy if I could change the marked options in the config.yaml
file or like the one in mathjax.js
.
Or only some parameters like breaks
, gfm
, mangle
, pedantic
, smartLists
and smartypants
which are booleans that change how the text is rendered ?
In one of my Markdown files there is a Heading with the title: # Example Header
This link should lead to it: [example](#example-header)
But instead it throws the following error: Error: could not load file: test-header File not found.
When clicking any link, Javascript should check if the link is external, and if it is it should open in a new tab.
See public/js/PineDocs.js
For docs, bookmarks, etc. it can be very useful to have external links directly in the sidebar.
So for .url
extensions open the URL parameter in a new window directly.
Another solution could be to just make a new config option called "external_links" and render them over/under the current navigation.
Right now it's not possible to change the logo when using Docker, since the logo is in the public
dir.
Make a new dir for logo in /data/pinedocs that is a symlink in the public dir, so it can be reached.
The 'wiki' theme isn't done
The content width should be 100% - and responsive
or isn't readable
Hi! Thanks for your project 👍
I had set up PineDocs, and faced with one problem:
I was not able to exclude particular dir, .stversions
in my case (syncthing service dir).
My proposal is to exclude file before PineDocs goes to scan it if $item
is a dir
PR: #112
This is only proposal, so feel free to close issue & PR at any time
It would be great to have the option to prevent line breaks in code blocks. The user should be able to horizontally scroll in individual code blocks.
light top bar: https://docs.gitbook.com/
dark top bar: https://www.ngxs.io/ (prefered as default)
Related: #98 to render folders as "categories".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.