So I know that GitLab pages can be employed to generate a static website from a project's repository. What I'd like to do however, is generate a static site from a project's wiki, which is a separate repository.
I also know that I could hook a static site generator to the webhook event for notifying wiki changes. I am trying to work out if this obvious (to me) use-case was anticipated and made possible via GitLab's pages feature, which has a simpler set-up, or if I really do need to resort to webhooks.
So far as I can tell, it wasn't, and I do, but possibly there are ways which just haven't been well described anywhere I can find.
Finally: the reason I want to do this is, GitLab's wiki seems to have a UI tailored to make it work more like a wiki than the repository's UI. This will I hope make it more useful/less hostile to the potentially non-technical users I foresee using it.
I don't think this feature is available yet, even though it would definitely be very useful.
You could try the following workaround:
Set up your project wiki's repository as an external repository.
https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/
This will setup repository mirroring, enabling automatic pull updates from your wiki repository to a new regular GitLab project repository. You can then use the regular GitLab CI and GitLab Pages feature to generate a static site from the wiki.
More information about repository mirroring:
https://docs.gitlab.com/ee/workflow/repository_mirroring.html
Example Project (Edit)
I have now made a basic (open-source) example for doing this, it actually works very well, you can browse its source and have a look at the wiki at https://gitlab.com/tkainrad/wiki2docs.
The generated site is located at https://tkainrad.gitlab.io/wiki2docs
You might even find that having a layer between your Wiki and the actual live site is useful.
This workaround together with GitLab Pages provides a lot of possibilities, and enables completely free hosting of wiki or documentation sites, while maintaining an easy EDIT-interface for non-technical contributors.
Related
Thank you for giving me a piece of your time. This question really isn't a "how to", but more of a "is this possible or am I just insane?". I've recently looked at some portfolio pages and found a really great idea from https://flexdinesh.github.io/, but in the "portfolio" section instead of having just the characteristics of the project, is it possible to somehow use the Github API or some other equivalent to extract and present data like number of commits (or the table that github shows on your project page) and what project type it is (i.e. Java, Javascript, etc.) and maybe even some more related information. For background I am using React with Node.js. Again, this is probably useless to everyone out there, but I think it could be something cool if A) it actually exists, and B) it's not too much of a pain to implement. I've tried reading up on the documentation from Github, looking online, and looking at different source code, but no luck there. If anyone has any information or feedback I'm always open to help!
Thank you and have a good day
from what I understand, you want to display statistical information about the projects on your portfolio website.
Github provides an API that can get almost all the information you see on their website
so, to get all the languages being used in repository you can do a GET request on https://api.github.com/repos/:owner/:repo/languages,
To get the number of commits you can do a GET request on https://api.github.com/repos/:owner/:repo/commits
and so on
By default, these will get you the data of the public repositories, if you want to display info from your Private repositories, you need to provide an authentication token with each request.
You can read more about the API calls available here
let me know if you need any more help
i have a project with a friend and its about developing a website which will provide the users with some courses on certain topics.
And we were wondering on how we are going to be updating the lessons notes and posting new ones without any problem. And he said the cpanel provided by the host company will provided a means to post just like on blogs. So i doubted and i'll like to ask if it true or i'll have to code a new page for every topic on the site.
Please i'll appreciate if any one helps me with the truth or a guide on how to do it.
thanks...
A good starting point for you is to use github to host a code repository you start with git. If you use github, you can utilize github pages to host your content for free.
If you already have a hosting framework in mind like WAMP or heroku, let us know and we can provide more specific information on how to push your code up to your application depending on how you're hosting it. But the best starting point for you is to use some sort of version control and the leading version control option is git. You definitely never need to rewrite the same code all over again and version control is essential for managing updates to your code and collaborating with other developers.
I am planning to upgrade my company's intranet from liferay 6.0.6CE to 6.2CE. I have done some research on it but I am still confused on API part. Will my custom portlets need only recompilation or would they need a complete rewriting. I am also concerned about my Theme and Exts. I have a lot of customization in my exts and my theme. What would be the best way to move ahead?
Also I have a NFS file server and SOLR search server configured with my current deployment. Need suggestions on that too.
I've heard recently, that the Migration Tool (6.1 to 6.2) now also supports themes. It won't be pixel perfect though. Check what it can do for you.
There have been some APIs that changed. Contrary to the comments given to your question, I'd say "It depends": I don't know how much of Liferay's API you use or if you just add functionality on top. You'll have to find out for yourself. The migration tool might help you.
The things that have changed the most are: Themes (using Bootstrap, as of 6.2) and Document Library (now including ImageGallery, which was still available in 6.0). Migration of data should be smooth if you follow the documented upgrade path. Migration of your portlets and plugins will definitely require recompile (within the new plugins sdk or updated maven dependencies) and probably adaptation to some changed API calls. I've seen instances where this was simple, but I've also seen hard cases.
As there have been no more updates for 6.0 CE for quite a while, I'm recommending to upgrade though (other than #FeinesFabi in the comment). If you want to have a long-term stable platform that you don't need to maintain for yourself, EE would be the way to go (supported for ~7 years after release)
For ext changes, you'll have to be aware that there are no guarantees: Ext allows you to change the inner implementation of Liferay, and that's what nobody strives to keep stable, even in minor updates. If you're using ext, you'll always have to be aware of incompatible changes. Ext allows you to keep your changes out of the official sourcecode - so they're well isolated. It doesn't say anything about the underlying implementation to be stable. With great power (ext) comes great responsibility. Keep your ext as small as possible - whatever you can do outside of ext should be done outside and use the public API.
The basic upgrade path (for Liferay itself, not your plugins) is quite well documented in the User's Guide.
I really appreciate Github's website look & feel and I would like to "clone" it on a admin tool I'm developing right now.
Does anyone knows if there's a Github Bootstrakp (just like Twitter bootstrap) or something similar? Perhaps a Github-like UI admin template ...
I found their Style Guide page (https://github.com/styleguide/) but wasn't able to get the css and javascript source codes.
Thanks a lot.
Github's ui is not open source as far as I know, however there is a FOSS clone called gitlabhq:
http://gitlabhq.com/
And the source is available on github:
https://github.com/gitlabhq/gitlabhq
There is https://github.com/primer/primer described as
CSS toolkit that powers GitHub's front-end design. It's purposefully limited to common components to provide our developers with the most flexibility, and to keep GitHub uniquely GitHubby. It's built with SCSS and available via NPM, so it's easy to include all or part of it within your own project.
I was wondering if there is a website that helps with giving you a checklist for your web app, to make sure you don't miss anything!! It could be very tedious when building a large project by yourself! obviously nothing specific, just a guideline for a web app. thanks
This doesn't necessarily work for all projects, but it's a great start!
http://launchlist.net/
In light of your comment below, I recommend
http://goplanapp.net
it's free and open-source and allows you to create project milestones, have ongoing discussions on various issues, and alot more.
Trac is a website driven software that allows you to set milestones, reports, svn browsing, priorities, bug tracking, and wiki's. A lot of active open source projects use it to host their software. I use it extensively for each client project I start.
I like http://kanbanery.com/ alot.
It allows you to have tasks with subtasks, add info, attachments, comments, etc to a task and you can arrange those in multiple columns.
(I know it is targeted at scrum / kanban teams, but the app can be tailored to make it fit for your workflow)