Giter Club home page Giter Club logo

codex's Introduction


GitHub all releases GitHub release (latest by date) GitHub issues

A free note-taking software for programmers and Computer Science students

Made by Josh Vickery

About

Notice: If you're upgrading from Codex v1, make sure to back up your save data (save.json and notes folder) for all of your saves before updating.

Codex is a note-taking app that allows you to save styled and highlighted code snippets in your notes.

Other features:

  • Support for highlighting 190+ programming languages
  • Over 240 code themes
  • Sort your notes into nestable notebooks/folders, customizable icons for notebooks and pages
  • KaTeX math expressions
  • PDF and Markdown exporting

Screenshot

Example screenshot

Other Distributions

Arch Linux: You can install Codex from the AUR with codex-bin (unofficial)

Building Locally

Requires Node.js 16 or higher

pnpm install

pnpm dev # Run the app in development mode with hot reloading
pnpm dir # Only generates folder(s) of the standalone executable, quicker
pnpm dist # Generates all installers/portable archives for your platform

License

This work is licensed under a CC BY-NC 4.0 license.

codex's People

Contributors

jcv8000 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

codex's Issues

MacOS Build

I've just made this issue to tell you that I built this on my Mac with electron-builder and it runs flawlessly after a bit of testing.

lmk if you want me to send you a build and I'd be happy to but just know it's signed with my name however the bundle I identifier still has yours.

if you're all good with that I'd be happy to send it through

cheers bro :)

no export pdf

Hello Support.

I see one bug in the code if try to export to pdf no save the document

Pages should not be saved everytime, causing lost data in high latency environments.

The pages should not be saving every time they are viewed.

I have lost a few pages content thanks to latency when running Codex via a SSHFS mounted remote disk to share with other people.

The solution is to:

  1. Only save data when it is changed e.g. compare of checksum on load and again when navigating away from the page to only save when data has changed.

  2. Have a read-only and write mode. You must put Codex in write mode to make changes.

  3. Make saving the responsibility of the user via a save button.

Feature Request: Tags

I think it'd be very helpful if there was a way to add tags to certain pages. For example, let's say I'm taking notes on DFS, BFS, graph algorithms, tree algorithms, and other search algorithms. DFS and BFS could be placed under search algorithms, but these algorithms can also be used in the graph / tree context. I'd like to tag DFS with "search", "binary tree", and "graphs." Then I could search via tags and filter all my pages by the tags, so if I want search algorithms that work with trees, I can search using the tags "search" and "binary tree" instead of having to look through all my pages.

Code blocks should adhere to the position they are in

If we have a following bullet list:
image

And I try to place a block of code within the sub bullet-point the block of code destroys the entire structure of the bullet points, like this:
image

It would be nice that the code block can be inserted whereever possible without destroying the surrounding styles.

OS: Windows 11
Codex version: 2.0.4 (latest)

Edit: wording, changed version

Feature Request: Enable word-wrapping on long one-liner source code

Using Codex latest version 2.0.0, from what I observed so far, it seems like there is no word-wrapping option can be found in Editor Toolbar.
This create trouble on viewing one-liner code that is very long, after set the programming language type of the code.

However, if I set the language type for multiple lines of code, multiple code blocks unexpectedly created.

Following screenshot illustrates the trouble I mentioned above.

2023-10-18 10-54-18

Feature Request: Adding Gifs

Hello there!

I've been using codex for a while and recommend it to all of my students, due to how amazing this is!

One thing that would benefit my notes would be to record tidbits of Unreal Engine code and display an example result, and am wondering if this is something that could be added?

All the love - Krill!

Attachments

It would be great to be able to attach files to pages. Things like manuals and reference guides are important documents to have alongside of wiki information.

Feature Request: Export as bulk PDF(s)

If we can share/export as PDF(s), that will be really good to share our notes. Instead of exporting one after one, we can just export all PDF(s) of a notebook.

And if this is worth developing, I can create a pull request.

Feature Request: Disable Spell Check

I'm writing in both Spanish and English and the spell checking is very annoying because it only detects one language. An option to disable it would be very appreciated.

Scroll Bar Artifacts in PDF

In my document I have issues with scroll bars appears in the PDF output from code snippets.
I've tried to shrink the code horizontally to fix this but wasn't able to remove the scroll bars from the PDF output.

Regards,
StaticJPL

Feature Request: Auto Scroll

Such a great job with this app, I find it very useful! It would be very appreciated if an Auto Scroll option was added. Usually, I find myself typing something that is not on the screen because when carriage return is used, the scroll does not "follow" the text. I hope my explanation is clear.

Markdown Table out of bounds

When using a table within my page, and storing some code examples within the table, it goes beyond the pages' lines and it looks pretty clunky.

Here's an example:
image

Could this be caused by me or it is the intended design? It is not a major issue, just wanted to bring it out.

Jumbled Keybinds

Editor Keybinds
Toggle Inline Code: "ctrl + /" not working
Toggle Menu Bar: "ctrl + M" is assign to "ctrl + T"

save.json error

I suddenly started getting this error and longer had access to my notes even though the notes still existed in the directory.. please advise

image

Code Execution vulnerability on Codex

Issue

Cross-site scripting(XSS) on Codex Notebook/Page name lead to code execution.

Reproduction

  1. Open Codex
  2. Create new Notebook
  3. Insert payload on the Notebook(or page) name field
    On Mac
    <a href=x onmouseover="require('electron').shell.openExternal('file:///System/Applications/Calculator.app')">test</a>
    On Windows
    <a href=x onmouseover="require('electron').shell.openExternal('C:/Windows/System32/calc.exe')">test</a>
  4. Once you move your mouse over the link "test" , Calculator will be opened.

截圖 2021-09-10 下午4 59 27

Mitigation

Disable nodeIntegration

Copying text font size not correct

When copying text from another page that has some styling done to it, the font-size isn't displayed exactly in the correct way.

I have a page where the style is following:
image

Now I copy the highlighted part into another page and this happens:
image

The editor shows the correct style, but the font-size is not exactly right.
On the second picture you can also see that the "font-size" box has another "px" concated to it. Could that be the issue?

OS: Windows 11
Codex Version: 2.0.2 (latest)

Building on M1 Mac

Was getting this error when using npx electron-builder:

Exit code: ENOENT. spawn /usr/bin/python ENOENT failedTask=build stackTrace=Error: Exit code: ENOENT. spawn /usr/bin/python ENOENT

I fixed it by changing this block in package.json:

    "devDependencies": {
        "electron": "latest",
        "electron-builder": "latest"
    }

While I'm here, is there a way to exit a code block before and not just after? If the code block was the first thing you made, but now you want to add some text above it, how would you do that?

Feature Request: Line spacing

So by default your line spacing is large..... Basically like a new paragraph.
Sometimes we just want to stay on the same paragraph and just a new line.

Please allow to hold down shift while pressing enter (new line), and the cursur goes to the very next line without any major line spacing.

Thanks for the awesome app!

Problem Opening Application

Program works fine on my pc, but when I try to use it on my laptop I get the error "your preference file could not be parsed correctly". Have been using it fine on the laptop for a long time now and this is a sudden issue. Tried reinstalling but still get the same error.

Error report for codex 2.0.0-beta.0

Error:

    at ClientRequest.<anonymous> (C:\Users\varti\OneDrive\Desktop\codex\resources\app.asar\.vite\index.cjs:23:323577)
    at ClientRequest.emit (node:events:513:28)
    at TLSSocket.socketErrorListener (node:_http_client:481:9)
    at TLSSocket.emit (node:events:513:28)
    at emitErrorNT (node:internal/streams/destroy:157:8)
    at emitErrorCloseNT (node:internal/streams/destroy:122:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

OS: Windows NT 10.0.22621

Encryption

It would be nice to be able to encrypt the data at rest using GPG.

Code Block Fixed size

I try to increase the code block size, but I think it defaults has the same size. Is there any way to increase the code block size?

Image Support

It would be amazing if it could support images with a drag and drop

Unable to search

Unable to search or find documentation on how to search for anything in the tool. I expected CTRL+F to work.
This is a great tool, but before I start depending on it for all my snippets and notes, there has to be an easy way to search within the same notebook and across all notes. Usually other similar tools have a search box in one corner and use shortcuts CTRL+F & CTRL+E

How to escape $ signs in non-code block for PHP?

I want to write an explanation for a code block and refer to different variables in the code. All variables in PHP start with a $ sign. The editor automatically interpretes text between two $ signs as a LaTeX expression, which is obviously not what I want. I can't find any explanation on how to do this in the help feature, nor on the Internet.

"Other" syntax highlighting is seemingly broken.

While I'm trying to use this app for the Nim language I'm having issues with the syntax highlighting along with the app locking up or replacing code when I hit the return key.

The app locking up is a major bummer because it's not just a second or 2. It's a full 10-15 seconds whenever I start a new code block and start typing. I had an entire block of code written out and when I clicked back into the code block to add a comment, the app locked up for about 15 seconds and erased all of my code after the spot where I started typing my comment.

Edit: Control + Z does not recover the lost data

Export as PDF not working with images

Export as PDF does not work when there is an image in the page.

When trying to export an entire notebook, it will export the pages that do not contain images up until it reaches the page with an image and then gives an error and stops.

Running on windows 10, codex version 1.4.2

Closing folders

It would be nice to automatically close other folders as a new folder is opened (controlled by a setting) and start a new session with all folders closed. It can become tiresome to continually close all the folders.

image

Feature Request: Embed Videos

Is it possible to embed youtube videos, twitch clips, etc., within pages? I know you can have links within the pages, but I feel like it's much nicer when I have the video embedded in the document itself instead of having to copy the link and then paste it in a browser.

Feature - headers font size configuration

Could it be added a possibility to set-up the header size or is there at least a config file where it can be manually edited?
It would be good as an alternative to the styles...
(sorry I am not so familiar with the electron apps)

Github integration

It might already possible but is there any way to have the pages pushed to a repo ?

Lost save.json file while updating

I actually did backup my save.json and notes folder. Somehow my save.json got replaced with the default one when installing the latest version of Codex. Now I am in a pickle.

My notes folders does show the latest changes I've made to the folders but my save.json file is totally wiped. Am i screwed?

Thanks in advance!

Codex crashes and gives a white screen after 10 mins of use

Hi,

First of all, I love the app, it's been a great help for me in my degree so far. But I've noticed since I updated to version 2.0.0 (I updated to version 2.0.1 recently, with the same problem), codex will only stay open for about 10 minutes, then it will freeze and the screen will go white. The only way to close it at that point is to end the task in the task manager.

My laptop is very new, and it's not a problem with any other application, just codex.

Feature Request: Page Groups

A feature like page groups would allow you to make sections within a notebook. For example, if you had a class that had collections of course content within a group (unit, chapter, etc.) being able to store different notebook pages under a few groups would really help with organization.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.