Code Monkey home page Code Monkey logo

notes's Introduction

site icon notes

Notes about TeXmacs

This is an attempt to a blog/wiki about TeXmacs. It aims to be a container for articles, snippets, comments, developer docs, proposals, ...

The site is served at https://texmacs.github.io/notes/

All the HTML code is automatically generated from the TeXmacs sources which are the primary source of content. Since TeXmacs itself takes care of the conversion there is essentially no need for an external software like Jekyll or Hugo.

The idea is that the site can be browsed both via a standard web browses on the Internet and via TeXmacs locally in the cloned repository. This setup allows an higher degree of interaction with the local copy.

Contributions (also as pull requests) are welcome.

Structure of the repository:

  • The src/directory hosts the TeXmacs sources for the website.

  • The docs/directory hosts the HTML code for the website together with all the necessary resources which have to be served (fonts, css styles, etc...).

To automatically regenerate all the web pages use Tools->Web->Create/Update web site within TeXmacs and choose src/ as source and docs/ as destination directories.

Once the repository is pushed on github it becomes visible.

To contribute: It is necessary to perform a few actions using the terminal. The sequence is fork-clone-modify-add-commit-push- and finally make a pull request; people that use git are familiar with these commands. Here are some hints for those that are using git for the first time (a basic tutorial is available at https://www.earthdatascience.org/workshops/intro-version-control-git/basic-git-commands/).

  • fork the repository (it can be done through the web interface)
  • clone it locally (within a suitable directory execute the command git clone https://github.com/texmacs/notes.git: a subdirectory named notes will appear, where you will be able to work on the files)
  • make your modifications
  • add the modified files to git (command git add)
  • commit with git commit
    • the first time you do this, git will ask you to set your identity with the commands git config --global user.email and git config --global user.name
    • the --global switch can be omitted; in this case the identity will be set for the current repository only
  • push the modifications to your forked repository using git push
    • git asks for username and password
  • now you can make a pull request through the web interface, at https://github.com/texmacs/notes/pulls (green button New pull request).
    • The web interface gives further helpful hints. Follow the link compare across forks above the pulldown menus to have them show forks, from which you can select yours.
  • The pull request on github asks the maintainers to integrate your changes into the public repository.

To keep your fork up to date:

Resolving conflicts Please look here.

Typically it should just be necessary to modify or add to only the .tm sources in the src/ directory---and modify accordingly index.tm. The html files are then generated by one of the maintainers after the pull request is merged (hopefully this will be automated in the near future). Once the changes are pulled in they will become immediately publicly visible on the website.

Enjoy TeXmacs!

notes's People

Contributors

da-liii avatar ingolfschaefer avatar mgubi avatar pireddag avatar wosined avatar woutersj 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

notes's Issues

Output of update-website

The article list, if I run update-website, lists the time-zone as GMT.

This is what I understand right now.
Guile's gmtime calls the C gmtime function. I have looked into the C sources for the time library, and I understood this: gmtime calls __tz_convert with use_localtime set to 0; then the following assignment is executed: tp->tm_zone = "GMT";

How is it that in the article list in the website time zones are UTC?

Invitations to write

I have ideas on whom to ask to write something for the blog. Maybe I can send them via email.

Copying code from the posts

Formatting of the code is not preserved when copy-pasting from a blog post to the TeXmacs editor. There are line breaks where they should not be and the copied text is wrapped inside a "code" macro.
In order to get the code---with the right line breaks---into TeXmacs one has to "paste from verbatim". Is it possible to change something in the html so that this does not happen, or should one change something in TeXmacs (the additional line breaks might be a bug) or should we add a note about this so that people know they should "paste from verbatim"?

how to use this repo as a blog template

Dear,

I'm trying to use this notes repository as a blog template.
I went through the "contribution-guide.tm" and was able to generate HTML files locally.
But I did not figure out how "update-website" and "notes-tools.scm" were used.
It seems that Scheme functions in "notes-tools.scm" are to take care of the files "list-articles.tm" and "notes.atom".

Any hints?
Thank you very much,
Hongying

Not compatible with Mogan

Hi, I have used this package to build my personal blog for two years. However, as I switched from TeXmacs to Mogan this year, this package is invalid for MacOS using Mogan.

I just added the note.ts files into ~/.Xmacs/styles. The note style shows up in the toolbar. However, all the commands fails to work.

Implement an RSS feed and improve syndacation

We already have an Atom feed generator which creates the Atom feed during the update phase (see the script notes-tools.scm). It would be nice to also generate an RSS feed and in general to make more robust the script.

Article modification dates

When running update-website, the article modification date is the file modification date on my computer. If I were to clone the repository now, all the articles would have "now" as modification date.
Updating my fork to the texmacs/notes parent one, there are a few articles which are taking up "today" as modification date.
Do you have any suggestion on how to get their modification date to match the ones in the repository?

Update
With a quick Internet search I found statements that git updates modification times by design. We could write a script that overrides this behaviour for the posts. I do not follow all of the details, but this is an example

At a quick look of what its author says about it, it seems written with care):
https://github.com/MestreLion/git-tools
https://stackoverflow.com/questions/1964470/whats-the-equivalent-of-use-commit-times-for-git/13284229#13284229

and (cited in the previous link)
https://repo.or.cz/w/metastore.git

how to generate feed entry for nonlatin document

Hi there, I'd like to use this repo as a starting point for my blog, part of which is in Chinese.
However the title and summary of these documents in the Atom feed generated are garbled like this:

<entry>
    <title><#9E3F><#722A><#30FB>2021<#5E74>8<#6708></title>
    <link rel="alternate" type="text/html" hreflang="en" href="http://texmacs.github.io/notes/docs/record-2021-08.html"/>
    <id>texmacs.github.io/notes/record-2021-08.tm:2021-12-26T12:23:48Z</id>
    <updated>2021-12-26T12:23:48Z</updated>
    <published>2021-12-26T12:23:48Z</published>
    <summary><document><#300A><#4E2D><#56FD><#8BDD><#300B></document></summary>
  </entry>

Not so familiar with lisp, so I'm wondering if there's a function that can decode these.

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.