Using github to write a book [closed] - github

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
With Github one can write a well-formatted README.md file and document to present the project. Also, there are wiki pages for user to collaborate. I'm wandering what would be an optimal workflow, even for non tech users, to make use of the GitHub platform to write a collaborative book.
How to use markdown but then enhance it by applying a stylesheet, make PDF out of it, organise chapters, have a public site (gh-pages) out of it and so on? Is there such a project or tool chain for GitHub?
In other word, how to easily write a collaborative book with a nice html and PDF output in GitHub? Thanks.

Edit: GitBook has changed significantly since I first wrote this answer. PDF support has been dropped, and the CLI toolchain has been abandoned in favour of a proprietary service:
As the efforts of the GitBook team are focused on the GitBook.com platform, the CLI is no longer under active development.
In mid-2019 mdBook is a good option, though it doesn't natively support PDF. If you have Rust and Cargo installed you can simply
cargo install mdbook
to get started.
Original answer:
This is exactly what GitBook is designed for:
GitBook is a command line tool (and Node.js library) for building beautiful books using GitHub/Git and Markdown (or AsciiDoc).
It supports PDF output out of the box, as well as online publishing on its own web platform.

Related

What online tool do you use to automate translation of .arb files? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
Do you know any good tools to support the translation of .arb files?
It's a standard for Flutter and since Google Translator Toolkit will be sunset soon (https://support.google.com/translatortoolkit/answer/9462068) we're searching for a good solution to translate/gather our translations
Edit (June 2020): There's great new open source project called Arbify. This is a self-hosted tool to manage multiple translation projects focused on Flutter. You can edit arb files and fetch them via Dart package tool.
Aside from that some services like POEditor have announced basic support for ARB too.
At the moment the best support for arb files is on Localizely. However, this is a paid service and has strict limits on a free version. It allows to export arb translation files with plurals and placeholder support. It doesn't support genders, though.
There is also one simple web editor and one desktop editor (Babel) that support arb files.
Crowdin supports .arb:
https://support.crowdin.com/supported-formats/
It is also able to pull the data from a Git repo and send Pull Requests on GitHub.
However, when I used it in 2018 there was a problem of ##last_modified attribute being updated without any other changes to the translation files, causing lots of churn in PRs. By that time, they were reluctant to improve the situation (based on email conversation with their support), so we resorted to manual edits.
https://localise.biz/ allows 2000 translations. Which I assume are 1000 strings in 2 languages or ~666 strings in 3 languages and so on. Which is more than https://localizely.com/ 150 strings

single script for scientific paper on github? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I am posting this question despite it possibly being off-topic, since I can't find a better place to ask:
I am publishing a scientific paper and use some analysis code which I want to be publicly available. I wrote a general purpose analysis library (Matlab) and put it onto github. Then there is a little script that uses that library for the specific purpose of this very paper. What is the best way to publish that script?
I see the following options where to publish this script:
publish into a new repository with only one file which is referenced in the paper (isn't that an overkill?)
append analysis script as supplementary information to the paper (not very accessible and usable for other people)
add to the same repository as the library (does not make sense since the library is general purpose while the script is for a single specific purpose)
Happy about any feedback, re-directions or discussions.
I don't know if the best method, but here's what I did with one of my own Matlab libraries, SHCTools, to make it publicly available for a journal article:
Created new branch of the repository (as opposed to an entirely new repository). This way the two are co-located, but the paper-specific branch can remain stable allowing readers to replicate results even after the main repository changes significantly.
Added a notice to the main branch's README.md file linking to the new stable branch.
Added a folder to the new stable branch containing M-files that re-create the figures in may paper (you could do the same with examples).
Adding a script as a supplemental resource (perhaps inside an examples or contrib directory) would seem like an acceptable and reasonably standard arrangement.
For a free-standing script, perhaps consider publishing it as a gist; this is a secondary service of Github for simple standalone snippets.

Github tool to validate links in markdown [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
What I plan to do in some of my README.md files is provide hyperlinks to other sites that I cite. However, we all run into that problem when links die or get moved, and said link becomes invalidated. =(
Is there a github tool that can run nightly checks to see if all the links in a README.md file (or something similar) are working correctly?
What I'm looking for is something that has a feature similar to Travis CI, where a project could have a badge saying "link-passing" on the project's main github page. (Example: scikit-learn has those two classy looking "build-passing" badges.)
I think what you want to use is awesome_bot.
It doesn't provide the badge you want but it does check URLs in files.
From what I get from your question, Travis is actually enough to do the checking task.
I have already implemented it in this project. It's based on nodejs package named grunt-deadlink, Travis-CI configuration is also included. Unfortunately it doesn't support nightly test (as far as I know).
For shiny badge you can simply use this badge generator service.
Another tool that could also be integrated in your CI-Pipeline is mlc.
I integrated it in the pipeline of another project of mine
The mlc link checker is written in rust and fairly fast by using async calls to check web links.

How can I run github web application on localhost [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
For a project I am trying to develop a recommender for GitHub. To start with is there any way I can run a opensource GitHub web interface on localhost but connect to the public git repositories.
OR
I have this one which only works for local repositories.
https://www.kernel.org/pub/software/scm/git/docs/gitweb.html
So is there a way to crawl github repositories to create a classifier
Thanks
You won't be able to run GitHub locally, as it's a closed-source commercial application*.
There are a number of open-source web-based Git interfaces, as you have already discovered. One that you didn't mention but that might be worth considering is GitLab, which has a more GitHub-like interface than Gitweb.
If you want to interface with GitHub's repository data, your best bet will be to use their API. Without knowing what language you're working in it's hard to give more information than that.
If you're working in Ruby, Objective-C, .NET or Go, you should also have a look at Octokit, a set of official libraries for interacting with GitHub.
*Actually, you can run the Enterprise version locally, but it's fairly expensive and I get the sense that you're looking for something open and / or free.

Version Control with Google Docs Best Practices? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 13 years ago.
Improve this question
From a quick perusal, it seems that Google Docs does not support version control the way git or svn does. My question is:
If I want to store all my documents on Google Docs, what is the best way to make them be capable of branch/merge type version control? What would this require?
Or what is the workflow you use to store your families/companies documents on Google Docs and sync them with git/svn so multiple people can be editing a document concurrently and they won't overwrite changes?
You can try to write an application to do that. Read some google docs protocol documentation, specially Document Revisions section. Be aware though that this is going to be a lot of work: you would need an application that compares all the data from your revisions in google docs to your git/svn ones and vice versa.
Seriously, having already a SCM configuration, I would stick to it, and do a simple python script that would "export" the last docs commits (or tags) to my google docs. This way you can read your documentation anywhere (you just need a browser) but still having the benefits of a traditional SCM, being this a best-of-both-worlds approach IMHO.
I am not sure about google docs... but have you looked at dropbox? I have used that on a couple small to medium sized projects and it worked well.
Use Google Code. Google Docs is rather rudimentary. It doesn't have Word's versioning features. You can save many revisions however.