keep gh-pages automatically up to date - github-pages

I have this project with a gh-pages branch setup.
The web content inside of it was published via gh pages generator function.
https://mh-cbon.github.io/go-msi/
It s really just the README.md to index.html + layout.
Now i would like this web content to be synced with my updates.
As a matter of fact, gh pages functionality requires to go through the github web ui to trigger the build.
Indeed, i made a test change on my readme, pushed it on master, but the published website remains the same.
See the commit
The test wording won t be find into the site
Q: how can i do to automatically triggers the rebuild of my pages ?
Ideally, with just a call to a github api.
Would like not to do a plain setup of jekyll.
If not possible, can you provide a 3 steps command way to build the pages using a free theme and the README.md of my project ?

You could use Travis CI or another CI system to do automatic updates to you gh-pages branch. This Github Gist has a complete and detailed explanation of the process. You can easily combine those instructions with these on how to restructure your index.html etc. to allow to Jekyll updates and automate everything.
I don't think that the raw Github Page Generator is available through the Github API, but I'm pretty sure that the Github Page Generator is just using Jekyll.

Only gh-pages branch content is published.
If you push to master branch this doesn't trigger the build for gh-pages branch.
If you want to update you published pages, you have to push to gh-pages.

At http://agentscript.org, which is the gh-pages site for the repo for agentscript, I simply:
Created an automatic page via github's Automatic Generator
Replaced the static readme text in index.html with html generated by the current readme
..By using a library that converts md to html.
I'm not sure if that's what you're looking for. I could supply more details if needed.

thanks to all for your contributions, I ended implementing my own solution.
Basically its a bunch of sh scripts to execute over vagrant, docker, travis etc.
For now on I provided all you need to generate, with a vagrant box or a travis yaml, your gh-pages with the cayman theme like the github service does.
It is available at https://github.com/mh-cbon/gh-pages
The generated site is here
If you want to use another theme, you will need to ensure the jekyll configuration in _config.yml is correct.
You may also need to update the template files of the selected theme, at least for cayman theme i needed to.
All those adjustments are to implement into a config.jekyll.sh file to put on the root of your repository to generate.
That's it!

Related

Github pages not update when i was commit in master

i have deploy react js on github pages, when i new commit there is no change in publish github pages there is my publish pages .
new commit
my repository
Few things can be behind this. In your case, I think it is about the branch you're using.
You are pushing to branch master while Github page is watching over gh-page branch.
More reasons can be found in answers to this Question.

Automatic C++ documentation generation on GitLab project using doxygen

I am working in a GitLab C++ project and I am trying to have a automatic documentation generation on the code using Doxygen. I don't really know how to approach the problem.
Can I somehow include it in CMake to have a updated documentation in the project everytime someone builds it?
Or would it be better to have the server generate a documentation when someone pushes his Code?
Thanks for your help!
Consider publishing the generated documentation on a GitLab Pages site (https://docs.gitlab.com/ee/user/project/pages/) You can then link to it from your Wiki to make it easy to find.
GitLab Wiki is stored in a separate Git repository (https://docs.gitlab.com/ee/user/project/wiki/) so that's why I think it would be cleaner to create a Pages site rather than to update the Wiki Git repo from the main Git repo.
Yes, I think it is better to have a separate server build the documentation whenever someone pushes. If you have a Travis-CI account, you could configure an automatic deployment of your Doxygen documentation to the GitLab Wiki.
See here a link to a Gist example for GitHub, but should be expandable to GitLab:
https://gist.github.com/vidavidorra/548ffbcdae99d752da02

Workflow for developing and publishing a Foundation template with Hugo and GitHub pages?

I'm creating a website which shall be hosted on GitHub Pages using Hugo as a static site generator.
The Hugo theme itself is being developed using the Zurb template of Foundation 6. In order to track any changes to the theme I've set up a local Git repository which will later be pushed to GitHub for maintaining the template. Let's call this repo1.
Additionally I would like to make my Hugo theme available for others. Let's call this repo2.
I have some trouble understanding a possible workflow. Here is what I have in mind:
Make changes to the Zurb template and commit them to repo1.
The Foundation CLI will compile the template to the dist/ folder.
The recompiled content is "promoted" to update the Hugo theme in repo2.
Additionally the final GitHub pages site is updated with the new Hugo theme.
I habe some trouble puttings this into words but maybe you get the basic idea.
Are there any recommended workflow and setups for developing and publishing a Foundation template in combination with Hugo and GitHub pages?

How do you sync Postman with a git repository

I'm wondering how you can sync your Postman config with a git repository.
I know you can export and import from Postman to a folder - which is OK - but I wondered if there was something more effortless.
I'm not exactly sure how you're trying to use this, but a few options would be:
First Option
to use their addon cli called newman. You can run collections from a URL or Local file with newman using
newman run http://some.url.here
Then if you make the remote url a part of a git repository it would obviously update/change with each commit/pull
Second Option
Try this with extreme caution and only if you feel comfortable with the process, also this may not be compliant with their terms of use so I don't suggest you try it without first some research
If you can find the directory in which the Postman collections are held, you could create a hard link with the command line from a git repository on your machine to the directory or specific file you need to link. Whenever you change the source file the one in the Postman config will change.
The way in which you accomplish this will depend on the system you use and version of Postman.
In addition to exporting and cloud syncing as mentioned in the other answers, there's some other options too.
Postman added a Git sync in Postman app v9 so you can manage version control with forking, merging, and pull requests.
There are also built-in integrations to sync your Postman collections with GitHub, with GitLab, and other services for version control. These integrations are for users on the paid plans.
Postman also has an API so you can GET and run the latest version of your collection, environment, or whatever using Newman or continuous integration tools or to build your own integration.
Postman is not designed for that case. They offer a cloud service which keeps you and your collaborators in sync. You can try their cloud plan for 30 days for free. Check here: https://www.getpostman.com/cloud_trial_faq
You can use Postman integrations (Home > Integrations) to link Postman to your remote git repository.
The following article explains how to integrate your gitlab repo to Postman:
https://learning.postman.com/docs/integrations/available-integrations/gitlab/
Also you can use Postman API versionning to do something similar:
https://learning.postman.com/docs/designing-and-developing-your-api/versioning-an-api/
For non-free plans, Postman now (version 9 and up) supports automatic sync of collections with a git repository on several popular git services.
(Again, it's currently only available for paid plans)
See the documentation for how to integrate Postman with GitHub, GitLab and Bitbucket.
The process is roughly:
create a dedicated repo on your git provider (e.g. my-postman-collections-repo)
create a personal access token for the provider (e.g. GitHub) with the expected scope (e.g. repo and user)
define an integration (using postman UI) for each collection you want to be kept in sync
I'm working with the GitHub integration and it works great.

Is there a way to generate confluence wiki pages from javadocs?

I'd like to put documentation on a confluence wiki for a project I'm working on, and I want to automatically generate some of the documentation from javadocs. Is there a plugin for confluence that makes this easy (did not see in preliminary search), alternatively has anyone written scripts to post wiki pages to confluence based on javadocs? An ant task might be cool, then I could have the wiki as a target.
Confluence JavaDocs Macros is a plugin that will generate wiki pages from javadocs. The downside is that a zip archive must be made of the javadocs and placed on the first page of a space, and multiple javadocs cannot co-exist in the same space.
The plugin is also not compatible with every version of Confluence.
And you might want to add javadocs to confluence if you only had a confluence server (or the confluence server is the primary place for documentation) to host your documentation... It has happened before.
Why would you upload javadoc into an editing system? This sounds rater odd. We created a apache server on which the project documentation is uploaded (which is created form Java as javadoc, and from some project documentation (which we also store in the project (inside SCM)).
Next to that we have a Wiki system, in which everyone can write all kind of stuff. It is easy in most wiki to make a external reference (to the Apache web-server, project documentation / javadoc pages).
The good thing about this is, that the project documentation can be re-generated through ant / maven / etc. and automaticly uploaded to some web-server. There is can only be red and not modified. That can only be done through the project sources. Which is good, because otherwise people start to edit the wiki pages, which then get replaced now and then, because a new build / release is created.
You can use the Docs Plugin: https://marketplace.atlassian.com/plugins/net.meixxi.confluence.docs.docs-plugin. This plugin enables you to upload and publish your JavaDocs and other HTML and JavaScript based content in Confluence.
Docs provides also a REST Interface in order to automate the publishing process. So, publishing the JavaDocs can become part of the Continuous Integartion Process. A technical documentation as well as a sample code can you find here: https://ricebean.net/confluence-docs