Своё вы не напишите. Раз спрашиваете о таком вопросе.
Сверстать такую штуку, не сложно. Делов то, обычную сетку из блоков сделать в изи. Таблица подходит идеально для этого. Но привязать ко всему этому js вы не сможете(мне так кажется). У вас вылезет ну просто тьма вопросов, которыми вы заспамите тостер(например: переключение месяцев, вешание событий на нужную дату и прочее, работа с датами - очень геморойно для новичка). Для самообущения делайте, но разбирая чужие библиотеки. Если вам нужно решение уже для готового сайта, то воспользуйтесь готовой библиотекой. Гугл -> js calendar