GithubHelp home page GithubHelp logo

website's Introduction

Mono Project Website build

This repository contains the files used for generating the Mono website.

The site uses Jekyll, a static site generator. GitHub Pages, where the site is hosted, natively supports Jekyll so every time someone pushes to this repository, the website will be built and updated. For hosting it yourself, see Setting up a local copy of the website.

Contributing to the website

Note: Major issues or feature requests should be filed on the issue tracker first, so we can discuss the implications.

If you want to edit a page, the easiest way is to click the Edit page on GitHub link under the page title on the website.

This will open the source file on GitHub where you can click the pencil button to start editing: Arrow to pencil

GitHub's editor shows you both the Markdown source as well as a preview of the rendered page: Code editor

After you've finished your changes, enter a proper summary and description and click the "Propose file change" button to open a pull request: Propose file change

Setting up a local copy of the website

For larger changes, using the web-based editor on GitHub is not really convenient. A better way is to setup a local copy of the website where you can experiment.

Dependencies

  • Ruby - Jekyll is written in Ruby
  • Bundler - a package manager for Ruby. Install it by running gem install bundler

After you've forked and cloned the repository, run the following commands:

  1. bundle install - downloads the required libraries
  2. bundle exec jekyll serve - builds the website and runs a local webserver on port 4000

Note: you can add the --watch option when running jekyll serve to let Jekyll watch for file changes, which means the site will be rebuilt when a file is modified.

Note 2: on case-insensitive file systems like on Windows and macOS you'll run into redirect loops for some URLs. The workaround is to disable redirects locally by removing the plugins: jekyll-redirect-from entry from _config.yml.

The site should now be running locally: website

Repository structure

  • _includes - special folder contains snippets that can be included via {% include file.html %} in other pages
  • _layouts - special folder contains the layouts that are shared between pages. Layouts can be inherited, the root layout is base.html.
  • _posts - special folder, contains the source pages for the blog section, see Writing a blog post
  • _site - the output of the generated site is stored here by default, this folder only exists after Jekyll built the site
  • archived - content that is no longer relevant but kept to keep external links working
  • community - contains the source pages for the /community website section
  • css - contains the main stylesheet
  • docs - contains the source pages for the /docs website section
  • download - contains the source pages for the /download website section
  • files - stores binary files used in pages
  • images - stores the images used in pages
  • news - lists the blog pages from the _posts directory

Writing a blog post

Blogging is very easy with Jekyll. Browse to _posts directory, copy the Markdown file _TEMPLATE.md and rename that file following the file name convention: YEAR-MONTH-DAY-title.md. Then open the file you renamed and follow the steps there to complete writing a blog post.

Make sure to not include special characters in the file name. The blog entry's publishing date is automatically extracted from the file name.

website's People

Contributors

akoeplinger avatar alexanderkyte avatar alexischr avatar aman-saggu-git avatar cherusker avatar dependabot[bot] avatar directhex avatar esdrubal avatar evincarofautumn avatar henricm avatar kumpera avatar lambdageek avatar lateralusx avatar lewurm avatar luhenry avatar mailaender avatar marek-safar avatar mhutch avatar migueldeicaza avatar monojenkins avatar monoman avatar steveisok avatar tezaurismosis avatar therzok avatar thiagojedi avatar tpokorra avatar tritao avatar txdv avatar vargaz avatar xmcclure 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  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

website's Issues

Mono.framework error --> Unsealed contents present in the root directory of an embedded framework In subcomponent: /ABC.app/Contents/Frameworks/Mono.framework".

  1. We use Mono.framework being embedded into your "ABC.app".
  2. We package "ABC.app" and sign it with Apple certificate. While signing the ABC.app using the command [codesign -f -s "Intuit" --deep "ABC.app"]
  3. We are getting the following error "ABC.app: unsealed contents present in the root directory of an embedded framework In subcomponent: /ABC.app/Contents/Frameworks/Mono.framework".

Please note this has become an blocker for us to launch the application into production, it would be great if Xamarin can look into this to provide some resolution.

Also when we try code signing just the framework, it builds fine "codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Mono.framework/Versions/Current"", but when we try to sign the whole application we are running into above issue.

Please let me know if more information is required.

Mono framework version: 2.10.9

Thanks,
Sanketh Bhat
Intuit Inc
Bangalore
[email protected]
+91-9448414774

Mention Windows Bash?

Windows 10 recently received Bash. This is made possible through a Ubuntu subsystem, which means commands executed in bash (bash.exe instead of cmd.exe) will run in the Ubuntu context. Since APT is enabled, Mono installation works.

I tested this on Windows 10 Enterprise (non-LTSB), Build 14316.1. These are the commands I used:

Installing Mono

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

Works as expected, no warnings/errors.

sudo sh -c 'echo "deb http://download.mono-project.com/repo/debian wheezy main">>/etc/apt/sources.list.d/mono-xamarin.list;apt-get -qq update;apt-get -qq install git gcc mono-complete'

No warnings / errors. Known issues:

  • APT likes to get stuck in Windows Bash (waiting for headers). Rerunning the command will fix this.
  • APT complains about systemd et al. This can be safely ignored.

Both these issues are unrelated to Mono and don't have any impact on Mono or it's components as far as I can tell.

Testing

As a trivial test, I compile Turbo from source. This will test Mono, XBuild and mkbundle:

sudo sh -c "git clone http://github.com/turbo/src;cd src;xbuild *.sln /v:q;cp *.dll /usr/lib/;mkbundle -o /usr/bin/turbo *.exe;cd .."

Compiles fine:

XBuild Engine Version 12.0
Mono, Version 4.2.3.0
Copyright (C) 2005-2013 Various Mono authors
/usr/lib/mono/xbuild/12.0/bin/Microsoft.Common.targets:  warning : Reference 'System.ComponentModel.Composition.Registration' not resolved
OS is: Linux
Sources: 1 Auto-dependencies: False
   embedding: /root/src/turbo.exe
Compiling:
as -o temp.o temp.s
cc -ggdb -o /usr/bin/turbo -Wall temp.c `pkg-config --cflags --libs mono-2`  temp.o
Done

Let's run the tests:

root@localhost:~# ls
src
root@localhost:~# turbo src/Tests/tests.js -o ./foobar.exe
Warning in file <src/Tests/tests.js> at (80,6): (TC1187) Variable might be uninitalized.
Warning in file <src/Tests/tests.js> at (407,9): (TC1187) Variable might be uninitalized.
root@localhost:~# mono foobar.exe
> Tests passed: 980/980
> Tests failed: 0/980
> Total time:   309 ms

Splendid. Everything works as one would expect. The only thing that doesn't work (yet) is the binfmt integration, i.e. mono foobar.exe will succeed, but ./foobar.exe will fail. This contradicts the default behavior in Ubuntu, but IMO this is a minor issue.

Adding a hint

My suggestion: Adding a hint somewhere, either on the install page for Windows or Linux that Mono also works in Windows Bash.

Personally, I find this to be quite exciting, as one can now have Mono running both natively on Windows and in the Ubuntu subsystem.

Link to projects-using-cecil is broken

The Cecil page contains a link to "many other tools" which use Cecil. That link is broken.
If the old page is still archived I would love to see that list somewhere (e.g. part of the mono website).
Otherwise I suggest to remove the link.

El Capitan

Don't know if it is deliberate, but there is no link to the 4.0.4.4 for El Capitan version mentioned at the top of the Mac Download page.

The second link on the page takes you to downloading 4.2.0

Mac installer .pkg does not make or check for /usr/local/bin/ first

After installing Mono in 10.11.0, it fails to become available on the command line. This is because the directory /usr/local/bin/ does not exist yet on my test machine (and apparently has not existed in a virgin OS X installation since 10.10). The .pkg's postinstall script does not look for or create this directory, so the attempts by the script to use "ln -s" to make the soft links to the Mono framework in /usr/local/bin/ fail silently.

(Previously reported on Bugzilla as bug 33912, and on the Xamarin forum, and on the mono-devel mailing list, but I have gotten no responses in those places.)

Log Profiler Documentation

Maybe I'm blind.

But I can't find documentation how to e.g find memory or thread bottlenecks using mprof-report. So I wish somebody with the knowledge writes short beginner tutorial or adds link to existing one.

Any pointers to solving mono 4.6.1 CPU usage are welcome though. Running with v3.12.1 works fine.

Thank You.

CentOS 6 installation instructions

CentOS installation section tells to run command
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

Unfortunately for CentOS 6 this repository gives library dependencies errors when trying to install mono.

In order to fix this I used
yum-config-manager --add-repo http://download.mono-project.com/repo/centos6/

After which I was able to install mono successfully on CentOS 6.

Can you please adjust the installation instructions on http://www.mono-project.com/docs/getting-started/install/linux/
and state there a correction for CentOS 6, this will save a lot of time for people.

Installation instructions do not work for Debian 8

Hi,

Just tried to install mono-complete on my Debian 8 system.

I followed the instructions from this page:
https://github.com/mono/website/blob/gh-pages/docs/getting-started/install/linux/index.md

After adding the key and the mono-xamarin.list file, every attempt to apt-get install mono-complete would fail because apt couldn't find the dependencies.

I removed the mono-xamarin.list file, apt-get update and it all worked properly.
Not sure if the key is needed though (which is why I didn't make a pull request).

problem in pull request

i have made some changes to /docs/index,md file and unable to send pull request it gives message
"There isn't anything to compare." but i am having changes to file

Use of GC.AddMemoryPressure should not be suggested

GC.AddMemoryPressure is a no-op, at least under the SGen garbage collector. The web docs [1] reference this method as a solution to dealing with unmanaged memory, but a first-time Mono user coming from a Microsoft implementation (aka me) will be very surprised to see a normal app run out of unmanaged memory.

Without a large refactoring effort, there is no good solution for existing code that uses relies on the garbage collector in this manner, so I'd suggest an easily noticed warning displayed early on the page.

I'll edit the page myself if others agree this is a valid issue.

[1] https://github.com/mono/website/blob/gh-pages/docs/advanced/pinvoke/index.md#properly-disposing-of-resources

MoMA description page needs a note

I looked around for a while to see if MoMA was something I should run on my Windows machine before I try to port the program to Linux, or something I should run on my Linux machine.
In the end, I downloaded it and it looked like something I should run on Windows, so I tried that and it worked.
It would help users if you could add something to the Moma description page such as
Run Moma on your Windows machine.

Thanks for listening,
Jim

MonoMac documentation directs to expired domain: http://cocoa-mono.org/

Documentation of MonoMac (GitHub page) links direct to the domain http://cocoa-mono.org/ which expired on December 31, 2014.

image

This includes many of the links under the Tutorials sections:

Tutorials

GTK# 2.12.25 download link when 2.12.26 is available

The mono-project.com website offers GTK# 2.12.26 as a download whilst the monodevelop.com website offers GTK# 2.12.25.

The monodevelop website should have a download to GTK# 2.12.26 since that is the current version that Xamarin Studio installs with its universal installer.

mono-project.com: http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.26.msi
monodevelop.com: http://download.xamarin.com/GTKforWindows/Windows/gtk-sharp-2.12.25.msi

Evaluate references to old/archived pages

These pages are referenced in the new documentation structure, but I don't think they add enough value to justify migrating them. Most of them will likely stay archived, so we should see if we still need links to them in the new documentation.

(The main item is the archived page, the sub-item(s) are where the page is referenced from)

Need to mention installation of pkg-config

pkg-config is also needed when working via ./configure && make process, as opposed to the brew install method.

Otherwise one ends up with `/usr/local/share/aclocal/pkg.m4โ€™ missing.

(Reported on #mono IRC by @dwarfland)

Need an update for tlstest compilation in security FAQ?

The page https://github.com/mono/website/blob/gh-pages/docs/faq/security.md explains how to compile and use tlstest.exe. When I follow these instructions and run mcs tlstest.cs /r:System.dll /r:Mono.Security.dll I get following output:

mcs tlstest.cs /r:System.dll /r:Mono.Security.dll
tlstest.cs(169,23): warning CS0618: `System.Net.ServicePointManager.CertificatePolicy' is obsolete: `Use ServerCertificateValidationCallback instead'
tlstest.cs(172,23): error CS0117: `System.Net.ServicePointManager' does not contain a definition for `ClientCipherSuitesCallback'
/usr/lib/mono/4.5/System.dll (Location of the symbol related to previous error)
tlstest.cs(210,26): warning CS0618: `System.Net.Dns.Resolve(string)' is obsolete: `Use GetHostEntry instead'
Compilation failed: 1 error(s), 2 warnings

Is is possible that this FAQ session is outdated?

Ubuntu installation instructions don't work

Following the instructions for ubuntu installation yields a long list of 404 errors, so presumably the install instructions need to be updated after some files were moved? Here is an excerpt from the output of sudo apt-get install mono-complete (after adding the GPG signing key and adding the line to my sources)

...
After this operation, 126 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Err http://download.mono-project.com/repo/debian/ wheezy/main libmonoboehm-2.0-1 amd64 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-2.0-1 amd64 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmonoboehm-2.0-dev amd64 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-2.0-dev amd64 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-accessibility4.0-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-c5-1.1-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-cecil-private-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-posix4.0-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-system-core4.0-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-codecontracts4.0-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80] Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-cscompmgd0.0-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
Err http://download.mono-project.com/repo/debian/ wheezy/main libmono-csharp4.0c-cil all 4.0.3.20-0xamarin1
404 Not Found [IP: 54.192.15.90 80]
...

The package can also be downloaded directly using the following link:
http://packages.ubuntu.com/trusty/amd64/mono-complete/download
But I cannot install that package because Ubuntu Software Center says:
"Dependency is not satisfiable: mono-runtime (= 3.2.8+dfsg-4ubuntu1.1)"

The direct download link for mono-runtime (http://packages.ubuntu.com/trusty/amd64/mono-runtime/download) opens up in the software center only to tell me "A later version is already installed".

Cross Compiling Mono for Windows is Out of Date

The "Cross Compiling Mono for Windows" page is horribly out of date.
I would like to update it. Either with a new valid way of accomplishing that goal. Or with a notice that warns readers about it no longer being viable.
Does anyone have any thoughts or input on this?

Page
File

How current is MoMa?

Is the mono migration analyzer current with mono-4.4.0.182.tar.bz2 ? I need to use Microsoft's Open-XML-SDK on Linux, probably with mono. When I posted that MoMa reported 34 issues, one reply said that MoMa wasn't up to date when he checked.
dotnet/Open-XML-SDK#100

  • HowardRubin

Step 6: Adding Events, links broken

Hi,

just to let you know that the links under Step 6: Adding Events are broken unfortunately. Otherwise, very interesting information.

Thanks

Gilles Plante

Suggestion: use port 80 when keyserver.ubuntu.com does not work

Just a suggestion for the index.md page, since I cannot make the edit myself. Perhaps you could add the following text verbatim right after the first block of shell commands in the Debian, Ubuntu, and derivatives section:

Note: If the apt-key command simply stalls, that probably means the default hkp port is blocked. Try the following command instead, which specifies that Port 80 should be used:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

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.